mirror of https://github.com/sbt/sbt.git
mixing urls and jars in bootstrap (#742)
This commit is contained in:
parent
70fa5f13cb
commit
2d5f7c3eb4
|
|
@ -119,32 +119,20 @@ final case class Bootstrap(
|
|||
}
|
||||
|
||||
val (urls, files) =
|
||||
if (options.standalone)
|
||||
(
|
||||
Seq.empty[String],
|
||||
helper.fetch(
|
||||
sources = false,
|
||||
javadoc = false,
|
||||
artifactTypes = artifactOptions.artifactTypes(sources = false, javadoc = false)
|
||||
)
|
||||
)
|
||||
else
|
||||
(
|
||||
helper.artifacts(
|
||||
sources = false,
|
||||
javadoc = false,
|
||||
artifactTypes = artifactOptions.artifactTypes(sources = false, javadoc = false)
|
||||
).map(_.url),
|
||||
Seq.empty[File]
|
||||
)
|
||||
helper.fetchMap(
|
||||
sources = false,
|
||||
javadoc = false,
|
||||
artifactTypes = artifactOptions.artifactTypes(sources = false, javadoc = false)
|
||||
).toList.foldLeft((List.empty[String], List.empty[File])){
|
||||
case ((urls, files), (url, file)) =>
|
||||
if (options.standalone) (urls, file :: files)
|
||||
else if (url.startsWith("file:/")) (urls, file :: files)
|
||||
else (url :: urls, files)
|
||||
}
|
||||
|
||||
val isolatedUrls = isolatedArtifactFiles.map { case (k, (v, _)) => k -> v }
|
||||
val isolatedFiles = isolatedArtifactFiles.map { case (k, (_, v)) => k -> v }
|
||||
|
||||
val nonHttpUrls = urls.filter(s => !s.startsWith("http://") && !s.startsWith("https://"))
|
||||
if (nonHttpUrls.nonEmpty)
|
||||
Console.err.println(s"Warning: non HTTP URLs:\n${nonHttpUrls.mkString("\n")}")
|
||||
|
||||
val buffer = new ByteArrayOutputStream
|
||||
|
||||
val bootstrapZip = new ZipInputStream(new ByteArrayInputStream(bootstrapJar))
|
||||
|
|
|
|||
|
|
@ -657,12 +657,12 @@ class Helper(
|
|||
}
|
||||
}
|
||||
|
||||
def fetch(
|
||||
def fetchMap(
|
||||
sources: Boolean,
|
||||
javadoc: Boolean,
|
||||
artifactTypes: Set[String],
|
||||
subset: Set[Dependency] = null
|
||||
): Seq[File] = {
|
||||
): Map[String, File] = {
|
||||
|
||||
val artifacts0 = artifacts(sources, javadoc, artifactTypes, subset).map { artifact =>
|
||||
artifact.copy(attributes = Attributes())
|
||||
|
|
@ -721,8 +721,6 @@ class Helper(
|
|||
(artifact.url, f)
|
||||
}.toMap
|
||||
|
||||
val files0 = artifactToFile.values.toSeq
|
||||
|
||||
logger.foreach(_.stop())
|
||||
|
||||
if (verbosityLevel >= 2)
|
||||
|
|
@ -777,7 +775,16 @@ class Helper(
|
|||
pw.write(jsonStr)
|
||||
pw.close()
|
||||
}
|
||||
files0
|
||||
artifactToFile
|
||||
}
|
||||
|
||||
def fetch(
|
||||
sources: Boolean,
|
||||
javadoc: Boolean,
|
||||
artifactTypes: Set[String],
|
||||
subset: Set[Dependency] = null
|
||||
): Seq[File] = {
|
||||
fetchMap(sources,javadoc,artifactTypes,subset).values.toSeq
|
||||
}
|
||||
|
||||
def contextLoader = Thread.currentThread().getContextClassLoader
|
||||
|
|
|
|||
Loading…
Reference in New Issue