diff --git a/build.sbt b/build.sbt index 267ebf00a..a7d801219 100644 --- a/build.sbt +++ b/build.sbt @@ -172,8 +172,23 @@ val root = (project in file(".")). mappings in Universal := { val t = (target in Universal).value val prev = (mappings in Universal).value - val BinBat = "bin" + java.io.File.separator + "sbt.bat" + val BinSbt = "bin" + java.io.File.separator + "sbt" + val BinBat = BinSbt + ".bat" prev.toList map { + case (k, BinSbt) => + import java.nio.file.{Files, FileSystems} + + val x = IO.read(k) + IO.write(t / "sbt", x.replaceAllLiterally( + "declare init_sbt_version=_to_be_replaced", + s"""declare init_sbt_version=$sbtVersionToRelease""")) + + if (FileSystems.getDefault.supportedFileAttributeViews.contains("posix")) { + val perms = Files.getPosixFilePermissions(k.toPath) + Files.setPosixFilePermissions(t / "sbt" toPath, perms) + } + + (t / "sbt", BinSbt) case (k, BinBat) => val x = IO.read(k) IO.write(t / "sbt.bat", x.replaceAllLiterally(