Merge pull request #264 from alexarchambault/topic/better-intransitive

Better --intransitive option from the command-line tools
This commit is contained in:
Alexandre Archambault 2016-05-30 10:27:26 +02:00
commit 4b2651be3f
2 changed files with 25 additions and 5 deletions

View File

@ -143,12 +143,20 @@ class Helper(
}
val (modVerCfgErrors, moduleVersionConfigs) = Parse.moduleVersionConfigs(rawDependencies)
val (modVerCfgErrors, moduleVersionConfigs) =
Parse.moduleVersionConfigs(rawDependencies)
val (intransitiveModVerCfgErrors, intransitiveModuleVersionConfigs) =
Parse.moduleVersionConfigs(intransitive)
prematureExitIf(modVerCfgErrors.nonEmpty) {
s"Cannot parse dependencies:\n" + modVerCfgErrors.map(" "+_).mkString("\n")
}
prematureExitIf(intransitiveModVerCfgErrors.nonEmpty) {
s"Cannot parse intransitive dependencies:\n" +
intransitiveModVerCfgErrors.map(" "+_).mkString("\n")
}
val (forceVersionErrors, forceVersions0) = Parse.moduleVersions(forceVersion)
@ -217,17 +225,29 @@ class Helper(
(mod.organization, mod.name)
}.toSet
val dependencies = moduleVersionConfigs.map {
val baseDependencies = moduleVersionConfigs.map {
case (module, version, configOpt) =>
Dependency(
module,
version,
configuration = configOpt.getOrElse(defaultConfiguration),
exclusions = excludes
)
}
val intransitiveDependencies = intransitiveModuleVersionConfigs.map {
case (module, version, configOpt) =>
Dependency(
module,
version,
configuration = configOpt.getOrElse(defaultConfiguration),
exclusions = excludes,
transitive = !intransitive
transitive = false
)
}
val dependencies = baseDependencies ++ intransitiveDependencies
val checksums = {
val splitChecksumArgs = checksum.flatMap(_.split(',')).filter(_.nonEmpty)
if (splitChecksumArgs.isEmpty)

View File

@ -44,8 +44,8 @@ case class CommonOptions(
@Value("organization:name")
@Short("E")
exclude: List[String],
@Help("Consider provided dependencies to be intransitive. Applies to all the provided dependencies.")
intransitive: Boolean,
@Help("Add intransitive dependencies")
intransitive: List[String],
@Help("Classifiers that should be fetched")
@Value("classifier1,classifier2,...")
@Short("C")