mirror of https://github.com/sbt/sbt.git
Mark artifacts as optional if missingOk is true
This commit is contained in:
parent
55a0e79239
commit
aefefb4634
|
|
@ -178,6 +178,7 @@ class CoursierDependencyResolution(conf: CoursierConfiguration) extends Dependen
|
||||||
cache = cache0,
|
cache = cache0,
|
||||||
parallel = conf.parallelDownloads,
|
parallel = conf.parallelDownloads,
|
||||||
classpathOrder = conf.classpathOrder,
|
classpathOrder = conf.classpathOrder,
|
||||||
|
missingOk = conf.missingOk
|
||||||
)
|
)
|
||||||
|
|
||||||
val sbtBootJarOverrides = SbtBootJars(
|
val sbtBootJarOverrides = SbtBootJars(
|
||||||
|
|
@ -208,6 +209,7 @@ class CoursierDependencyResolution(conf: CoursierConfiguration) extends Dependen
|
||||||
includeSignatures = false,
|
includeSignatures = false,
|
||||||
sbtBootJarOverrides = sbtBootJarOverrides,
|
sbtBootJarOverrides = sbtBootJarOverrides,
|
||||||
classpathOrder = conf.classpathOrder,
|
classpathOrder = conf.classpathOrder,
|
||||||
|
missingOk = conf.missingOk
|
||||||
)
|
)
|
||||||
|
|
||||||
val e = for {
|
val e = for {
|
||||||
|
|
|
||||||
|
|
@ -15,4 +15,5 @@ final case class ArtifactsParams(
|
||||||
cache: FileCache[Task],
|
cache: FileCache[Task],
|
||||||
parallel: Int,
|
parallel: Int,
|
||||||
classpathOrder: Boolean,
|
classpathOrder: Boolean,
|
||||||
|
missingOk: Boolean
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -51,6 +51,15 @@ object ArtifactsRun {
|
||||||
else
|
else
|
||||||
Nil
|
Nil
|
||||||
}
|
}
|
||||||
|
.addTransformArtifacts { artifacts =>
|
||||||
|
if (params.missingOk)
|
||||||
|
artifacts.map {
|
||||||
|
case (dependency, publication, artifact) =>
|
||||||
|
(dependency, publication, artifact.withOptional(true))
|
||||||
|
}
|
||||||
|
else
|
||||||
|
artifacts
|
||||||
|
}
|
||||||
.withCache(
|
.withCache(
|
||||||
params
|
params
|
||||||
.cache
|
.cache
|
||||||
|
|
|
||||||
|
|
@ -62,7 +62,7 @@ final case class ResolutionParams(
|
||||||
cache = cleanCache
|
cache = cleanCache
|
||||||
),
|
),
|
||||||
cleanCache,
|
cleanCache,
|
||||||
sbtClassifiers
|
missingOk
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -142,6 +142,7 @@ private[internal] object SbtUpdateReport {
|
||||||
keepPomArtifact: Boolean = false,
|
keepPomArtifact: Boolean = false,
|
||||||
includeSignatures: Boolean = false,
|
includeSignatures: Boolean = false,
|
||||||
classpathOrder: Boolean,
|
classpathOrder: Boolean,
|
||||||
|
missingOk: Boolean
|
||||||
): Vector[ModuleReport] = {
|
): Vector[ModuleReport] = {
|
||||||
|
|
||||||
val deps = classifiersOpt match {
|
val deps = classifiersOpt match {
|
||||||
|
|
@ -156,8 +157,9 @@ private[internal] object SbtUpdateReport {
|
||||||
deps.map {
|
deps.map {
|
||||||
case (d, p, a) =>
|
case (d, p, a) =>
|
||||||
val d0 = d.withAttributes(d.attributes.withClassifier(p.classifier))
|
val d0 = d.withAttributes(d.attributes.withClassifier(p.classifier))
|
||||||
val f = map.get((d0, p, a)).flatten
|
val a0 = if (missingOk) a.withOptional(true) else a
|
||||||
(d, p, a, f) // not d0
|
val f = map.get((d0, p, a0)).flatten
|
||||||
|
(d, p, a0, f) // not d0
|
||||||
}
|
}
|
||||||
case None =>
|
case None =>
|
||||||
deps.map {
|
deps.map {
|
||||||
|
|
@ -301,6 +303,7 @@ private[internal] object SbtUpdateReport {
|
||||||
keepPomArtifact: Boolean = false,
|
keepPomArtifact: Boolean = false,
|
||||||
includeSignatures: Boolean = false,
|
includeSignatures: Boolean = false,
|
||||||
classpathOrder: Boolean,
|
classpathOrder: Boolean,
|
||||||
|
missingOk: Boolean
|
||||||
): UpdateReport = {
|
): UpdateReport = {
|
||||||
|
|
||||||
val configReports = configs.map {
|
val configReports = configs.map {
|
||||||
|
|
@ -324,6 +327,7 @@ private[internal] object SbtUpdateReport {
|
||||||
keepPomArtifact = keepPomArtifact,
|
keepPomArtifact = keepPomArtifact,
|
||||||
includeSignatures = includeSignatures,
|
includeSignatures = includeSignatures,
|
||||||
classpathOrder = classpathOrder,
|
classpathOrder = classpathOrder,
|
||||||
|
missingOk = missingOk
|
||||||
)
|
)
|
||||||
|
|
||||||
val reports0 = subRes.rootDependencies match {
|
val reports0 = subRes.rootDependencies match {
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,7 @@ final case class UpdateParams(
|
||||||
includeSignatures: Boolean,
|
includeSignatures: Boolean,
|
||||||
sbtBootJarOverrides: Map[(Module, String), File],
|
sbtBootJarOverrides: Map[(Module, String), File],
|
||||||
classpathOrder: Boolean,
|
classpathOrder: Boolean,
|
||||||
|
missingOk: Boolean
|
||||||
) {
|
) {
|
||||||
|
|
||||||
def artifactFileOpt(
|
def artifactFileOpt(
|
||||||
|
|
@ -38,7 +39,11 @@ final case class UpdateParams(
|
||||||
else
|
else
|
||||||
None
|
None
|
||||||
|
|
||||||
fromBootJars.orElse(artifacts.get(artifact))
|
val artifact0 =
|
||||||
|
if (missingOk) artifact.withOptional(true)
|
||||||
|
else artifact
|
||||||
|
|
||||||
|
fromBootJars.orElse(artifacts.get(artifact0))
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -96,6 +96,7 @@ object UpdateRun {
|
||||||
log,
|
log,
|
||||||
includeSignatures = params.includeSignatures,
|
includeSignatures = params.includeSignatures,
|
||||||
classpathOrder = params.classpathOrder,
|
classpathOrder = params.classpathOrder,
|
||||||
|
missingOk = params.missingOk
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue