You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by br...@apache.org on 2007/03/31 00:59:33 UTC
svn commit: r524303 - in /maven/plugins/trunk/maven-enforcer-plugin/src:
main/java/org/apache/maven/plugin/enforcer/ site/apt/rules/
test/java/org/apache/maven/plugin/enforcer/
Author: brianf
Date: Fri Mar 30 15:59:32 2007
New Revision: 524303
URL: http://svn.apache.org/viewvc?view=rev&rev=524303
Log:
fixed bug handling jdkversions.
Added:
maven/plugins/trunk/maven-enforcer-plugin/src/main/java/org/apache/maven/plugin/enforcer/DisplayInfoMojo.java
- copied, changed from r523925, maven/plugins/trunk/maven-enforcer-plugin/src/main/java/org/apache/maven/plugin/enforcer/DisplayOsMojo.java
Removed:
maven/plugins/trunk/maven-enforcer-plugin/src/main/java/org/apache/maven/plugin/enforcer/DisplayOsMojo.java
Modified:
maven/plugins/trunk/maven-enforcer-plugin/src/main/java/org/apache/maven/plugin/enforcer/RequireJavaVersion.java
maven/plugins/trunk/maven-enforcer-plugin/src/main/java/org/apache/maven/plugin/enforcer/RequireMavenVersion.java
maven/plugins/trunk/maven-enforcer-plugin/src/main/java/org/apache/maven/plugin/enforcer/RequireOS.java
maven/plugins/trunk/maven-enforcer-plugin/src/site/apt/rules/requireJavaVersion.apt
maven/plugins/trunk/maven-enforcer-plugin/src/test/java/org/apache/maven/plugin/enforcer/TestAbstractVersionEnforcer.java
maven/plugins/trunk/maven-enforcer-plugin/src/test/java/org/apache/maven/plugin/enforcer/TestRequireJavaVersion.java
maven/plugins/trunk/maven-enforcer-plugin/src/test/java/org/apache/maven/plugin/enforcer/TestRequireOS.java
Copied: maven/plugins/trunk/maven-enforcer-plugin/src/main/java/org/apache/maven/plugin/enforcer/DisplayInfoMojo.java (from r523925, maven/plugins/trunk/maven-enforcer-plugin/src/main/java/org/apache/maven/plugin/enforcer/DisplayOsMojo.java)
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-enforcer-plugin/src/main/java/org/apache/maven/plugin/enforcer/DisplayInfoMojo.java?view=diff&rev=524303&p1=maven/plugins/trunk/maven-enforcer-plugin/src/main/java/org/apache/maven/plugin/enforcer/DisplayOsMojo.java&r1=523925&p2=maven/plugins/trunk/maven-enforcer-plugin/src/main/java/org/apache/maven/plugin/enforcer/DisplayInfoMojo.java&r2=524303
==============================================================================
--- maven/plugins/trunk/maven-enforcer-plugin/src/main/java/org/apache/maven/plugin/enforcer/DisplayOsMojo.java (original)
+++ maven/plugins/trunk/maven-enforcer-plugin/src/main/java/org/apache/maven/plugin/enforcer/DisplayInfoMojo.java Fri Mar 30 15:59:32 2007
@@ -33,7 +33,7 @@
* @author <a href="mailto:brianf@apache.org">Brian Fox</a>
* @version $Id: EnforceMojo.java 523156 2007-03-28 03:53:54Z brianf $
*/
-public class DisplayOsMojo
+public class DisplayInfoMojo
extends AbstractMojo
{
/**
@@ -59,9 +59,9 @@
RequireJavaVersion java = new RequireJavaVersion();
getLog().info(
"JDK Version: " + SystemUtils.JAVA_VERSION + " normalized as: "
- + java.fixJDKVersion( SystemUtils.JAVA_VERSION_TRIMMED ) );
+ + java.normalizeJDKVersion( SystemUtils.JAVA_VERSION_TRIMMED ) );
RequireOS os = new RequireOS();
- os.displayOSInfo( getLog() );
+ os.displayOSInfo( getLog(), true );
}
catch ( ComponentLookupException e )
Modified: maven/plugins/trunk/maven-enforcer-plugin/src/main/java/org/apache/maven/plugin/enforcer/RequireJavaVersion.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-enforcer-plugin/src/main/java/org/apache/maven/plugin/enforcer/RequireJavaVersion.java?view=diff&rev=524303&r1=524302&r2=524303
==============================================================================
--- maven/plugins/trunk/maven-enforcer-plugin/src/main/java/org/apache/maven/plugin/enforcer/RequireJavaVersion.java (original)
+++ maven/plugins/trunk/maven-enforcer-plugin/src/main/java/org/apache/maven/plugin/enforcer/RequireJavaVersion.java Fri Mar 30 15:59:32 2007
@@ -26,6 +26,7 @@
import org.apache.commons.lang.SystemUtils;
import org.apache.maven.artifact.versioning.ArtifactVersion;
import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
+import org.apache.maven.plugin.logging.Log;
import org.apache.maven.shared.enforcer.rule.api.EnforcerRule;
import org.apache.maven.shared.enforcer.rule.api.EnforcerRuleException;
import org.apache.maven.shared.enforcer.rule.api.EnforcerRuleHelper;
@@ -45,9 +46,19 @@
public void execute( EnforcerRuleHelper helper )
throws EnforcerRuleException
{
+ String java_version = SystemUtils.JAVA_VERSION_TRIMMED;
+ Log log = helper.getLog();
- ArtifactVersion detectedJdkVersion = new DefaultArtifactVersion(
- fixJDKVersion( SystemUtils.JAVA_VERSION_TRIMMED ) );
+ log.debug( "Detected Java String: " + java_version );
+ java_version = normalizeJDKVersion( java_version );
+ log.debug( "Normalized Java String: " + java_version );
+
+ ArtifactVersion detectedJdkVersion = new DefaultArtifactVersion( java_version );
+
+ log.debug( "Parsed Version: Major: " + detectedJdkVersion.getMajorVersion() + " Minor: "
+ + detectedJdkVersion.getMinorVersion() + " Incremental: " + detectedJdkVersion.getIncrementalVersion()
+ + " Build: " + detectedJdkVersion.getBuildNumber() + " Qualifier: " + detectedJdkVersion.getQualifier() );
+
enforceVersion( helper.getLog(), "JDK", version, detectedJdkVersion );
}
@@ -59,8 +70,9 @@
* to be converted.
* @return the converted string.
*/
- public static String fixJDKVersion( String theJdkVersion )
+ public static String normalizeJDKVersion( String theJdkVersion )
{
+
theJdkVersion = theJdkVersion.replaceAll( "_|-", "." );
String tokenArray[] = StringUtils.split( theJdkVersion, "." );
List tokens = Arrays.asList( tokenArray );
@@ -69,7 +81,11 @@
Iterator iter = tokens.iterator();
for ( int i = 0; i < tokens.size() && i < 4; i++ )
{
- buffer.append( iter.next() );
+ String section = (String) iter.next();
+ section = section.replaceAll( "[^0-9]", "" );
+
+ buffer.append( Integer.parseInt( section ) );
+
if ( i != 2 )
{
buffer.append( '.' );
Modified: maven/plugins/trunk/maven-enforcer-plugin/src/main/java/org/apache/maven/plugin/enforcer/RequireMavenVersion.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-enforcer-plugin/src/main/java/org/apache/maven/plugin/enforcer/RequireMavenVersion.java?view=diff&rev=524303&r1=524302&r2=524303
==============================================================================
--- maven/plugins/trunk/maven-enforcer-plugin/src/main/java/org/apache/maven/plugin/enforcer/RequireMavenVersion.java (original)
+++ maven/plugins/trunk/maven-enforcer-plugin/src/main/java/org/apache/maven/plugin/enforcer/RequireMavenVersion.java Fri Mar 30 15:59:32 2007
@@ -44,6 +44,7 @@
{
RuntimeInformation rti = helper.getRuntimeInformation();
ArtifactVersion detectedMavenVersion = rti.getApplicationVersion();
+ helper.getLog().debug( "Detected Maven Version: " + detectedMavenVersion );
enforceVersion( helper.getLog(), "Maven", this.version, detectedMavenVersion );
}
catch ( ComponentLookupException e )
Modified: maven/plugins/trunk/maven-enforcer-plugin/src/main/java/org/apache/maven/plugin/enforcer/RequireOS.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-enforcer-plugin/src/main/java/org/apache/maven/plugin/enforcer/RequireOS.java?view=diff&rev=524303&r1=524302&r2=524303
==============================================================================
--- maven/plugins/trunk/maven-enforcer-plugin/src/main/java/org/apache/maven/plugin/enforcer/RequireOS.java (original)
+++ maven/plugins/trunk/maven-enforcer-plugin/src/main/java/org/apache/maven/plugin/enforcer/RequireOS.java Fri Mar 30 15:59:32 2007
@@ -111,10 +111,8 @@
public void execute( EnforcerRuleHelper helper )
throws EnforcerRuleException
{
- if ( display )
- {
- displayOSInfo( helper.getLog() );
- }
+
+ displayOSInfo( helper.getLog(), display );
if ( allParamsEmpty() )
{
@@ -153,10 +151,19 @@
*
* @param log
*/
- public void displayOSInfo( Log log )
+ public void displayOSInfo( Log log, boolean info )
{
- log.info( "OS Info: Arch: " + RequireOS.OS_ARCH + " Family: " + determineOsFamily() + " Name: "
- + RequireOS.OS_NAME + " Version: " + RequireOS.OS_VERSION );
+ String string = "OS Info: Arch: " + RequireOS.OS_ARCH + " Family: " + determineOsFamily() + " Name: "
+ + RequireOS.OS_NAME + " Version: " + RequireOS.OS_VERSION;
+
+ if ( !info )
+ {
+ log.debug( string );
+ }
+ else
+ {
+ log.info( string );
+ }
}
/**
Modified: maven/plugins/trunk/maven-enforcer-plugin/src/site/apt/rules/requireJavaVersion.apt
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-enforcer-plugin/src/site/apt/rules/requireJavaVersion.apt?view=diff&rev=524303&r1=524302&r2=524303
==============================================================================
--- maven/plugins/trunk/maven-enforcer-plugin/src/site/apt/rules/requireJavaVersion.apt (original)
+++ maven/plugins/trunk/maven-enforcer-plugin/src/site/apt/rules/requireJavaVersion.apt Fri Mar 30 15:59:32 2007
@@ -35,11 +35,13 @@
The JDK version is retrieved and the following processing occurs before being checked:
- [[1]] Drop all non-numeric characters preceeding the first number. (build 1.5.0_11-b03 becomes 1.5.0_11-b03)
+ [[1]] Drop all non-numeric characters preceeding the first number. (build 1.5.0_07-b03 becomes 1.5.0_07-b03)
- [[2]] Replace all '_' and '-' with '.' (1.5.0_11-b03 becomes 1.5.0.11.b03)
+ [[2]] Replace all '_' and '-' with '.' (1.5.0_07-b03 becomes 1.5.0.07.b03)
- [[3]] Split the string on '.' and take the first 3 sections, separated by '.' and add '-' followed by the forth section (1.5.0.11.b03 becomes 1.5.0-11)
+ [[3]] Remove all non digit characters "[^0-9] and convert each section using Integer.parseInt() (1.5.0_07-b03 becomes 1.5.0.7.3)
+
+ [[3]] Split the string on '.' and take the first 3 sections, separated by '.' and add '-' followed by the forth section (1.5.0.7.3 becomes 1.5.0-7)
[]
Modified: maven/plugins/trunk/maven-enforcer-plugin/src/test/java/org/apache/maven/plugin/enforcer/TestAbstractVersionEnforcer.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-enforcer-plugin/src/test/java/org/apache/maven/plugin/enforcer/TestAbstractVersionEnforcer.java?view=diff&rev=524303&r1=524302&r2=524303
==============================================================================
--- maven/plugins/trunk/maven-enforcer-plugin/src/test/java/org/apache/maven/plugin/enforcer/TestAbstractVersionEnforcer.java (original)
+++ maven/plugins/trunk/maven-enforcer-plugin/src/test/java/org/apache/maven/plugin/enforcer/TestAbstractVersionEnforcer.java Fri Mar 30 15:59:32 2007
@@ -60,6 +60,15 @@
assertTrue( rule.containsVersion( VersionRange.createFromVersionSpec( "2.0.5" ), version ) );
assertFalse( rule.containsVersion( VersionRange.createFromVersionSpec( "2.0.6" ), version ) );
+
+ version = new DefaultArtifactVersion("1.5.0-7");
+ assertTrue( rule.containsVersion( VersionRange.createFromVersionSpec( "[1.5.0,)" ), version ) );
+ assertTrue( rule.containsVersion( VersionRange.createFromVersionSpec( "[1.5,1.6)" ), version ) );
+
+ version = new DefaultArtifactVersion(RequireJavaVersion.normalizeJDKVersion( "1.5.0-07" ));
+ assertTrue( rule.containsVersion( VersionRange.createFromVersionSpec( "[1.5.0,)" ), version ) );
+ assertTrue( rule.containsVersion( VersionRange.createFromVersionSpec( "[1.5,1.6)" ), version ) );
+
}
private void enforceFalse( AbstractVersionEnforcer rule, Log log, String var, String range, ArtifactVersion version )
Modified: maven/plugins/trunk/maven-enforcer-plugin/src/test/java/org/apache/maven/plugin/enforcer/TestRequireJavaVersion.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-enforcer-plugin/src/test/java/org/apache/maven/plugin/enforcer/TestRequireJavaVersion.java?view=diff&rev=524303&r1=524302&r2=524303
==============================================================================
--- maven/plugins/trunk/maven-enforcer-plugin/src/test/java/org/apache/maven/plugin/enforcer/TestRequireJavaVersion.java (original)
+++ maven/plugins/trunk/maven-enforcer-plugin/src/test/java/org/apache/maven/plugin/enforcer/TestRequireJavaVersion.java Fri Mar 30 15:59:32 2007
@@ -36,23 +36,26 @@
public void testFixJDKVersion()
{
// test that we only take the first 3 versions for comparision
- assertEquals( "1.5.0-11", RequireJavaVersion.fixJDKVersion( "1.5.0_11" ) );
- assertEquals( "1.5.1", RequireJavaVersion.fixJDKVersion( "1.5.1" ) );
- assertEquals( "1.5.2-1", RequireJavaVersion.fixJDKVersion( "1.5.2-1.b11" ) );
- assertEquals( "1.5.3-11", RequireJavaVersion.fixJDKVersion( "1.5.3_11" ) );
- assertEquals( "1.5.4-5", RequireJavaVersion.fixJDKVersion( "1.5.4.5_11" ) );
- assertEquals( "1.5.5-6", RequireJavaVersion.fixJDKVersion( "1.5.5.6_11.2" ) );
+ assertEquals( "1.5.0-11", RequireJavaVersion.normalizeJDKVersion( "1.5.0_11" ) );
+ assertEquals( "1.5.1", RequireJavaVersion.normalizeJDKVersion( "1.5.1" ) );
+ assertEquals( "1.5.2-1", RequireJavaVersion.normalizeJDKVersion( "1.5.2-1.b11" ) );
+ assertEquals( "1.5.3-11", RequireJavaVersion.normalizeJDKVersion( "1.5.3_11" ) );
+ assertEquals( "1.5.4-5", RequireJavaVersion.normalizeJDKVersion( "1.5.4.5_11" ) );
+ assertEquals( "1.5.5-6", RequireJavaVersion.normalizeJDKVersion( "1.5.5.6_11.2" ) );
// test for non-standard versions
- assertEquals( "1.5.0-11", RequireJavaVersion.fixJDKVersion( "1-5-0-11" ) );
- assertEquals( "1.5.0-11", RequireJavaVersion.fixJDKVersion( "1-_5-_0-_11" ) );
- assertEquals( "1.5.0-11", RequireJavaVersion.fixJDKVersion( "1_5_0_11" ) );
+ assertEquals( "1.5.0-11", RequireJavaVersion.normalizeJDKVersion( "1-5-0-11" ) );
+ assertEquals( "1.5.0-11", RequireJavaVersion.normalizeJDKVersion( "1-_5-_0-_11" ) );
+ assertEquals( "1.5.0-11", RequireJavaVersion.normalizeJDKVersion( "1_5_0_11" ) );
+ assertEquals( "1.5.0-7", RequireJavaVersion.normalizeJDKVersion( "1.5.0-07" ) );
+ assertEquals( "1.5.0-7", RequireJavaVersion.normalizeJDKVersion( "1.5.0-b7" ) );
+ assertEquals( "1.5.0-7", RequireJavaVersion.normalizeJDKVersion( "1.5.0-;7" ) );
}
public void testRule()
throws EnforcerRuleException
{
- String thisVersion = RequireJavaVersion.fixJDKVersion( SystemUtils.JAVA_VERSION_TRIMMED );
+ String thisVersion = RequireJavaVersion.normalizeJDKVersion( SystemUtils.JAVA_VERSION_TRIMMED );
RequireJavaVersion rule = new RequireJavaVersion();
rule.setVersion( thisVersion );
@@ -62,7 +65,7 @@
// test the singular version
rule.execute( helper );
-
+
// exclude this version
rule.setVersion( "(" + thisVersion );
Modified: maven/plugins/trunk/maven-enforcer-plugin/src/test/java/org/apache/maven/plugin/enforcer/TestRequireOS.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-enforcer-plugin/src/test/java/org/apache/maven/plugin/enforcer/TestRequireOS.java?view=diff&rev=524303&r1=524302&r2=524303
==============================================================================
--- maven/plugins/trunk/maven-enforcer-plugin/src/test/java/org/apache/maven/plugin/enforcer/TestRequireOS.java (original)
+++ maven/plugins/trunk/maven-enforcer-plugin/src/test/java/org/apache/maven/plugin/enforcer/TestRequireOS.java Fri Mar 30 15:59:32 2007
@@ -40,8 +40,9 @@
public void testOS()
{
Log log = new SystemStreamLog();
+
RequireOS rule = new RequireOS();
- rule.displayOSInfo( log );
+ rule.displayOSInfo( log, true );
Iterator iter = rule.getValidFamilies().iterator();
String validFamily = null;