mirror of https://github.com/sbt/sbt.git
Make offline installer optional
This commit is contained in:
parent
d3ca77a95d
commit
2fad446e67
|
|
@ -2,7 +2,7 @@ Steps to publish
|
|||
================
|
||||
|
||||
```
|
||||
$ sbt -Dsbt.build.version=1.0.0-M1
|
||||
$ sbt -Dsbt.build.version=1.0.0-M1 -Dsbt.build.offline=true
|
||||
> universal:publish
|
||||
> debian:publish
|
||||
> rpm:publish
|
||||
|
|
|
|||
18
build.sbt
18
build.sbt
|
|
@ -3,6 +3,12 @@ import _root_.bintray.InternalBintrayKeys._
|
|||
import _root_.bintray.{BintrayRepo, Bintray}
|
||||
import NativePackagerHelper._
|
||||
|
||||
lazy val sbtOfflineInstall =
|
||||
sys.props.getOrElse("sbt.build.offline", sys.env.getOrElse("sbt.build.offline", "false")) match {
|
||||
case "true" => true
|
||||
case "1" => true
|
||||
case _ => false
|
||||
}
|
||||
lazy val sbtVersionToRelease = sys.props.getOrElse("sbt.build.version", sys.env.getOrElse("sbt.build.version", {
|
||||
sys.error("-Dsbt.build.version must be set")
|
||||
}))
|
||||
|
|
@ -119,10 +125,14 @@ val root = (project in file(".")).
|
|||
val rtExportJar = (packageBin in Compile in java9rtexport).value
|
||||
Seq(launchJar -> "bin/sbt-launch.jar", rtExportJar -> "bin/java9-rt-export.jar")
|
||||
},
|
||||
mappings in Universal ++= {
|
||||
val _ = (exportRepo in dist).value
|
||||
directory((target in dist).value / "lib")
|
||||
},
|
||||
mappings in Universal ++= (Def.taskDyn {
|
||||
if (sbtOfflineInstall)
|
||||
Def.task {
|
||||
val _ = (exportRepo in dist).value
|
||||
directory((target in dist).value / "lib")
|
||||
}
|
||||
else Def.task { Seq[(File, String)]() }
|
||||
}).value,
|
||||
stage in Universal := {
|
||||
val old = (stage in Universal).value
|
||||
val sd = (stagingDirectory in Universal).value
|
||||
|
|
|
|||
|
|
@ -159,9 +159,12 @@ process_args () {
|
|||
|
||||
syncPreloaded() {
|
||||
[[ -f "$HOME/.sbt/preloaded/org.scala-sbt/sbt/$init_sbt_version/jars/sbt.jar" ]] || {
|
||||
command -v rsync >/dev/null 2>&1 && {
|
||||
mkdir -p "$HOME/.sbt/preloaded"
|
||||
rsync -a --ignore-existing "$sbt_home/lib/local-preloaded/" "$HOME/.sbt/preloaded"
|
||||
# lib/local-preloaded exists (This is optional)
|
||||
[[ -f "$sbt_home/lib/local-preloaded/" ]] && {
|
||||
command -v rsync >/dev/null 2>&1 && {
|
||||
mkdir -p "$HOME/.sbt/preloaded"
|
||||
rsync -a --ignore-existing "$sbt_home/lib/local-preloaded/" "$HOME/.sbt/preloaded"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -149,8 +149,10 @@ if /I "%JAVA_VERSION%" GEQ "8" (
|
|||
if %ERRORLEVEL% equ 0 (
|
||||
echo %PRELOAD_SBT_JAR%
|
||||
if not exist %PRELOAD_SBT_JAR% (
|
||||
echo 'about to robocopy'
|
||||
robocopy "%SBT_HOME%\..\lib\local-preloaded\" "%UserProfile%\.sbt\preloaded"
|
||||
if exist "%SBT_HOME%\..\lib\local-preloaded\" (
|
||||
echo 'about to robocopy'
|
||||
robocopy "%SBT_HOME%\..\lib\local-preloaded\" "%UserProfile%\.sbt\preloaded"
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
|
|
|||
Loading…
Reference in New Issue