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 );
}
/**