Define 'type' for builtin artifacts based on classifier

This commit is contained in:
Mark Harrah 2011-06-12 21:32:52 -04:00
parent cadee45e8f
commit 9f5d219310
2 changed files with 6 additions and 2 deletions

View File

@ -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

View File

@ -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)