Closed deivid-rodriguez closed 3 years ago
oh man, this explains things - will need to look into why we need that temp replacement logic in the first place
Yeah, definitely better would be to understand why this is done if the first place. Although I guess syncing the files in the mean time doesn't hurt?
What's the status here?
Not sure, I rebased the PR while going through old PRs, but I'm not sure where it makes sense to merge this or not. I tried to repro the original source control changes I was getting but I don't recall how I was invoking rmvn
.
@deivid-rodriguez Do you think this is ready in its current form? I saw you have pinged it from a few issues.
Hi @headius. This PR includes the change that should fix things (c8454ee) and the rest of the changes should not leave the repo in a worse state than it is now I believe. But if you plan to merge it, let me cleanup commit history to not feel embarrassed about my commit messages 😆
@headius I cleaned it up. CI is not green but as I said, I think this is an improvement and seems to fix several issues.
@deivid-rodriguez Thank you! Hopefully we will have some cycles to get this project caught up and released soon.
Great, I think releasing a new version should fix a few issues specifically related to installing psych through bundler
.
I started looking into what it would take to release, and there's a deep rabbit hole of libraries that all need updates. Just updating JRuby here breaks the gem installation phase of the build, since the gem-maven-plugin uses newer RubyGems with "--no-rdoc" that is not supported.
I have sent an email to @mkristian about getting us educated on how all the pieces work and possibly taking over maintenance and releases so we can help share the load better.
I think @mkristian released gem-maven-plugin
2.0 very recently that includes https://github.com/torquebox/jruby-maven-plugins/pull/106, so I believe it should no longer use --no-rdoc
In any case, this is just a rubygem, right? It should be released normally like other gems?
I did try updating that in the ruby-maven build but still got the error. I may be doing something wrong, or it may not have been fixed completely?
This is a gem and does not get pushed to Maven, but building the native bits is done by Maven via the Ruby polyglot plugin and the gems needed for testing are installed via the gem plugins.
Ah, I see 👍.
I think the trick might be using Java 8? I'm using that and everything seems to be working for me. I recall the same kind of failures you're mentioning on Java 11, that's why I stick to java 8 for now.
Also, I don't understand what the native parts of this library are. It seems just a ruby wrapper on top of mvn
that also makes it to use certain plugins (the ones I bumped in this PR).
I opened https://github.com/takari/polyglot-maven/pull/236. I think once that's released and we bump our polyglot-ruby version here, that might do the trick.
Hi,
I just wanted to note that in the newly released JRuby 9.3.3.0, I still get an issue with ruby-maven when installing psych v4.0.3:
using maven for the first time results in maven
downloading all its default plugin and can take time.
as those plugins get cached on disk and further execution
of maven is much faster then the first time.
[DEPRECATED] `Bundler.with_clean_env` has been deprecated in favor of `Bundler.with_unbundled_env`. If you instead want the environment before bundler was originally loaded, use `Bundler.with_original_env` (called at /Users/andymaleh/.rvm/gems/jruby-9.3.3.0@glimmer-dsl-swt/gems/ruby-maven-3.3.12/lib/ruby_maven.rb:38)
Using warbler 2.0.5
unsupported Java version "17", defaulting to 1.7
[ERROR] Internal error: org.jruby.exceptions.RaiseException: (LoadError) library `java' could not be loaded: java.lang.reflect.InaccessibleObjectException: Unable to make protected native java.lang.Object java.lang.Object.clone() throws java.lang.CloneNotSupportedException accessible: module java.base does not "opens java.lang" to unnamed module @34819867 -> [Help 1]
org.apache.maven.InternalErrorException: Internal error: org.jruby.exceptions.RaiseException: (LoadError) library `java' could not be loaded: java.lang.reflect.InaccessibleObjectException: Unable to make protected native java.lang.Object java.lang.Object.clone() throws java.lang.CloneNotSupportedException accessible: module java.base does not "opens java.lang" to unnamed module @34819867
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:121)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.jruby.exceptions.RaiseException: (LoadError) library `java' could not be loaded: java.lang.reflect.InaccessibleObjectException: Unable to make protected native java.lang.Object java.lang.Object.clone() throws java.lang.CloneNotSupportedException accessible: module java.base does not "opens java.lang" to unnamed module @34819867
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/InternalErrorException
--- ERROR REPORT TEMPLATE -------------------------------------------------------
Errno::ENOENT: No such file or directory - /Users/andymaleh/.rvm/gems/jruby-9.3.3.0@glimmer-dsl-swt/gems/psych-4.0.3-java/deps.lst
org/jruby/RubyIO.java:1227:in `sysopen'
org/jruby/RubyIO.java:3986:in `read'
/Users/andymaleh/.rvm/rubies/jruby-9.3.3.0/lib/ruby/stdlib/jars/installer.rb:69:in `load_from_maven'
/Users/andymaleh/.rvm/rubies/jruby-9.3.3.0/lib/ruby/stdlib/jars/installer.rb:235:in `install_dependencies'
/Users/andymaleh/.rvm/rubies/jruby-9.3.3.0/lib/ruby/stdlib/jars/installer.rb:224:in `do_install'
/Users/andymaleh/.rvm/rubies/jruby-9.3.3.0/lib/ruby/stdlib/jars/installer.rb:170:in `vendor_jars'
/Users/andymaleh/.rvm/rubies/jruby-9.3.3.0/lib/ruby/stdlib/jars/post_install_hook.rb:28:in `block in <main>'
/Users/andymaleh/.rvm/rubies/jruby-9.3.3.0/lib/ruby/stdlib/rubygems/installer.rb:367:in `block in run_post_install_hooks'
org/jruby/RubyArray.java:1865:in `each'
/Users/andymaleh/.rvm/rubies/jruby-9.3.3.0/lib/ruby/stdlib/rubygems/installer.rb:366:in `run_post_install_hooks'
/Users/andymaleh/.rvm/gems/jruby-9.3.3.0@glimmer-dsl-swt/gems/bundler-2.3.5/lib/bundler/rubygems_gem_installer.rb:43:in `install'
/Users/andymaleh/.rvm/gems/jruby-9.3.3.0@glimmer-dsl-swt/gems/bundler-2.3.5/lib/bundler/source/rubygems.rb:204:in `install'
/Users/andymaleh/.rvm/gems/jruby-9.3.3.0@glimmer-dsl-swt/gems/bundler-2.3.5/lib/bundler/installer/gem_installer.rb:54:in `install'
/Users/andymaleh/.rvm/gems/jruby-9.3.3.0@glimmer-dsl-swt/gems/bundler-2.3.5/lib/bundler/installer/gem_installer.rb:16:in `install_from_spec'
/Users/andymaleh/.rvm/gems/jruby-9.3.3.0@glimmer-dsl-swt/gems/bundler-2.3.5/lib/bundler/installer/parallel_installer.rb:186:in `do_install'
/Users/andymaleh/.rvm/gems/jruby-9.3.3.0@glimmer-dsl-swt/gems/bundler-2.3.5/lib/bundler/installer/parallel_installer.rb:177:in `block in worker_pool'
/Users/andymaleh/.rvm/gems/jruby-9.3.3.0@glimmer-dsl-swt/gems/bundler-2.3.5/lib/bundler/worker.rb:62:in `apply_func'
/Users/andymaleh/.rvm/gems/jruby-9.3.3.0@glimmer-dsl-swt/gems/bundler-2.3.5/lib/bundler/worker.rb:57:in `block in process_queue'
org/jruby/RubyKernel.java:1507:in `loop'
/Users/andymaleh/.rvm/gems/jruby-9.3.3.0@glimmer-dsl-swt/gems/bundler-2.3.5/lib/bundler/worker.rb:54:in `process_queue'
/Users/andymaleh/.rvm/gems/jruby-9.3.3.0@glimmer-dsl-swt/gems/bundler-2.3.5/lib/bundler/worker.rb:91:in `block in create_threads'
## Environment
Bundler 2.3.5
Platforms ruby, universal-java-17
Ruby 2.6.8p0 (2022-01-19 revision 67951) [java]
Full Path /Users/andymaleh/.rvm/rubies/jruby-9.3.3.0/bin/jruby
Config Dir /Users/andymaleh/.rvm/rubies/jruby-9.3.3.0/etc
RubyGems 3.2.29
Gem Home /Users/andymaleh/.rvm/gems/jruby-9.3.3.0@glimmer-dsl-swt
Gem Path /Users/andymaleh/.rvm/gems/jruby-9.3.3.0@glimmer-dsl-swt:/Users/andymaleh/.rvm/rubies/jruby-9.3.3.0/lib/ruby/gems/shared
User Home /Users/andymaleh
User Path /Users/andymaleh/.gem/jruby/2.6.0
Bin Dir /Users/andymaleh/.rvm/gems/jruby-9.3.3.0@glimmer-dsl-swt/bin
OpenSSL
Compiled JRuby-OpenSSL 0.11.0
Loaded JRuby-OpenSSL 0.11.0
Cert File /Library/Java/JavaVirtualMachines/jdk-17.0.1.jdk/Contents/Home/lib/security/cacerts
Cert Dir /etc/ssl/certs
Tools
Git 2.24.3 (Apple Git-128)
RVM 1.29.12-next (master)
rbenv not installed
chruby not installed
rubygems-bundler (1.4.5)
## Bundler Build Metadata
Built At 2022-01-12
Git SHA a13d015fcb
Released Version true
## Gemfile
### Gemfile
source 'http://rubygems.org'
ruby '>= 2.6.0', :engine => 'jruby', engine_version: '>= 9.3.0.0'
# Glimmer project owner gems
gem 'glimmer', '~> 2.5.5'
gem 'super_module', '>= 1.4.1', '< 2.0.0'
gem 'nested_inherited_jruby_include_package', '>= 0.3.0', '< 2.0.0'
gem 'puts_debuggerer', '>= 0.13.0', '< 2.0.0', require: false
gem 'rake-tui', '>= 0.2.3', '< 2.0.0'
# 3rd party gems (flexible versions to support other user gems that may share dependencies)
gem 'concurrent-ruby', '>= 1.1.7', '< 2.0.0'
gem 'jruby-win32ole', '>= 0.8.5', '< 2.0.0'
gem 'os', '>= 1.0.0', '< 2.0.0'
gem 'rake', '>= 13.0.0'
gem 'text-table', '>= 1.2.4', '< 2.0.0'
gem 'rouge', '>= 3.26.0', '< 4.0.0'
group :development do
gem 'juwelier', '>= 2.4.9', '< 3.0.0'
gem 'warbler', '>= 2.0.5', '< 3.0.0'
gem 'rspec-mocks', '~> 3.0'
gem 'rspec', '~> 3.0'
gem 'coveralls', '= 0.8.23', require: false
gem 'simplecov', '~> 0.16.1', require: nil
gem 'simplecov-lcov', '~> 0.7.0', require: nil
end
### Gemfile.lock
GEM
remote: http://rubygems.org/
specs:
addressable (2.8.0)
public_suffix (>= 2.0.2, < 5.0)
array_include_methods (1.4.0)
awesome_print (1.9.2)
builder (3.2.4)
concurrent-ruby (1.1.9)
coveralls (0.8.23)
json (>= 1.8, < 3)
simplecov (~> 0.16.1)
term-ansicolor (~> 1.3)
thor (>= 0.19.4, < 2.0)
tins (~> 1.6)
descendants_tracker (0.0.4)
thread_safe (~> 0.3, >= 0.3.1)
diff-lcs (1.4.4)
docile (1.4.0)
facets (3.1.0)
faraday (1.8.0)
faraday-em_http (~> 1.0)
faraday-em_synchrony (~> 1.0)
faraday-excon (~> 1.1)
faraday-httpclient (~> 1.0.1)
faraday-net_http (~> 1.0)
faraday-net_http_persistent (~> 1.1)
faraday-patron (~> 1.0)
faraday-rack (~> 1.0)
multipart-post (>= 1.2, < 3)
ruby2_keywords (>= 0.0.4)
faraday-em_http (1.0.0)
faraday-em_synchrony (1.0.0)
faraday-excon (1.1.0)
faraday-httpclient (1.0.1)
faraday-net_http (1.0.1)
faraday-net_http_persistent (1.2.0)
faraday-patron (1.0.0)
faraday-rack (1.0.0)
git (1.9.1)
rchardet (~> 1.8)
github_api (0.19.0)
addressable (~> 2.4)
descendants_tracker (~> 0.0.4)
faraday (>= 0.8, < 2)
hashie (~> 3.5, >= 3.5.2)
oauth2 (~> 1.0)
glimmer (2.5.5)
array_include_methods (~> 1.4.0)
facets (>= 3.1.0, < 4.0.0)
hashie (3.6.0)
highline (2.0.3)
jar-dependencies (0.4.1)
jruby-jars (9.3.1.0)
jruby-rack (1.1.21)
jruby-win32ole (0.8.5)
json (2.6.1-java)
juwelier (2.4.9)
builder
bundler
git
github_api
highline
kamelcase (~> 0)
nokogiri
psych
rake
rdoc
semver2
jwt (2.3.0)
kamelcase (0.0.2)
semver2 (~> 3)
method_source (1.0.0)
multi_json (1.15.0)
multi_xml (0.6.0)
multipart-post (2.1.1)
nested_inherited_jruby_include_package (0.3.0)
nokogiri (1.12.5-java)
racc (~> 1.4)
oauth2 (1.4.7)
faraday (>= 0.8, < 2.0)
jwt (>= 1.0, < 3.0)
multi_json (~> 1.3)
multi_xml (~> 0.5)
rack (>= 1.2, < 3)
os (1.1.4)
pastel (0.8.0)
tty-color (~> 0.5)
psych (3.3.2-java)
jar-dependencies (>= 0.1.7)
public_suffix (4.0.6)
puts_debuggerer (0.13.1)
awesome_print (~> 1.9.2)
racc (1.6.0-java)
rack (2.2.3)
rake (13.0.6)
rake-tui (0.2.3)
tty-prompt
rchardet (1.8.0)
rdoc (6.3.3)
rouge (3.26.1)
rspec (3.10.0)
rspec-core (~> 3.10.0)
rspec-expectations (~> 3.10.0)
rspec-mocks (~> 3.10.0)
rspec-core (3.10.1)
rspec-support (~> 3.10.0)
rspec-expectations (3.10.1)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.10.0)
rspec-mocks (3.10.2)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.10.0)
rspec-support (3.10.3)
ruby2_keywords (0.0.5)
rubyzip (1.3.0)
semver2 (3.4.2)
simplecov (0.16.1)
docile (~> 1.1)
json (>= 1.8, < 3)
simplecov-html (~> 0.10.0)
simplecov-html (0.10.2)
simplecov-lcov (0.7.0)
super_module (1.4.1)
method_source (>= 0.8.2, < 1.1.0)
sync (0.5.0)
term-ansicolor (1.7.1)
tins (~> 1.0)
text-table (1.2.4)
thor (1.1.0)
thread_safe (0.3.6-java)
tins (1.29.1)
sync
tty-color (0.6.0)
tty-cursor (0.7.1)
tty-prompt (0.23.1)
pastel (~> 0.8)
tty-reader (~> 0.8)
tty-reader (0.9.0)
tty-cursor (~> 0.7)
tty-screen (~> 0.8)
wisper (~> 2.0)
tty-screen (0.8.1)
warbler (2.0.5)
jruby-jars (>= 9.0.0.0)
jruby-rack (>= 1.1.1, < 1.3)
rake (>= 10.1.0)
rubyzip (~> 1.0, < 1.4)
wisper (2.0.1)
PLATFORMS
universal-java-1.8
universal-java-16
universal-java-17
DEPENDENCIES
concurrent-ruby (>= 1.1.7, < 2.0.0)
coveralls (= 0.8.23)
glimmer (~> 2.5.5)
jruby-win32ole (>= 0.8.5, < 2.0.0)
juwelier (>= 2.4.9, < 3.0.0)
nested_inherited_jruby_include_package (>= 0.3.0, < 2.0.0)
os (>= 1.0.0, < 2.0.0)
puts_debuggerer (>= 0.13.0, < 2.0.0)
rake (>= 13.0.0)
rake-tui (>= 0.2.3, < 2.0.0)
rouge (>= 3.26.0, < 4.0.0)
rspec (~> 3.0)
rspec-mocks (~> 3.0)
simplecov (~> 0.16.1)
simplecov-lcov (~> 0.7.0)
super_module (>= 1.4.1, < 2.0.0)
text-table (>= 1.2.4, < 2.0.0)
warbler (>= 2.0.5, < 3.0.0)
RUBY VERSION
ruby 2.6.8p0 (jruby 9.3.1.0)
BUNDLED WITH
2.3.5
--- TEMPLATE END ----------------------------------------------------------------
Unfortunately, an unexpected error occurred, and Bundler cannot continue.
First, try this link to see if there are any existing issue reports for this error:
https://github.com/rubygems/rubygems/search?q=No+such+file+or+directory+-+%2FUsers%2Fandymaleh%2F.rvm%2Fgems%2Fjruby-9.3.3.0%40glimmer-dsl-swt%2Fgems%2Fpsych-4.0.3-java%2Fdeps.lst&type=Issues
If there aren't any reports for this error yet, please fill in the new issue form located at https://github.com/rubygems/rubygems/issues/new?labels=Bundler&template=bundler-related-issue.md, and copy and paste the report template above in there.
I know that this Pull Request fixed the issue. Will there be a new release of ruby-maven soon?
This has finally been released in ruby-maven 3.3.13.
When running
rmvn
from https://github.com/jruby/jruby-openssl, I get source control changes where the.mvn/extensions.yml
file in that repository is overwritten with the.mvn/extensions.yml
file in this repo.This is because of this code:
https://github.com/jruby/ruby-maven/blob/2cab8ac4fae8d6bc242e4893c705dde91667f806/lib/ruby_maven.rb#L65-L72
In my understanding, that essentially changes the versions of extensions that get used by
mvn
.So even though I'm not totally sure how all this works, I think it would make sense to sync the files and bump the versions here too.