summaryrefslogtreecommitdiff
path: root/main
diff options
context:
space:
mode:
authorRobby <robby@santoslab.org>2018-03-16 05:09:36 -0500
committerGitHub <noreply@github.com>2018-03-16 05:09:36 -0500
commit712f331d24d0934cd9c653a12be7e47e1fff1f5d (patch)
tree655df4d38c06ce8af2fc7acbfa4ef4b6c47be059 /main
parent6c0276eb0846158c3a08ba3d05419f690c28376d (diff)
downloadmill-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.scala26
-rw-r--r--main/test/src/mill/eval/JavaCompileJarTests.scala2
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)