-
Notifications
You must be signed in to change notification settings - Fork 3.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Some fixes for the sbt build on Windows #4913
Conversation
The generated scripts for "quick" are not portable anyway (neither in the sbt build nor in the ant build) because they contain absolute paths. When using the sh versions on Windows in MSYS or Cygwin, the classpath must be in Windows format because "java" expects it that way. Note that none of this applies to "pack" (and thus to distribution builds) where the classpath is constructed dynamically by the launcher scripts itself.
@szeiger i just tried with a fresh install of cygwin, jdk 1.8.0_71-b15, with the following result:
|
not sure why the named argument works in some cases.. |
Hm, using named args with a Java library probably wasn't a good idea. AFAIR argument names are not in the bytecode (and the Java guys probably don't care about compatibility and will change them freely, too). I'll change it to use the uglier call syntax without named args. |
I'm just surprised it worked on our jenkins build.. |
would be good if we could reproduce this and log ticket. related to #4735 |
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.
898a2f3
to
bdd3abc
Compare
Now the old version fails on my Windows machine, too, without any changes to the Java or sbt installation. |
Oh, and the Jenkins build succeeded because #4884 hasn't been merged yet, so the sbt build is not tested on Jenkins. |
now for
|
@lrytz You need to run |
ok, that succeeded. then:
|
here's the file: https://gist.github.com/lrytz/d28f793b3338b948e352 |
@lrytz What does There are no changes in this regard by this PR. I'd expect the same behavior with or without it. We should make the EOL handling in |
We now normalize EOLs in `ScalaTool` to LF when reading the templates, and write them as CRLF or LF depending on the target platform. This allows the script templates to be stored locally with either LF or CRLF line endings (which can both happen, depending on the platform and git configuration).
ok, i set
|
updated file in the gist: https://gist.github.com/lrytz/d28f793b3338b948e352 |
I've added another commit to make the EOL handling more resilient (in the sbt build; the ant build still depends on the correct format). @lrytz, this looks like a problem with Cygwin's path handling. Can you prefix line 23 of the generated script with |
Actually, it looks like the script was generated without this PR applied. Either that, or there's a problem with OS detection in
|
aah, sorry, i forgot to apply the PR after the second checkout.. |
ok, everything worked fine now, played a bit with |
i guess the "integrate-ide" failure is spurious (@SethTisue ?) |
LGTM! i tried again without setting |
yes, we may have a new problem with integrate-ide failing intermittently; I opened scala/scala-dev#76 on it |
Some fixes for the sbt build on Windows
I'm using MSYS on all my Windows machines. Do we have a Cygwin user who could review / test this?