mirror of https://github.com/sbt/sbt.git
update-classifiers fixes: mark modules intransitive and don't exclude sources/docs for scala jars
This commit is contained in:
parent
d25103ff9f
commit
59a7432cf8
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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)) }
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue