Class Maven2GemVersionConverter

java.lang.Object
de.saumya.mojo.gems.Maven2GemVersionConverter

public class Maven2GemVersionConverter extends Object
Class doing conversion from Maven "versioning space" into Ruby Gems "versioning space". The job is not trivial, since Maven is much more liberal in accepting versions then Gems are.
  • Field Details

    • DUMMY_VERSION

      public static final String DUMMY_VERSION
      See Also:
    • DUMMY_PREFIX

      public static final String DUMMY_PREFIX
      See Also:
    • gemVersionPattern

      public static final Pattern gemVersionPattern
      This is the pattern we match against. This is actually x.y.z... version format, that RubyGems 1.3.5 support. {@link http://github.com/jbarnette/rubygems/blob/REL_1_3_5/lib/rubygems/version.rb} and ://github.com/jbarnette/rubygems/blob/REL_1_3_6/lib/rubygems/version.rb
    • goodVersionPattern

      private static final Pattern goodVersionPattern
    • numbersOnlyGemVersionPattern

      private static final Pattern numbersOnlyGemVersionPattern
    • dummyGemVersionPattern

      private static final Pattern dummyGemVersionPattern
    • majorOnlyPattern

      private static final Pattern majorOnlyPattern
    • majorMinorOnlyPattern

      private static final Pattern majorMinorOnlyPattern
  • Constructor Details

    • Maven2GemVersionConverter

      public Maven2GemVersionConverter()
  • Method Details

    • createGemVersion

      public String createGemVersion(String mavenVersion) throws NullPointerException
      Creates valid GEM version out of Maven2 version. Gem versions are "stricter" than Maven versions: they are in form of "x.y.z...". They have to start with integer, and be followed by a '.'. You can have as many like these you want, but Maven version like "1.0-alpha-2" is invalid Gem version. Hence, some trickery has to be applied.
      Parameters:
      mavenVersion -
      Returns:
      Throws:
      NullPointerException