<headius>
So is this to avoid C exts being incompatible across Ruby builds or something?
<havenwood>
Yup. Currently chruby effectively uses RUBY_VERSION for determining if GEM_HOME can be re-used between versions. TruffleRuby would prefer RUBY_ENGINE_VERSION, so gems don't get re-used between version releases.
<headius>
It shouldn't matter much to us in any case...pure-Ruby gems are obviously fine to share and all our ext-based gems are shipped with jar files or hooked up to maven dependencies
<headius>
We don't make a lot of API changes in minor releases, and major releases will generally bump up RUBY_VERSION
<havenwood>
The only downside I can think is that JRuby folk would have to reinstall gems more often when they upgrade.
<havenwood>
(Since GEM_HOME would change more often.)
<headius>
yeah, there's practically never a reason to reinstall a gem on JRuby
<havenwood>
that's what I was wondering, if it'd be best for JRuby to keep GEM_HOME as long as RUBY_VERSION doesn't change
<headius>
enebo: you around still?
<havenwood>
for TruffleRuby it'd be best to change GEM_HOME every time RUBY_ENGINE_VERSION changes
<headius>
I suppose it might be unexpected if JRuby shares gems across installs?
<headius>
is this changing just for TR or MRI as well?
<havenwood>
it'd be for all Rubies
<headius>
I suppose for MRI, those versions are both the same
<headius>
Is this behavior configurable?
<havenwood>
RubyGems default is still --no-env-shebang, so practically gems need to be installed between version changes anyways, unless users change that default.
<headius>
It seems to me that we should behave the same as MRI
<havenwood>
No, it's not currently configurable.
<headius>
perhaps with a way to switch JRuby sharing on
<headius>
Or no config and see if anyone cares :-)
<havenwood>
So I guess RUBY_ENGINE_VERSION most closely mirrors current CRuby behavior.
<havenwood>
We considered using the ABI root for sharing when CRuby went to semantic versioning, but RubyGems default lack of env shebangs blocks that.
<havenwood>
It was happenstance that JRuby was effectively sharing gems between versions that share RUBY_VERSION.
<havenwood>
Now I'm wondering if RUBY_ENGINE_VERSION for JRuby might make a better default until we have real ABI support. That way no Rubies try to share gems for now.
<headius>
Ah I see
<headius>
We default env shebangs on
<havenwood>
Ahhh, that's why nobody has complained!
<headius>
Unless you install the native launcher, then we switch to default I believe
jeremyevans has joined #jruby
jeremyevans has quit [Read error: Connection reset by peer]