Make offline installer optional

This commit is contained in:
Eugene Yokota 2017-04-07 00:56:55 -04:00
parent d3ca77a95d
commit 2fad446e67
4 changed files with 25 additions and 10 deletions

View File

@ -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

View File

@ -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

View File

@ -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"
}
}
}
}

View File

@ -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"
)
)
)
)