| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
The RubyGems we run at build time runs with JRuby 9.4, which causes it to use properties from that version for things like gem paths and extension directories. This is related to the extension disabling change in jruby#8415 and causes the build-time extension faking to use the wrong path. For example: .../gems/shared/extensions/universal-java-25/3.1.0 when it should be .../gems/shared/extensions/universal-java/3.4.0 The change here uses RubyGems' cross-compiling capability by forcing a specific rbconfig.rb to be use, and additionally fakes out the Ruby API version by setting @ruby_api_version on the Gem module. This was discovered while attempting to switch fully to the syslog gem in jruby#9109, since as a bundled gem it will not be activated unless we successfully fake-out the extension build. See also this bug related to the resolv gem installing extensions: * jruby#8649
Because of the issue described in an fixed by jruby#9197, the fake-out of the syslog extension build fails. Because it was being installed as a bundled gem rather than a default gem, and RubyGems will not activate a gem whose extension has not been built, this prevented syslog from being loadable. The change here moves it to a default gem for now, so that it can still be loaded from stdlib as well as being upgraded by users. These changes should be reverted once the gem platform fix has been merged.
Because of the issue described in an fixed by jruby#9197, the fake-out of the syslog extension build fails. Because it was being installed as a bundled gem rather than a default gem, and RubyGems will not activate a gem whose extension has not been built, this prevented syslog from being loadable. The change here moves it to a default gem for now, so that it can still be loaded from stdlib as well as being upgraded by users. These changes should be reverted once the gem platform fix has been merged.
|
I merged #9198 before this so that pulled in the changes here. |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
The RubyGems we run at build time runs with JRuby 9.4, which causes it to use properties from that version for things like gem paths and extension directories. This is related to the extension disabling change in #8415 and causes the build-time extension faking to use the wrong path. For example:
.../gems/shared/extensions/universal-java-25/3.1.0
when it should be
.../gems/shared/extensions/universal-java/3.4.0
The change here uses RubyGems' cross-compiling capability by forcing a specific rbconfig.rb to be use, and additionally fakes out the Ruby API version by setting @ruby_api_version on the Gem module.
This was discovered while attempting to switch fully to the syslog gem in #9109, since as a bundled gem it will not be activated unless we successfully fake-out the extension build.
See also this bug related to the resolv gem installing extensions: