For the work to enable JRuby 1.7 vs. 9k support for Puppet Server, we're intending to maintain a specific Maven artifact (via a leiningen project) which rolls up related JRuby dependencies for each version - e.g., for jruby-core and jruby-stdlib. The Maven artifact's version number should match up with the corresponding JRuby version. We should also have the ability to roll out more than one Maven artifact per JRuby version - e.g., in case we messed up the dependency info in the original artifact and need to update it.
For JRuby 9k, the base version number already has 4 parts. With the lein-release-4digit-version plugin, we have the ability to bump release version numbers in the project.clj file via leiningen. Unlike the standard "3-part" lein-release plugin, the lein-release-4digit-version plugin, however, does not have the ability to bump the "qualifier" portion of a version. The work for this ticket would involve adding support to the lein-release-4digit-version plugin for bumping the qualifier portion of a project version.
For example, using a "3-part version number" with a value of "1.7.26-1-SNAPSHOT" (where the "-1" is the qualifier version), if I run the following command:
lein change version leiningen.release/bump-version qualifier
... the value is bumped to "1.7.26-2-SNAPSHOT".
If I try to run the same 'lein change' command with a "4-part" version number that has a qualifier in the project.clj, e.g., 22.214.171.124-1-SNAPSHOT, I get an error:
Unrecognized version string: 126.96.36.199-1-SNAPSHOT