From 364e469947d0c4977173a1f613c336884b3f8f5c Mon Sep 17 00:00:00 2001 From: Mark Harrah Date: Fri, 8 Mar 2013 20:11:53 -0500 Subject: [PATCH] Publish test artifacts in Test configuration and corrects classifier to 'tests'. Fixes #683 --- ivy/src/main/scala/sbt/Artifact.scala | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/ivy/src/main/scala/sbt/Artifact.scala b/ivy/src/main/scala/sbt/Artifact.scala index 987a1f8ca..5bd17ef0d 100644 --- a/ivy/src/main/scala/sbt/Artifact.scala +++ b/ivy/src/main/scala/sbt/Artifact.scala @@ -11,7 +11,7 @@ final case class Artifact(name: String, `type`: String, extension: String, class def extra(attributes: (String,String)*) = Artifact(name, `type`, extension, classifier, configurations, url, extraAttributes ++ ModuleID.checkE(attributes)) } - import Configurations.{config, Docs, Optional, Pom, Sources} + import Configurations.{config, Docs, Optional, Pom, Sources, Test} object Artifact { @@ -36,6 +36,7 @@ object Artifact val DocType = "doc" val SourceType = "src" val PomType = "pom" + val TestsClassifier = "tests" def extract(url: URL, default: String): String = extract(url.toString, default) def extract(name: String, default: String): String = @@ -64,8 +65,12 @@ object Artifact val classifierConfMap = Map(SourceClassifier -> Sources, DocClassifier -> Docs) val classifierTypeMap = Map(SourceClassifier -> SourceType, DocClassifier -> DocType) - def classifierConf(classifier: String): Configuration = classifierConfMap.getOrElse(classifier, Optional) - def classifierType(classifier: String): String = classifierTypeMap.getOrElse(classifier.stripPrefix("test-"), DefaultType) + def classifierConf(classifier: String): Configuration = + if(classifier.startsWith(TestsClassifier)) + Test + else + classifierConfMap.getOrElse(classifier, Optional) + def classifierType(classifier: String): String = classifierTypeMap.getOrElse(classifier.stripPrefix(TestsClassifier + "-"), DefaultType) def classified(name: String, classifier: String): Artifact = Artifact(name, classifierType(classifier), DefaultExtension, Some(classifier), classifierConf(classifier) :: Nil, None) }