Skip to content
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

mvn clean package wipes out installed jruby launcher #1257

Closed
headius opened this Issue Nov 22, 2013 · 4 comments

Comments

Projects
None yet
2 participants
@headius
Copy link
Member

headius commented Nov 22, 2013

Back and forth we go?

Every time I switch from jruby-1_7 branch to master or vice-versa, I have to do a clean build. Unfortunately a clean build replaces the installed jruby launcher (native bin/jruby) with the bash script, while the bin stubs for gems still reference it via a long shebang. This causes those scripts not to work until I re-install jruby-launcher again.

Sigh.

@mkristian

This comment has been minimized.

Copy link
Member

mkristian commented Nov 22, 2013

well, there are two points

  • leave the jruby-launcher in place on mvn clean
  • fix the shebang of the bin stubs

I guess the first point is the better solution

@headius

This comment has been minimized.

Copy link
Member Author

headius commented Nov 22, 2013

Yeah, I understand this is one of the weirder aspects of JRuby. I propose the following:

  • Do not install any gems for a basic build. This will mean a new clone will be running off jruby.bash (copied to bin/jruby) but it avoids dist processes accidentally pulling in the binary.

Installing jruby-launcher alone from here is easy enough, and I believe rvm already does it.

  • Move the jruby-launcher install into the "bootstrap" profile under test, so it installs with the other gems.

This makes it a one-shot deal to bootstrap into a good dev/test environment.

  • Do whatever necessary to get bin/jruby pointing at jruby.bash by default, but don't replace a native launcher if installed.

I'm not sure whether this should be done during the build (copy/link bin/jruby.bash to bin/jruby) or whether we should just always have a bin/jruby present. The issue with the latter is that github will see changes to the file, but .gitignore would avoid that.

/cc @enebo

@mkristian

This comment has been minimized.

Copy link
Member

mkristian commented Nov 23, 2013

I did fix the jruby-dist by telling the archiver to copy bin/jruby.bash to bin/jruby - so that part is now independent of what we do with $JRUBY_HOME/bin/jruby

the jruby-launcher I moved into the bootstrap profile - let's see who complains about that

the creation of bin/jruby is only happening when the file is missing and I could not find any clean tasks which would remove it.

but I do like the github + .gitignore idea since it would relief the build a bit which is unix only tasks anyways.

@mkristian

This comment has been minimized.

Copy link
Member

mkristian commented Nov 28, 2013

003c10a

finally fixes this as well.

@mkristian mkristian closed this Nov 28, 2013

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.