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