Begin deprecating jruby-complete and jruby-core#9512
Merged
Conversation
After jruby-dist, which is necessary to release JRuby for Ruby users, jruby-complete is by far the largest artifact published for JRuby, combining all Java dependencies and all Ruby dependencies into a single jar file. This combination can be represented by the org.jruby:jruby artifact, which depends upon jruby-base (itself depending on all Java dependencies) and jruby-stdlib (containing all Ruby dependencies. The only utility of jruby-complete is to publish a single uber-jar. Similarly, the jruby-core artifact is essentially just a version of jruby-base that shades all Java dependencies. It cannot run on its own due to the missing Ruby dependencies, but it duplicates the logical content of jruby-base. With Maven Central moving toward publishing limits, we would like to start reducing the number and size of artifacts we push. This commit starts the process of deprecating these two artifacts. * jruby-complete is deprecated in favor of org.jruby:jruby. Users needing an uber-jar can use other mechanisms to merge all transitive dependencies of that artifact into a single library. * jruby-core is deprecated in favor of org.jruby:jruby-base, which provides the same logical contents. Users needing a shaded version of jruby-base can use other mechanisms to achieve it. Removing these two artifacts would reduce the size of a JRuby release to Maven Central by about 71MB based on the 10.1.0.0 release (~30MB for jruby-core and ~41MB for jruby-complete).
Member
Author
|
Example project to test these deprecation messages is here: Output at the top of the build: |
Member
Author
|
We'll push this forward and see if we hear from users that they absolutely need one of these two artifacts. I suspect most jruby-core users have switched to the jruby or jruby-base artifacts, but jruby-complete is a harder sell (it's our only "uber-jar" that can be run directly). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
After jruby-dist, which is necessary to release JRuby for Ruby users, jruby-complete is by far the largest artifact published for JRuby, combining all Java dependencies and all Ruby dependencies into a single jar file. This combination can be represented by the org.jruby:jruby artifact, which depends upon jruby-base (itself depending on all Java dependencies) and jruby-stdlib (containing all Ruby dependencies. The only utility of jruby-complete is to publish a single uber-jar.
Similarly, the jruby-core artifact is essentially just a version of jruby-base that shades all Java dependencies. It cannot run on its own due to the missing Ruby dependencies, but it duplicates the logical content of jruby-base.
With Maven Central moving toward publishing limits, we would like to start reducing the number and size of artifacts we push. This commit starts the process of deprecating these two artifacts.
Removing these two artifacts would reduce the size of a JRuby release to Maven Central by about 71MB based on the 10.1.0.0 release (~30MB for jruby-core and ~41MB for jruby-complete).