From 960af4244a421cc3f543e37ce5d038479fd5702c Mon Sep 17 00:00:00 2001 From: Mark Harrah Date: Wed, 16 Jan 2013 10:26:33 -0500 Subject: [PATCH] Only include standard scopes in pom.xml. --- ivy/src/main/scala/sbt/MakePom.scala | 16 +++++----------- .../pom-scope/project/PomTest.scala | 2 +- 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/ivy/src/main/scala/sbt/MakePom.scala b/ivy/src/main/scala/sbt/MakePom.scala index c92de2aa0..2421c68c4 100644 --- a/ivy/src/main/scala/sbt/MakePom.scala +++ b/ivy/src/main/scala/sbt/MakePom.scala @@ -160,8 +160,10 @@ class MakePom(val log: Logger) def makeDependencyElem(dependency: DependencyDescriptor, artifact: DependencyArtifactDescriptor): Elem = { - val artifactConfigs = artifact.getConfigurations - val configs = if(artifactConfigs.isEmpty) dependency.getModuleConfigurations else artifactConfigs + val configs = artifact.getConfigurations.toList match { + case Nil | "*" :: Nil => dependency.getModuleConfigurations + case x => x.toArray + } val (scope, optional) = getScopeAndOptional(configs) makeDependencyElem(dependency, scope, optional, artifactClassifier(artifact), artifactType(artifact)) } @@ -222,15 +224,7 @@ class MakePom(val log: Logger) { val (opt, notOptional) = confs.partition(_ == Optional.name) val defaultNotOptional = Configurations.defaultMavenConfigurations.find(notOptional contains _.name) - val scope = defaultNotOptional match - { - case Some(conf) => Some(conf.name) - case None => - if(notOptional.isEmpty || notOptional(0) == Configurations.Default.name) - None - else - Option(notOptional(0)) - } + val scope = defaultNotOptional.map(_.name) (scope, !opt.isEmpty) } diff --git a/sbt/src/sbt-test/dependency-management/pom-scope/project/PomTest.scala b/sbt/src/sbt-test/dependency-management/pom-scope/project/PomTest.scala index cfb3fc7f4..25e8b69fd 100644 --- a/sbt/src/sbt-test/dependency-management/pom-scope/project/PomTest.scala +++ b/sbt/src/sbt-test/dependency-management/pom-scope/project/PomTest.scala @@ -26,7 +26,7 @@ object PomTest extends Build ("b", Some("runtime"), true, None), ("c", None, true, None), ("d", Some("test"), false, None), - ("e", Some("custom"), false, None), + ("e", None, false, None), ("f", Some("runtime"), true, None), ("g", Some("runtime"), false, Some("foo")), ("h", Some("runtime"), true, Some("foo"))