From bdd3abc1b96e4d2e658fb4fdf2bb8fd09d686a70 Mon Sep 17 00:00:00 2001 From: Stefan Zeiger Date: Thu, 21 Jan 2016 18:00:08 +0100 Subject: Use portable Java APIs instead of calling chmod from sbt Instead of waiting for a Java-8-only build to use `Files.setPosixPermissions()` we can call `setExecutable` and `setReadable`, both of which are available on Java 6. --- build.sbt | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/build.sbt b/build.sbt index 6f82d78413..ad9d5c8866 100644 --- a/build.sbt +++ b/build.sbt @@ -767,9 +767,10 @@ lazy val mkBinImpl: Def.Initialize[Task[Seq[File]]] = Def.task { scalaTool.writeScript(file, "windows", rootDir, outDir) ) res.foreach { f => - //TODO 2.12: Use Files.setPosixFilePermissions() (Java 7+) instead of calling out to chmod - if(Process(List("chmod", "ugo+rx", f.getAbsolutePath())).! > 0) - throw new IOException("chmod failed") + if(!f.getAbsoluteFile.setExecutable(true, /* ownerOnly: */ false)) + throw new IOException("setExecutable failed") + if(!f.getAbsoluteFile.setReadable(true, /* ownerOnly: */ false)) + throw new IOException("setReadable failed") } res } -- cgit v1.2.3