'makePom' should not generate <type> elements for standard classifiers. Fixes #728.

The <type> element was generated for any explicit Artifact with a type other than "jar".
withSources() and withJavadoc() create explicit Artifacts of this kind, but shouldn't
have <type> elements.  They are primarily artifacts with classifiers- the type is an
Ivy aspect.  So, when writing to a pom, don't use write a type for known classifiers.
This commit is contained in:
Mark Harrah 2013-10-02 19:39:17 -04:00
parent 5755689a8c
commit e1cd7ebde0
1 changed files with 7 additions and 1 deletions

View File

@ -174,7 +174,13 @@ class MakePom(val log: Logger)
case x => x.toArray
}
val (scope, optional) = getScopeAndOptional(configs)
makeDependencyElem(dependency, scope, optional, artifactClassifier(artifact), artifactType(artifact))
val classifier = artifactClassifier(artifact)
val baseType = artifactType(artifact)
val tpe = (classifier, baseType) match {
case (Some(c), Some(tpe)) if Artifact.classifierType(c) == tpe => None
case _ => baseType
}
makeDependencyElem(dependency, scope, optional, classifier, tpe)
}
def makeDependencyElem(dependency: DependencyDescriptor, scope: Option[String], optional: Boolean, classifier: Option[String], tpe: Option[String]): Elem =
{