You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2017/07/09 08:49:47 UTC
svn commit: r1801354 - in /maven/plugins/trunk/maven-javadoc-plugin: ./
src/main/java/org/apache/maven/plugin/javadoc/
src/test/java/org/apache/maven/plugin/javadoc/
Author: rfscholte
Date: Sun Jul 9 08:49:46 2017
New Revision: 1801354
URL: http://svn.apache.org/viewvc?rev=1801354&view=rev
Log:
[MJAVADOC-485] Upgrade to commons-lang3
Use own JavadocVersion for comparison
Modified:
maven/plugins/trunk/maven-javadoc-plugin/pom.xml
maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractFixJavadocMojo.java
maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractJavadocMojo.java
maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocUtil.java
maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocVersion.java
maven/plugins/trunk/maven-javadoc-plugin/src/test/java/org/apache/maven/plugin/javadoc/JavadocJarTest.java
maven/plugins/trunk/maven-javadoc-plugin/src/test/java/org/apache/maven/plugin/javadoc/JavadocReportTest.java
maven/plugins/trunk/maven-javadoc-plugin/src/test/java/org/apache/maven/plugin/javadoc/JavadocUtilTest.java
maven/plugins/trunk/maven-javadoc-plugin/src/test/java/org/apache/maven/plugin/javadoc/JavadocVersionTest.java
Modified: maven/plugins/trunk/maven-javadoc-plugin/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/pom.xml?rev=1801354&r1=1801353&r2=1801354&view=diff
==============================================================================
--- maven/plugins/trunk/maven-javadoc-plugin/pom.xml (original)
+++ maven/plugins/trunk/maven-javadoc-plugin/pom.xml Sun Jul 9 08:49:46 2017
@@ -96,6 +96,9 @@ under the License.
<name>Omair Majid</name>
</contributor>
<contributor>
+ <name>Philippe Marschall</name>
+ </contributor>
+ <contributor>
<name>Richard Sand</name>
</contributor>
</contributors>
@@ -193,9 +196,9 @@ under the License.
<!-- misc -->
<dependency>
- <groupId>commons-lang</groupId>
- <artifactId>commons-lang</artifactId>
- <version>2.6</version>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-lang3</artifactId>
+ <version>3.5</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
Modified: maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractFixJavadocMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractFixJavadocMojo.java?rev=1801354&r1=1801353&r2=1801354&view=diff
==============================================================================
--- maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractFixJavadocMojo.java (original)
+++ maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractFixJavadocMojo.java Sun Jul 9 08:49:46 2017
@@ -32,7 +32,7 @@ import com.thoughtworks.qdox.model.Type;
import com.thoughtworks.qdox.model.TypeVariable;
import com.thoughtworks.qdox.parser.ParseException;
import org.apache.commons.io.IOUtils;
-import org.apache.commons.lang.ClassUtils;
+import org.apache.commons.lang3.ClassUtils;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.DependencyResolutionRequiredException;
import org.apache.maven.artifact.repository.ArtifactRepository;
Modified: maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractJavadocMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractJavadocMojo.java?rev=1801354&r1=1801353&r2=1801354&view=diff
==============================================================================
--- maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractJavadocMojo.java (original)
+++ maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractJavadocMojo.java Sun Jul 9 08:49:46 2017
@@ -52,9 +52,12 @@ import java.util.Map;
import java.util.Properties;
import java.util.Set;
import java.util.StringTokenizer;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
-import org.apache.commons.lang.ClassUtils;
-import org.apache.commons.lang.SystemUtils;
+import org.apache.commons.lang3.ClassUtils;
+import org.apache.commons.lang3.JavaVersion;
+import org.apache.commons.lang3.SystemUtils;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.factory.ArtifactFactory;
import org.apache.maven.artifact.handler.ArtifactHandler;
@@ -248,7 +251,7 @@ public abstract class AbstractJavadocMoj
*
* @since 2.1
*/
- private static final float SINCE_JAVADOC_1_4 = 1.4f;
+ private static final JavadocVersion SINCE_JAVADOC_1_4 = JavadocVersion.parse( "1.4" );
/**
* For Javadoc options appears since Java 1.4.2.
@@ -258,7 +261,7 @@ public abstract class AbstractJavadocMoj
*
* @since 2.1
*/
- private static final float SINCE_JAVADOC_1_4_2 = 1.42f;
+ private static final JavadocVersion SINCE_JAVADOC_1_4_2 = JavadocVersion.parse( "1.4.2" );
/**
* For Javadoc options appears since Java 5.0.
@@ -268,7 +271,7 @@ public abstract class AbstractJavadocMoj
*
* @since 2.1
*/
- private static final float SINCE_JAVADOC_1_5 = 1.5f;
+ private static final JavadocVersion SINCE_JAVADOC_1_5 = JavadocVersion.parse( "1.5" );
/**
* For Javadoc options appears since Java 6.0.
@@ -277,7 +280,7 @@ public abstract class AbstractJavadocMoj
*
* @since 2.4
*/
- private static final float SINCE_JAVADOC_1_6 = 1.6f;
+ private static final JavadocVersion SINCE_JAVADOC_1_6 = JavadocVersion.parse( "1.6" );
/**
* For Javadoc options appears since Java 8.0.
@@ -286,7 +289,12 @@ public abstract class AbstractJavadocMoj
*
* @since 3.0.0
*/
- private static final float SINCE_JAVADOC_1_8 = 1.8f;
+ private static final JavadocVersion SINCE_JAVADOC_1_8 = JavadocVersion.parse( "1.8" );
+
+ /**
+ *
+ */
+ private static final JavadocVersion JAVA_VERSION = JavadocVersion.parse( SystemUtils.JAVA_VERSION );
// ----------------------------------------------------------------------
// Mojo components
@@ -495,9 +503,9 @@ public abstract class AbstractJavadocMoj
private String javadocVersion;
/**
- * Version of the Javadoc Tool executable to use as float.
+ * Version of the Javadoc Tool executable to use.
*/
- private float fJavadocVersion = 0.0f;
+ private JavadocVersion javadocRuntimeVersion;
/**
* Specifies whether the Javadoc generation should be skipped.
@@ -3632,7 +3640,7 @@ public abstract class AbstractJavadocMoj
}
// For Apple's JDK 1.6.x (and older?) on Mac OSX
// CHECKSTYLE_OFF: MagicNumber
- else if ( SystemUtils.IS_OS_MAC_OSX && SystemUtils.JAVA_VERSION_FLOAT < 1.7f )
+ else if ( SystemUtils.IS_OS_MAC_OSX && !SystemUtils.isJavaVersionAtLeast( JavaVersion.JAVA_1_7 ) )
// CHECKSTYLE_ON: MagicNumber
{
javadocExe = new File( SystemUtils.getJavaHome() + File.separator + "bin", javadocCommand );
@@ -3674,7 +3682,7 @@ public abstract class AbstractJavadocMoj
}
/**
- * Set a new value for <code>fJavadocVersion</code>
+ * Set a new value for <code>javadocRuntimeVersion</code>
*
* @param jExecutable not null
* @throws MavenReportException if not found
@@ -3683,7 +3691,7 @@ public abstract class AbstractJavadocMoj
private void setFJavadocVersion( File jExecutable )
throws MavenReportException
{
- float jVersion;
+ JavadocVersion jVersion;
try
{
jVersion = JavadocUtil.getJavadocVersion( jExecutable );
@@ -3693,48 +3701,48 @@ public abstract class AbstractJavadocMoj
if ( getLog().isWarnEnabled() )
{
getLog().warn( "Unable to find the javadoc version: " + e.getMessage() );
- getLog().warn( "Using the Java version instead of, i.e. " + SystemUtils.JAVA_VERSION_FLOAT );
+ getLog().warn( "Using the Java version instead of, i.e. " + JAVA_VERSION );
}
- jVersion = SystemUtils.JAVA_VERSION_FLOAT;
+ jVersion = JAVA_VERSION;
}
catch ( CommandLineException e )
{
if ( getLog().isWarnEnabled() )
{
getLog().warn( "Unable to find the javadoc version: " + e.getMessage() );
- getLog().warn( "Using the Java version instead of, i.e. " + SystemUtils.JAVA_VERSION_FLOAT );
+ getLog().warn( "Using the Java version instead of, i.e. " + JAVA_VERSION );
}
- jVersion = SystemUtils.JAVA_VERSION_FLOAT;
+ jVersion = JAVA_VERSION;
}
catch ( IllegalArgumentException e )
{
if ( getLog().isWarnEnabled() )
{
getLog().warn( "Unable to find the javadoc version: " + e.getMessage() );
- getLog().warn( "Using the Java version instead of, i.e. " + SystemUtils.JAVA_VERSION_FLOAT );
+ getLog().warn( "Using the Java version instead of, i.e. " + JAVA_VERSION );
}
- jVersion = SystemUtils.JAVA_VERSION_FLOAT;
+ jVersion = JAVA_VERSION;
}
if ( StringUtils.isNotEmpty( javadocVersion ) )
{
try
{
- fJavadocVersion = Float.parseFloat( javadocVersion );
+ javadocRuntimeVersion = JavadocVersion.parse( javadocVersion );
}
catch ( NumberFormatException e )
{
throw new MavenReportException( "Unable to parse javadoc version: " + e.getMessage(), e );
}
- if ( fJavadocVersion != jVersion && getLog().isWarnEnabled() )
+ if ( javadocRuntimeVersion != jVersion && getLog().isWarnEnabled() )
{
getLog().warn( "Are you sure about the <javadocVersion/> parameter? It seems to be " + jVersion );
}
}
else
{
- fJavadocVersion = jVersion;
+ javadocRuntimeVersion = jVersion;
}
}
@@ -3745,9 +3753,9 @@ public abstract class AbstractJavadocMoj
* @return <code>true</code> if the javadoc version is equal or greater than the
* required version
*/
- private boolean isJavaDocVersionAtLeast( float requiredVersion )
+ private boolean isJavaDocVersionAtLeast( JavadocVersion requiredVersion )
{
- return fJavadocVersion >= requiredVersion;
+ return JAVA_VERSION.compareTo( requiredVersion ) >= 0;
}
/**
@@ -3777,7 +3785,7 @@ public abstract class AbstractJavadocMoj
* @see #addArgIf(java.util.List, boolean, String)
* @see #isJavaDocVersionAtLeast(float)
*/
- private void addArgIf( List<String> arguments, boolean b, String value, float requiredJavaVersion )
+ private void addArgIf( List<String> arguments, boolean b, String value, JavadocVersion requiredJavaVersion )
{
if ( b )
{
@@ -3828,7 +3836,7 @@ public abstract class AbstractJavadocMoj
* @see #isJavaDocVersionAtLeast(float)
*/
private void addArgIfNotEmpty( List<String> arguments, String key, String value, boolean repeatKey,
- boolean splitValue, float requiredJavaVersion )
+ boolean splitValue, JavadocVersion requiredJavaVersion )
{
if ( StringUtils.isNotEmpty( value ) )
{
@@ -3920,7 +3928,8 @@ public abstract class AbstractJavadocMoj
* @param requiredJavaVersion the required Java version, for example 1.31f or 1.4f
* @see #addArgIfNotEmpty(java.util.List, String, String, float, boolean)
*/
- private void addArgIfNotEmpty( List<String> arguments, String key, String value, float requiredJavaVersion )
+ private void addArgIfNotEmpty( List<String> arguments, String key, String value,
+ JavadocVersion requiredJavaVersion )
{
addArgIfNotEmpty( arguments, key, value, requiredJavaVersion, false );
}
@@ -3937,7 +3946,7 @@ public abstract class AbstractJavadocMoj
* @see #addArgIfNotEmpty(java.util.List, String, String)
* @see #isJavaDocVersionAtLeast(float)
*/
- private void addArgIfNotEmpty( List<String> arguments, String key, String value, float requiredJavaVersion,
+ private void addArgIfNotEmpty( List<String> arguments, String key, String value, JavadocVersion requiredJavaVersion,
boolean repeatKey )
{
if ( StringUtils.isNotEmpty( value ) )
@@ -4391,7 +4400,7 @@ public abstract class AbstractJavadocMoj
throws MavenReportException
{
File argfileFile;
- if ( isJavaDocVersionAtLeast( SINCE_JAVADOC_1_4 ) )
+ if ( JAVA_VERSION.compareTo( SINCE_JAVADOC_1_4 ) >= 0 )
{
argfileFile = new File( javadocOutputDirectory, ARGFILE_FILE_NAME );
cmd.createArg().setValue( "@" + ARGFILE_FILE_NAME );
@@ -4780,7 +4789,7 @@ public abstract class AbstractJavadocMoj
if ( sourcetab > 0 )
{
- if ( fJavadocVersion == SINCE_JAVADOC_1_4_2 )
+ if ( javadocRuntimeVersion == SINCE_JAVADOC_1_4_2 )
{
addArgIfNotEmpty( arguments, "-linksourcetab", String.valueOf( sourcetab ) );
}
@@ -5585,7 +5594,7 @@ public abstract class AbstractJavadocMoj
* value of the <code>source</code> parameter in the
* <code>org.apache.maven.plugins:maven-compiler-plugin</code>
* defined in <code>${project.build.plugins}</code> or in <code>${project.build.pluginManagement}</code>,
- * or the {@link #fJavadocVersion}, or <code>null</code> if not defined.
+ * or the {@link #javadocRuntimeVersion}, or <code>null</code> if not defined.
* @see #detectJavaApiLink
* @see #javaApiLinks
* @see #DEFAULT_JAVA_API_LINKS
@@ -5600,13 +5609,13 @@ public abstract class AbstractJavadocMoj
}
final String pluginId = "org.apache.maven.plugins:maven-compiler-plugin";
- float sourceVersion = fJavadocVersion;
+ JavadocVersion sourceVersion = javadocRuntimeVersion;
String sourceConfigured = getPluginParameter( project, pluginId, "source" );
if ( sourceConfigured != null )
{
try
{
- sourceVersion = Float.parseFloat( sourceConfigured );
+ sourceVersion = JavadocVersion.parse( sourceConfigured );
}
catch ( NumberFormatException e )
{
@@ -5619,37 +5628,22 @@ public abstract class AbstractJavadocMoj
getLog().debug( "No maven-compiler-plugin defined in ${build.plugins} or in "
+ "${project.build.pluginManagement} for the " + project.getId()
+ ". Added Javadoc API link according the javadoc executable version i.e.: "
- + fJavadocVersion );
+ + javadocRuntimeVersion );
}
- // CHECKSTYLE_OFF: MagicNumber
- String apiVersion = null;
- if ( sourceVersion >= 1.3f && sourceVersion < 1.4f )
- {
- apiVersion = "1.3";
- }
- else if ( sourceVersion >= 1.4f && sourceVersion < 1.5f )
- {
- apiVersion = "1.4";
- }
- else if ( sourceVersion >= 1.5f && sourceVersion < 1.6f )
+ String apiVersion;
+
+ Matcher apiMatcher = Pattern.compile( "(1\\.\\d|\\d\\d*)" ).matcher( sourceVersion.toString() );
+ if ( apiMatcher.find() )
{
- apiVersion = "1.5";
+ apiVersion = apiMatcher.group( 1 );
}
- else if ( sourceVersion >= 1.6f && sourceVersion < 1.7f )
- {
- apiVersion = "1.6";
- }
- else if ( sourceVersion >= 1.7f && sourceVersion < 1.8f )
- {
- apiVersion = "1.7";
- }
- else if ( sourceVersion >= 1.8f )
+ else
{
- apiVersion = "1.8";
+ apiVersion = null;
}
+
String javaApiLink = javaApiLinks.getProperty( "api_" + apiVersion, null );
- // CHECKSTYLE_ON: MagicNumber
if ( getLog().isDebugEnabled() )
{
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=1801354&r1=1801353&r2=1801354&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 Jul 9 08:49:46 2017
@@ -19,7 +19,7 @@ package org.apache.maven.plugin.javadoc;
* under the License.
*/
-import org.apache.commons.lang.SystemUtils;
+import org.apache.commons.lang3.SystemUtils;
import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
@@ -576,9 +576,9 @@ public class JavadocUtil
* @throws CommandLineException if any
* @throws IllegalArgumentException if no output was found in the command line
* @throws PatternSyntaxException if the output contains a syntax error in the regular-expression pattern.
- * @see #parseJavadocVersion(String)
+ * @see #extractJavadocVersion(String)
*/
- protected static float getJavadocVersion( File javadocExe )
+ protected static JavadocVersion getJavadocVersion( File javadocExe )
throws IOException, CommandLineException, IllegalArgumentException
{
if ( ( javadocExe == null ) || ( !javadocExe.exists() ) || ( !javadocExe.isFile() ) )
@@ -606,11 +606,11 @@ public class JavadocUtil
if ( StringUtils.isNotEmpty( err.getOutput() ) )
{
- return parseJavadocVersion( err.getOutput() );
+ return JavadocVersion.parse( extractJavadocVersion( err.getOutput() ) );
}
else if ( StringUtils.isNotEmpty( out.getOutput() ) )
{
- return parseJavadocVersion( out.getOutput() );
+ return JavadocVersion.parse( extractJavadocVersion( out.getOutput() ) );
}
throw new IllegalArgumentException( "No output found from the command line 'javadoc -J-version'" );
@@ -652,12 +652,12 @@ public class JavadocUtil
* </table>
*
* @param output for 'javadoc -J-version'
- * @return the version of the javadoc for the output.
+ * @return the version of the javadoc for the output, only digits and dots
* @throws PatternSyntaxException if the output doesn't match with the output pattern
* <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 )
+ protected static String extractJavadocVersion( String output )
throws IllegalArgumentException
{
if ( StringUtils.isEmpty( output ) )
@@ -665,7 +665,7 @@ public class JavadocUtil
throw new IllegalArgumentException( "The output could not be null." );
}
- Pattern pattern = Pattern.compile( "(?s).*?[^a-zA-Z]([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() )
@@ -674,17 +674,7 @@ public class JavadocUtil
pattern.toString().length() - 1 );
}
- String version = matcher.group( 3 );
- if ( version == null )
- {
- version = matcher.group( 1 );
- }
- else
- {
- version = matcher.group( 1 ) + version;
- }
-
- return Float.parseFloat( version );
+ return matcher.group( 1 );
}
/**
Modified: maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocVersion.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocVersion.java?rev=1801354&r1=1801353&r2=1801354&view=diff
==============================================================================
--- maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocVersion.java (original)
+++ maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocVersion.java Sun Jul 9 08:49:46 2017
@@ -50,7 +50,8 @@ public class JavadocVersion implements C
* @param s the version string
* @return the version wrapped in a JavadocVersion
*/
- static JavadocVersion parse( String s ) {
+ static JavadocVersion parse( String s )
+ {
return new JavadocVersion( s );
}
Modified: maven/plugins/trunk/maven-javadoc-plugin/src/test/java/org/apache/maven/plugin/javadoc/JavadocJarTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/test/java/org/apache/maven/plugin/javadoc/JavadocJarTest.java?rev=1801354&r1=1801353&r2=1801354&view=diff
==============================================================================
--- maven/plugins/trunk/maven-javadoc-plugin/src/test/java/org/apache/maven/plugin/javadoc/JavadocJarTest.java (original)
+++ maven/plugins/trunk/maven-javadoc-plugin/src/test/java/org/apache/maven/plugin/javadoc/JavadocJarTest.java Sun Jul 9 08:49:46 2017
@@ -82,12 +82,12 @@ public class JavadocJarTest
}
assertTrue( set.contains( "stylesheet.css" ) );
- float javadocVersion = (Float) getVariableValueFromObject( mojo, "fJavadocVersion" );
- if ( Float.compare( javadocVersion, 1.7f ) < 0 )
+ JavadocVersion javadocVersion = (JavadocVersion) getVariableValueFromObject( mojo, "javadocRuntimeVersion" );
+ if ( javadocVersion.compareTo( JavadocVersion.parse( "1.7" ) ) < 0 )
{
assertTrue( set.contains( "resources/inherit.gif" ) );
}
- else if ( Float.compare( javadocVersion, 1.8f ) < 0 )
+ else if ( javadocVersion.compareTo( JavadocVersion.parse( "1.8" ) ) < 0 )
{
assertTrue( set.contains( "resources/background.gif" ) /* JDK7 */);
}
Modified: maven/plugins/trunk/maven-javadoc-plugin/src/test/java/org/apache/maven/plugin/javadoc/JavadocReportTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/test/java/org/apache/maven/plugin/javadoc/JavadocReportTest.java?rev=1801354&r1=1801353&r2=1801354&view=diff
==============================================================================
--- maven/plugins/trunk/maven-javadoc-plugin/src/test/java/org/apache/maven/plugin/javadoc/JavadocReportTest.java (original)
+++ maven/plugins/trunk/maven-javadoc-plugin/src/test/java/org/apache/maven/plugin/javadoc/JavadocReportTest.java Sun Jul 9 08:49:46 2017
@@ -31,7 +31,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import org.apache.commons.lang.SystemUtils;
+import org.apache.commons.lang3.SystemUtils;
import org.apache.maven.execution.MavenSession;
import org.apache.maven.model.Plugin;
import org.apache.maven.plugin.LegacySupport;
@@ -627,11 +627,12 @@ public class JavadocReportTest
content = readFile( app );
assertTrue( content.contains( "<img src=\"doc-files/maven-feather.png\" alt=\"Maven\">" ) );
- float javadocVersion = (Float) getVariableValueFromObject( mojo, "fJavadocVersion" );
- if( Float.compare( 1.8f, javadocVersion ) == 0 )
+ JavadocVersion javadocVersion = (JavadocVersion) getVariableValueFromObject( mojo, "javadocRuntimeVersion" );
+ if( javadocVersion.compareTo( JavadocVersion.parse( "1.8" ) ) >= 0 && javadocVersion.compareTo( JavadocVersion.parse( "9" ) ) < 0)
{
// https://bugs.openjdk.java.net/browse/JDK-8032205
- assertTrue( "This bug appeared in JDK8 and was planned to be fixed in JDK9, see JDK-8032205", new File( apidocs, "resources/test/doc-files/maven-feather.png" ).exists() );
+ assertTrue( "This bug appeared in JDK8 and was planned to be fixed in JDK9, see JDK-8032205",
+ new File( apidocs, "resources/test/doc-files/maven-feather.png" ).exists() );
}
else
{
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=1801354&r1=1801353&r2=1801354&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 Jul 9 08:49:46 2017
@@ -30,7 +30,7 @@ import java.util.List;
import java.util.Map;
import java.util.regex.PatternSyntaxException;
-import org.apache.commons.lang.builder.EqualsBuilder;
+import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.maven.plugin.javadoc.ProxyServer.AuthAsyncProxyServlet;
import org.apache.maven.settings.Proxy;
import org.apache.maven.settings.Settings;
@@ -55,7 +55,7 @@ public class JavadocUtilTest
String version = null;
try
{
- JavadocUtil.parseJavadocVersion( version );
+ JavadocUtil.extractJavadocVersion( version );
assertTrue( "Not catch null", false );
}
catch ( IllegalArgumentException e )
@@ -65,56 +65,59 @@ public class JavadocUtilTest
// Sun JDK 1.4
version = "java full version \"1.4.2_12-b03\"";
- assertEquals( JavadocUtil.parseJavadocVersion( version ), 1.42f, 0 );
+ assertEquals( "1.4.2", JavadocUtil.extractJavadocVersion( version ) );
// Sun JDK 1.5
version = "java full version \"1.5.0_07-164\"";
- assertEquals( JavadocUtil.parseJavadocVersion( version ), 1.5f, 0 );
+ assertEquals( "1.5.0", JavadocUtil.extractJavadocVersion( version ) );
// IBM JDK 1.4
version = "java full version \"J2RE 1.4.2 IBM Windows 32 build cn1420-20040626\"";
- assertEquals( JavadocUtil.parseJavadocVersion( version ), 1.42f, 0 );
+ assertEquals( "1.4.2", JavadocUtil.extractJavadocVersion( version ) );
// IBM JDK 1.5
version = "javadoc version complète de \"J2RE 1.5.0 IBM Windows 32 build pwi32pdev-20070426a\"";
- assertEquals( JavadocUtil.parseJavadocVersion( version ), 1.5f, 0 );
+ assertEquals( "1.5.0", JavadocUtil.extractJavadocVersion( version ) );
// IBM JDK 1.5
version = "J2RE 1.5.0 IBM Windows 32 build pwi32devifx-20070323 (ifix 117674: SR4 + 116644 + 114941 + 116110 + 114881)";
- assertEquals( JavadocUtil.parseJavadocVersion( version ), 1.5f, 0 );
+ assertEquals( "1.5.0", JavadocUtil.extractJavadocVersion( version ) );
// FreeBSD
version = "java full version \"diablo-1.5.0-b01\"";
- assertEquals( JavadocUtil.parseJavadocVersion( version ), 1.5f, 0 );
+ assertEquals( "1.5.0", JavadocUtil.extractJavadocVersion( version ) );
// BEA
version = "java full version \"1.5.0_11-b03\"";
- assertEquals( JavadocUtil.parseJavadocVersion( version ), 1.5f, 0 );
+ assertEquals( "1.5.0", JavadocUtil.extractJavadocVersion( version ) );
// Other tests
version = "java full version \"1.5.0_07-164\"" + System.getProperty( "line.separator" );
- assertEquals( JavadocUtil.parseJavadocVersion( version ), 1.5f, 0 );
+ assertEquals( "1.5.0", JavadocUtil.extractJavadocVersion( version ) );
+
version = System.getProperty( "line.separator" ) + "java full version \"1.5.0_07-164\"";
- assertEquals( JavadocUtil.parseJavadocVersion( version ), 1.5f, 0 );
+ assertEquals( "1.5.0", JavadocUtil.extractJavadocVersion( version ) );
+
version = System.getProperty( "line.separator" ) + "java full version \"1.5.0_07-164\""
+ System.getProperty( "line.separator" );
- assertEquals( JavadocUtil.parseJavadocVersion( version ), 1.5f, 0 );
+ assertEquals( "1.5.0", JavadocUtil.extractJavadocVersion( version ));
+
version = "java full" + System.getProperty( "line.separator" ) + " version \"1.5.0_07-164\"";
- assertEquals( JavadocUtil.parseJavadocVersion( version ), 1.5f, 0 );
+ assertEquals( "1.5.0", JavadocUtil.extractJavadocVersion( version ) );
version = "java full version \"1.99.123-b01\"";
- assertEquals( JavadocUtil.parseJavadocVersion( version ), 1.99123f, 0 );
+ assertEquals( "1.99.123", JavadocUtil.extractJavadocVersion( version ) );
version = "java full version \"1.5.0.07-164\"";
- assertEquals( JavadocUtil.parseJavadocVersion( version ), 1.5f, 0 );
+ assertEquals( "1.5.0", JavadocUtil.extractJavadocVersion( version ) );
version = "java full version \"1.4\"";
- assertEquals( JavadocUtil.parseJavadocVersion( version ), 1.4f, 0 );
+ assertEquals( "1.4" , JavadocUtil.extractJavadocVersion( version ) );
version = "java full version \"1.A.B_07-164\"";
try
{
- JavadocUtil.parseJavadocVersion( version );
+ JavadocUtil.extractJavadocVersion( version );
// does not fail since JEP 223 support addition
//assertTrue( "Not catch wrong pattern", false );
}
@@ -124,28 +127,31 @@ public class JavadocUtilTest
}
version = "SCO-UNIX-J2SE-1.5.0_09*FCS-UW714-OSR6*_20061114";
- assertEquals( JavadocUtil.parseJavadocVersion( version ), 1.5f, 0 );
+ assertEquals( "1.5.0", JavadocUtil.extractJavadocVersion( version ) );
// Java 9 EA
version = "java full version \"9-ea+113\"";
- assertEquals( JavadocUtil.parseJavadocVersion( version ), 9f, 0 );
+ assertEquals( "9", JavadocUtil.extractJavadocVersion( version ) );
// Java 9 EA Jigsaw
version = "java full version \"9-ea+113-2016-04-14-161743.javare.4852.nc\"";
- assertEquals( JavadocUtil.parseJavadocVersion( version ), 9f, 0 );
+ assertEquals( "9", JavadocUtil.extractJavadocVersion( version ) );
+
+ version = "java version \"9-ea\"";
+ assertEquals( "9", JavadocUtil.extractJavadocVersion( version ) );
// JEP 223 example for future versions
version = "java full version \"9+100\"";
- assertEquals( JavadocUtil.parseJavadocVersion( version ), 9f, 0 );
+ assertEquals( "9", JavadocUtil.extractJavadocVersion( version ) );
version = "java full version \"9.0.1+20\"";
- assertEquals( JavadocUtil.parseJavadocVersion( version ), 9.01f, 0 );
+ assertEquals( "9.0.1", JavadocUtil.extractJavadocVersion( version ) );
version = "java full version \"10+100\"";
- assertEquals( JavadocUtil.parseJavadocVersion( version ), 10f, 0 );
+ assertEquals( "10" , JavadocUtil.extractJavadocVersion( version ) );
version = "java full version \"10.0.1+20\"";
- assertEquals( JavadocUtil.parseJavadocVersion( version ), 10.01f, 0 );
+ assertEquals( "10.0.1" , JavadocUtil.extractJavadocVersion( version ) );
}
/**
Modified: maven/plugins/trunk/maven-javadoc-plugin/src/test/java/org/apache/maven/plugin/javadoc/JavadocVersionTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/test/java/org/apache/maven/plugin/javadoc/JavadocVersionTest.java?rev=1801354&r1=1801353&r2=1801354&view=diff
==============================================================================
--- maven/plugins/trunk/maven-javadoc-plugin/src/test/java/org/apache/maven/plugin/javadoc/JavadocVersionTest.java (original)
+++ maven/plugins/trunk/maven-javadoc-plugin/src/test/java/org/apache/maven/plugin/javadoc/JavadocVersionTest.java Sun Jul 9 08:49:46 2017
@@ -20,6 +20,10 @@ package org.apache.maven.plugin.javadoc;
*/
import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.assertEquals;
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
import org.junit.Test;
@@ -45,4 +49,20 @@ public class JavadocVersionTest
assertTrue( JavadocVersion.parse( "1.5" ).compareTo( JavadocVersion.parse( "1.4" ) ) > 0 );
assertTrue( JavadocVersion.parse( "9" ).compareTo( JavadocVersion.parse( "1.8" ) ) > 0 );
}
+
+ @Test
+ public void testApiVersion() {
+ Pattern p = Pattern.compile( "(1\\.\\d|\\d\\d*)" );
+ Matcher m = p.matcher( "9" );
+ assertTrue(m.find());
+ assertEquals( "9", m.group( 1 ));
+
+ m = p.matcher( "1.4" );
+ assertTrue(m.find());
+ assertEquals( "1.4", m.group( 1 ));
+
+ m = p.matcher( "1.4.2" );
+ assertTrue(m.find());
+ assertEquals( "1.4", m.group( 1 ));
+ }
}