mirror of https://github.com/sbt/sbt.git
Set default artifact type to jar from the CLI tools
Fixes https://github.com/alexarchambault/coursier/issues/302
This commit is contained in:
parent
efbcbbf860
commit
2283a34829
|
|
@ -75,10 +75,12 @@ case class Bootstrap(
|
|||
|
||||
val helper = new Helper(options.common, remainingArgs)
|
||||
|
||||
val isolatedDeps = options.isolated.isolatedDeps(options.common.defaultArtifactType)
|
||||
|
||||
val (_, isolatedArtifactFiles) =
|
||||
options.isolated.targets.foldLeft((Vector.empty[String], Map.empty[String, (Seq[String], Seq[File])])) {
|
||||
case ((done, acc), target) =>
|
||||
val subRes = helper.res.subset(options.isolated.isolatedDeps.getOrElse(target, Nil).toSet)
|
||||
val subRes = helper.res.subset(isolatedDeps.getOrElse(target, Nil).toSet)
|
||||
val subArtifacts = subRes.artifacts.map(_.url)
|
||||
|
||||
val filteredSubArtifacts = subArtifacts.diff(done)
|
||||
|
|
@ -86,7 +88,7 @@ case class Bootstrap(
|
|||
def subFiles0 = helper.fetch(
|
||||
sources = false,
|
||||
javadoc = false,
|
||||
subset = options.isolated.isolatedDeps.getOrElse(target, Seq.empty).toSet
|
||||
subset = isolatedDeps.getOrElse(target, Seq.empty).toSet
|
||||
)
|
||||
|
||||
val (subUrls, subFiles) =
|
||||
|
|
|
|||
|
|
@ -244,6 +244,7 @@ class Helper(
|
|||
Dependency(
|
||||
module,
|
||||
version,
|
||||
attributes = Attributes(defaultArtifactType, ""),
|
||||
configuration = configOpt.getOrElse(defaultConfiguration),
|
||||
exclusions = excludes
|
||||
)
|
||||
|
|
@ -254,6 +255,7 @@ class Helper(
|
|||
Dependency(
|
||||
module,
|
||||
version,
|
||||
attributes = Attributes(defaultArtifactType, ""),
|
||||
configuration = configOpt.getOrElse(defaultConfiguration),
|
||||
exclusions = excludes,
|
||||
transitive = false
|
||||
|
|
|
|||
|
|
@ -104,6 +104,9 @@ case class Launch(
|
|||
if (options.isolated.isolated.isEmpty)
|
||||
(parentLoader0, files0)
|
||||
else {
|
||||
|
||||
val isolatedDeps = options.isolated.isolatedDeps(options.common.defaultArtifactType)
|
||||
|
||||
val (isolatedLoader, filteredFiles0) = options.isolated.targets.foldLeft((parentLoader0, files0)) {
|
||||
case ((parent, files0), target) =>
|
||||
|
||||
|
|
@ -111,7 +114,7 @@ case class Launch(
|
|||
val isolatedFiles = helper.fetch(
|
||||
sources = false,
|
||||
javadoc = false,
|
||||
subset = options.isolated.isolatedDeps.getOrElse(target, Seq.empty).toSet
|
||||
subset = isolatedDeps.getOrElse(target, Seq.empty).toSet
|
||||
)
|
||||
|
||||
if (options.common.verbosityLevel >= 2) {
|
||||
|
|
|
|||
|
|
@ -58,6 +58,10 @@ case class CommonOptions(
|
|||
@Value("configuration")
|
||||
@Short("c")
|
||||
defaultConfiguration: String = "default(compile)",
|
||||
@Help("Default artifact type (make it empty to follow POM packaging - default: jar)")
|
||||
@Value("type")
|
||||
@Short("a")
|
||||
defaultArtifactType: String = "jar",
|
||||
@Help("Maximum number of parallel downloads (default: 6)")
|
||||
@Short("n")
|
||||
parallel: Int = 6,
|
||||
|
|
@ -145,13 +149,19 @@ case class IsolatedLoaderOptions(
|
|||
t -> modVers
|
||||
}
|
||||
|
||||
lazy val isolatedDeps = isolatedModuleVersions.map {
|
||||
case (t, l) =>
|
||||
t -> l.map {
|
||||
case (mod, ver) =>
|
||||
Dependency(mod, ver, configuration = "runtime")
|
||||
}
|
||||
}
|
||||
def isolatedDeps(defaultArtifactType: String) =
|
||||
isolatedModuleVersions.map {
|
||||
case (t, l) =>
|
||||
t -> l.map {
|
||||
case (mod, ver) =>
|
||||
Dependency(
|
||||
mod,
|
||||
ver,
|
||||
configuration = "runtime",
|
||||
attributes = Attributes(defaultArtifactType, "")
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ package object coursier {
|
|||
version: String,
|
||||
// Substituted by Resolver with its own default configuration (compile)
|
||||
configuration: String = "",
|
||||
attributes: Attributes = Attributes(),
|
||||
attributes: Attributes = Attributes("jar"),
|
||||
exclusions: Set[(String, String)] = Set.empty,
|
||||
optional: Boolean = false,
|
||||
transitive: Boolean = true
|
||||
|
|
|
|||
|
|
@ -104,7 +104,7 @@ object CentralTests extends TestSuite {
|
|||
)(
|
||||
f: Artifact => T
|
||||
): Future[T] = async {
|
||||
val dep = Dependency(module, version, transitive = false)
|
||||
val dep = Dependency(module, version, transitive = false, attributes = Attributes())
|
||||
val res = await(resolve(Set(dep), extraRepo = extraRepo))
|
||||
|
||||
res.artifacts match {
|
||||
|
|
|
|||
Loading…
Reference in New Issue