diff --git a/cli/src/main/scala-2.11/coursier/cli/Helper.scala b/cli/src/main/scala-2.11/coursier/cli/Helper.scala index baa6c5069..a1de3bde1 100644 --- a/cli/src/main/scala-2.11/coursier/cli/Helper.scala +++ b/cli/src/main/scala-2.11/coursier/cli/Helper.scala @@ -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) diff --git a/cli/src/main/scala-2.11/coursier/cli/Options.scala b/cli/src/main/scala-2.11/coursier/cli/Options.scala index e790ad1c6..e51e077cf 100644 --- a/cli/src/main/scala-2.11/coursier/cli/Options.scala +++ b/cli/src/main/scala-2.11/coursier/cli/Options.scala @@ -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")