-
Notifications
You must be signed in to change notification settings - Fork 139
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
Curl install launcher in your repo #3532
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This doesn't work for all the people who will clone your repo in Windows. You're making it harder for them.
@sjrd I added the Windows "curl" now |
I think you misunderstood my comment. The problem is not that the instructions on Windows were missing. It's that if you are on Linux you will commit the executable for Linux, but then users on other systems won't be able to use your repo. This is bad practice, honestly. System-dependent things should be installed at the system level. Everything else can fit in a repo. |
@sjrd @joan38 While I don't have a strong opinion here, and I'm not sure if it is indeed a good or bad practice, it is most definitely a common one... It's exactly how Mill is recommended to be used (and indeed is in this very repository). I'd be okay to include this in the doc, regardless. @tgodzik @kasiaMarek thoughts? |
Yes, and it makes Mill builds typically unusable on Windows. |
We do have a |
If you actually have I said "typically" because most people don't actually do that. |
f6a3311
to
8435ef1
Compare
This PR only adds the commands for quickly setting up the launcher scripts. What people already do with cumbersome copy/past and chmod +x. @sjrd's concern is valid, that's why I pushed a version with the commands to also download the script of opposite platforms. |
I really don't think we should encourage this. It's a rat's nest — not just different OS, but also different CPU architectures for each OS. |
@SethTisue Only OS because the script takes care of the architectures |
Oh, I misunderstood what you meant by "executable", sorry. (If we are to give this advice, perhaps it would be better to say "launch script".) |
There was a time when tons of sbt-based projects had an sbt launch script in-repo, but I've always seen this as a relic of the Mark Harrah era when there was no standard launch script. Once sbt-extras died and Eugene committed to shipping a standard launch script, pretty much everybody stopped including it. The committed launch scripts had a terrible tendency to fall out of date, and Scala Steward doesn't know how to update them. Though I can see that the issue can be debated one way or the other, I'm firmly in the camp that thinks that committing these scripts is actually bad practice. Build tools (and semi-build-tools like Scala CLI) should be installed at the system level. If we want to document that some people feel differently, I wouldn't be strongly opposed, but as currently written, this PR presents it as standard practice. I think it is very much not standard practice at all. |
The sentence was in the Launcher section but I'm removing it since it's controversial. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
I agree with @sjrd w.r.t. problems on Windows. For anyone working from #!/bin/bash
exec "$0.bat" "$@" |
I was recording this video today and thought we could shorted further how long it takes for people to start with scala.
Also I think the section
Standalone launcher
should be beforeAdvanced Installation
, what do you think?Should we also rename
scala-cli
toscala
?