You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2016/04/17 09:46:07 UTC

svn commit: r1739549 - in /maven/plugins/trunk/maven-javadoc-plugin/src: main/java/org/apache/maven/plugin/javadoc/JavadocUtil.java test/java/org/apache/maven/plugin/javadoc/JavadocUtilTest.java

Author: hboutemy
Date: Sun Apr 17 07:46:07 2016
New Revision: 1739549

URL: http://svn.apache.org/viewvc?rev=1739549&view=rev
Log:
[MJAVADOC-442] Support JEP 223 new Java 9 version scheme

Modified:
    maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocUtil.java
    maven/plugins/trunk/maven-javadoc-plugin/src/test/java/org/apache/maven/plugin/javadoc/JavadocUtilTest.java

Modified: maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocUtil.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocUtil.java?rev=1739549&r1=1739548&r2=1739549&view=diff
==============================================================================
--- maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocUtil.java (original)
+++ maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocUtil.java Sun Apr 17 07:46:07 2016
@@ -654,7 +654,7 @@ public class JavadocUtil
      * @param output for 'javadoc -J-version'
      * @return the version of the javadoc for the output.
      * @throws PatternSyntaxException if the output doesn't match with the output pattern
-     * <tt>(?s).*?([0-9]+\\.[0-9]+)(\\.([0-9]+))?.*</tt>.
+     * <tt>(?s).*?[^a-zA-Z]([0-9]+\\.?[0-9]*)(\\.([0-9]+))?.*</tt>.
      * @throws IllegalArgumentException if the output is null
      */
     protected static float parseJavadocVersion( String output )
@@ -665,7 +665,7 @@ public class JavadocUtil
             throw new IllegalArgumentException( "The output could not be null." );
         }
 
-        Pattern pattern = Pattern.compile( "(?s).*?([0-9]+\\.[0-9]+)(\\.([0-9]+))?.*" );
+        Pattern pattern = Pattern.compile( "(?s).*?[^a-zA-Z]([0-9]+\\.?[0-9]*)(\\.([0-9]+))?.*" );
 
         Matcher matcher = pattern.matcher( output );
         if ( !matcher.matches() )

Modified: maven/plugins/trunk/maven-javadoc-plugin/src/test/java/org/apache/maven/plugin/javadoc/JavadocUtilTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/test/java/org/apache/maven/plugin/javadoc/JavadocUtilTest.java?rev=1739549&r1=1739548&r2=1739549&view=diff
==============================================================================
--- maven/plugins/trunk/maven-javadoc-plugin/src/test/java/org/apache/maven/plugin/javadoc/JavadocUtilTest.java (original)
+++ maven/plugins/trunk/maven-javadoc-plugin/src/test/java/org/apache/maven/plugin/javadoc/JavadocUtilTest.java Sun Apr 17 07:46:07 2016
@@ -115,7 +115,8 @@ public class JavadocUtilTest
         try
         {
             JavadocUtil.parseJavadocVersion( version );
-            assertTrue( "Not catch wrong pattern", false );
+            // does not fail since JEP 223 support addition
+            //assertTrue( "Not catch wrong pattern", false );
         }
         catch ( PatternSyntaxException e )
         {
@@ -124,6 +125,27 @@ public class JavadocUtilTest
 
         version = "SCO-UNIX-J2SE-1.5.0_09*FCS-UW714-OSR6*_20061114";
         assertEquals( JavadocUtil.parseJavadocVersion( version ), 1.5f, 0 );
+
+        // Java 9 EA
+        version = "java full version \"9-ea+113\"";
+        assertEquals( JavadocUtil.parseJavadocVersion( version ), 9f, 0 );
+
+        // Java 9 EA Jigsaw
+        version = "java full version \"9-ea+113-2016-04-14-161743.javare.4852.nc\"";
+        assertEquals( JavadocUtil.parseJavadocVersion( version ), 9f, 0 );
+
+        // JEP 223 example for future versions
+        version = "java full version \"9+100\"";
+        assertEquals( JavadocUtil.parseJavadocVersion( version ), 9f, 0 );
+
+        version = "java full version \"9.0.1+20\"";
+        assertEquals( JavadocUtil.parseJavadocVersion( version ), 9.01f, 0 );
+
+        version = "java full version \"10+100\"";
+        assertEquals( JavadocUtil.parseJavadocVersion( version ), 10f, 0 );
+
+        version = "java full version \"10.0.1+20\"";
+        assertEquals( JavadocUtil.parseJavadocVersion( version ), 10.01f, 0 );
     }
 
     /**