diff options
author | Robby <robby@santoslab.org> | 2018-03-16 05:09:36 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-03-16 05:09:36 -0500 |
commit | 712f331d24d0934cd9c653a12be7e47e1fff1f5d (patch) | |
tree | 655df4d38c06ce8af2fc7acbfa4ef4b6c47be059 /main | |
parent | 6c0276eb0846158c3a08ba3d05419f690c28376d (diff) | |
download | mill-712f331d24d0934cd9c653a12be7e47e1fff1f5d.tar.gz mill-712f331d24d0934cd9c653a12be7e47e1fff1f5d.tar.bz2 mill-712f331d24d0934cd9c653a12be7e47e1fff1f5d.zip |
Windows non-interactive (client/server) support, and fix assembly and posix file permission (#228)
* Added support for non-interactive (client/server) mode on Windows
* Fixed assembly URI path
* Skip setting posix file permission on Windows
Diffstat (limited to 'main')
-rw-r--r-- | main/src/mill/modules/Jvm.scala | 26 | ||||
-rw-r--r-- | main/test/src/mill/eval/JavaCompileJarTests.scala | 2 |
2 files changed, 16 insertions, 12 deletions
diff --git a/main/src/mill/modules/Jvm.scala b/main/src/mill/modules/Jvm.scala index dba3552d..291d4151 100644 --- a/main/src/mill/modules/Jvm.scala +++ b/main/src/mill/modules/Jvm.scala @@ -241,7 +241,7 @@ object Jvm { (implicit ctx: Ctx.Dest) = { val tmp = ctx.dest / "out-tmp.jar" - val baseUri = "jar:file:" + tmp + val baseUri = "jar:" + tmp.toIO.getCanonicalFile.toURI.toASCIIString val hm = new java.util.HashMap[String, String]() base match{ @@ -278,11 +278,13 @@ object Jvm { IO.stream(read.getInputStream(tmp), outputStream) outputStream.close() - val perms = Files.getPosixFilePermissions(output.toNIO) - perms.add(PosixFilePermission.GROUP_EXECUTE) - perms.add(PosixFilePermission.OWNER_EXECUTE) - perms.add(PosixFilePermission.OTHERS_EXECUTE) - Files.setPosixFilePermissions(output.toNIO, perms) + if (!scala.util.Properties.isWin) { + val perms = Files.getPosixFilePermissions(output.toNIO) + perms.add(PosixFilePermission.GROUP_EXECUTE) + perms.add(PosixFilePermission.OWNER_EXECUTE) + perms.add(PosixFilePermission.OTHERS_EXECUTE) + Files.setPosixFilePermissions(output.toNIO, perms) + } } PathRef(output) @@ -328,11 +330,13 @@ object Jvm { write(outputPath, launcherShellScript(mainClass, classPath.map(_.toString), jvmArgs)) - val perms = Files.getPosixFilePermissions(outputPath.toNIO) - perms.add(PosixFilePermission.GROUP_EXECUTE) - perms.add(PosixFilePermission.OWNER_EXECUTE) - perms.add(PosixFilePermission.OTHERS_EXECUTE) - Files.setPosixFilePermissions(outputPath.toNIO, perms) + if (!scala.util.Properties.isWin) { + val perms = Files.getPosixFilePermissions(outputPath.toNIO) + perms.add(PosixFilePermission.GROUP_EXECUTE) + perms.add(PosixFilePermission.OWNER_EXECUTE) + perms.add(PosixFilePermission.OTHERS_EXECUTE) + Files.setPosixFilePermissions(outputPath.toNIO, perms) + } PathRef(outputPath) } diff --git a/main/test/src/mill/eval/JavaCompileJarTests.scala b/main/test/src/mill/eval/JavaCompileJarTests.scala index 78cf09a5..1ac00c79 100644 --- a/main/test/src/mill/eval/JavaCompileJarTests.scala +++ b/main/test/src/mill/eval/JavaCompileJarTests.scala @@ -114,7 +114,7 @@ object JavaCompileJarTests extends TestSuite{ |test/FooTwo.class |hello.txt |""".stripMargin - assert(jarContents == expectedJarContents) + assert(jarContents.lines.toSeq == expectedJarContents.lines.toSeq) val executed = %%('java, "-cp", evaluator.outPath/'jar/'dest/"out.jar", "test.Foo")(evaluator.outPath).out.string assert(executed == (31337 + 271828) + System.lineSeparator) |