diff --git a/ivy/IvyInterface.scala b/ivy/IvyInterface.scala index 66a87d1b3..6d4ccacb9 100644 --- a/ivy/IvyInterface.scala +++ b/ivy/IvyInterface.scala @@ -389,7 +389,8 @@ object Artifact def cross(enable: Boolean, scalaVersion: String): String = if(enable) "_" + scalaVersion else "" val classifierTypeMap = Map("sources" -> "src", "javadoc" -> "doc") - def classified(name: String, classifier: String): Artifact = Artifact(name, classifierTypeMap.getOrElse(classifier, defaultType), defaultExtension, classifier) + def classifierType(classifier: String): String = classifierTypeMap.getOrElse(classifier, defaultType) + def classified(name: String, classifier: String): Artifact = Artifact(name, classifierType(classifier), defaultExtension, classifier) } final case class ModuleConfiguration(organization: String, name: String, revision: String, resolver: Resolver) object ModuleConfiguration diff --git a/main/Defaults.scala b/main/Defaults.scala index e1b1ccff0..f9fce0ccd 100644 --- a/main/Defaults.scala +++ b/main/Defaults.scala @@ -329,7 +329,10 @@ object Defaults extends BuildCommon artifact <<= (artifact, artifactClassifier, configuration) { (a,classifier,c) => val cPart = if(c == Compile) Nil else c.name :: Nil val combined = cPart ++ classifier.toList - a.copy(classifier = if(combined.isEmpty) None else Some(combined mkString "-")) + if(combined.isEmpty) a.copy(classifier = None) else { + val classifier = combined mkString "-" + a.copy(classifier = Some(classifier), `type` = Artifact.classifierType(classifier)) + } }, cacheDirectory <<= cacheDirectory / key.key.label, artifactPath <<= artifactPathSetting(artifact)