From 59a7432cf8359cd315036886ae95b72cbfb2d51a Mon Sep 17 00:00:00 2001 From: Mark Harrah Date: Wed, 2 May 2012 19:56:35 -0400 Subject: [PATCH] update-classifiers fixes: mark modules intransitive and don't exclude sources/docs for scala jars --- ivy/Ivy.scala | 2 +- ivy/IvyActions.scala | 2 +- ivy/IvyScala.scala | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ivy/Ivy.scala b/ivy/Ivy.scala index dba07c443..6afd2c963 100644 --- a/ivy/Ivy.scala +++ b/ivy/Ivy.scala @@ -447,7 +447,7 @@ private object IvySbt { for(conf <- dependencyDescriptor.getModuleConfigurations) { - dependencyDescriptor.addExcludeRule(conf, IvyScala.excludeRule(excls.organization, excls.name, excls.configurations)) + dependencyDescriptor.addExcludeRule(conf, IvyScala.excludeRule(excls.organization, excls.name, excls.configurations, "*")) } } moduleID.addDependency(dependencyDescriptor) diff --git a/ivy/IvyActions.scala b/ivy/IvyActions.scala index 059d48997..902b84d95 100644 --- a/ivy/IvyActions.scala +++ b/ivy/IvyActions.scala @@ -184,7 +184,7 @@ object IvyActions { val excluded = exclude getOrElse(restrictedCopy(m, false), Set.empty) val included = classifiers filterNot excluded - if(included.isEmpty) None else Some(m.copy(explicitArtifacts = classifiedArtifacts(m.name, included) )) + if(included.isEmpty) None else Some(m.copy(isTransitive = false, explicitArtifacts = classifiedArtifacts(m.name, included) )) } def addExcluded(report: UpdateReport, classifiers: Seq[String], exclude: Map[ModuleID, Set[String]]): UpdateReport = report.addMissing { id => classifiedArtifacts(id.name, classifiers filter getExcluded(id, exclude)) } diff --git a/ivy/IvyScala.scala b/ivy/IvyScala.scala index 171f5488e..0310a62ba 100644 --- a/ivy/IvyScala.scala +++ b/ivy/IvyScala.scala @@ -87,15 +87,15 @@ private object IvyScala } } def excludeScalaJar(name: String): Unit = - module.addExcludeRule(excludeRule(Organization, name, configurationNames)) + module.addExcludeRule(excludeRule(Organization, name, configurationNames, "jar")) excludeScalaJar(LibraryID) excludeScalaJar(CompilerID) } /** Creates an ExcludeRule that excludes artifacts with the given module organization and name for * the given configurations. */ - private[sbt] def excludeRule(organization: String, name: String, configurationNames: Iterable[String]): ExcludeRule = + private[sbt] def excludeRule(organization: String, name: String, configurationNames: Iterable[String], excludeTypePattern: String): ExcludeRule = { - val artifact = new ArtifactId(ModuleId.newInstance(organization, name), "*", "*", "*") + val artifact = new ArtifactId(ModuleId.newInstance(organization, name), "*", excludeTypePattern, "*") val rule = new DefaultExcludeRule(artifact, ExactPatternMatcher.INSTANCE, emptyMap[AnyRef,AnyRef]) configurationNames.foreach(rule.addConfiguration) rule