Author: brianf
Date: Sun Mar 18 12:12:16 2007
New Revision: 519673
URL: http://svn.apache.org/viewvc?view=rev&rev=519673
Log:
consolidate the mojos
Removed:
maven/sandbox/trunk/plugins/maven-enforcer-plugin/src/main/java/org/apache/maven/plugin/enforcer/JdkMojo.java
maven/sandbox/trunk/plugins/maven-enforcer-plugin/src/main/java/org/apache/maven/plugin/enforcer/MavenMojo.java
Modified:
maven/sandbox/trunk/plugins/maven-enforcer-plugin/src/main/java/org/apache/maven/plugin/enforcer/abstractVersionEnforcer.java
maven/sandbox/trunk/plugins/maven-enforcer-plugin/src/main/java/org/apache/maven/plugin/enforcer/enforce.java
Modified:
maven/sandbox/trunk/plugins/maven-enforcer-plugin/src/main/java/org/apache/maven/plugin/enforcer/abstractVersionEnforcer.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/plugins/maven-enforcer-plugin/src/main/java/org/apache/maven/plugin/enforcer/abstractVersionEnforcer.java?view=diff&rev=519673&r1=519672&r2=519673
==============================================================================
---
maven/sandbox/trunk/plugins/maven-enforcer-plugin/src/main/java/org/apache/maven/plugin/enforcer/abstractVersionEnforcer.java
(original)
+++
maven/sandbox/trunk/plugins/maven-enforcer-plugin/src/main/java/org/apache/maven/plugin/enforcer/abstractVersionEnforcer.java
Sun Mar 18 12:12:16 2007
@@ -4,6 +4,7 @@
package org.apache.maven.plugin.enforcer;
import org.apache.maven.artifact.versioning.ArtifactVersion;
+import
org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
import org.apache.maven.artifact.versioning.VersionRange;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
@@ -19,36 +20,63 @@
extends AbstractMojo
{
- public void enforceVersion( String variableName, String
requiredVersionRange, ArtifactVersion actualVersion,
- boolean warn )
+ /**
+ * Flag to warn only if a version check fails.
+ *
+ * @parameter expression="${enforcer.warn}" default-value="false"
+ */
+ private boolean warn = false;
+
+ public boolean enforceVersion( String variableName, String
requiredVersionRange, ArtifactVersion actualVersion )
throws MojoExecutionException, MojoFailureException
{
+ boolean allowed = false;
if ( StringUtils.isEmpty( requiredVersionRange ) )
{
throw new MojoExecutionException( variableName + " version can't
be empty." );
}
-
- VersionRange vr;
-
- vr = VersionRange.createFromVersion( requiredVersionRange );
-
- Log log = this.getLog();
- String msg = "Detected " + variableName + " Version: " + actualVersion;
- if ( vr.containsVersion( actualVersion ) )
- {
- log.debug( msg + " is allowed." );
- }
else
{
- String error = msg + " is not in the allowed range: " + vr;
- if ( warn )
+
+ VersionRange vr;
+ Log log = this.getLog();
+ String msg = "Detected " + variableName + " Version: " +
actualVersion;
+ if ( actualVersion.toString().equals( requiredVersionRange ) )
{
- log.warn( error );
+ log.debug( msg + " is allowed." );
+ allowed = true;
}
else
{
- throw new MojoExecutionException( error );
+ try
+ {
+ vr = VersionRange.createFromVersionSpec(
requiredVersionRange );
+
+ if ( vr.containsVersion( actualVersion ) ||
vr.toString().equals( requiredVersionRange ) )
+ {
+ log.debug( msg + " is allowed." );
+ allowed = true;
+ }
+ else
+ {
+ String error = msg + " is not in the allowed range: "
+ vr;
+ if ( warn )
+ {
+ log.warn( error );
+ }
+ else
+ {
+ throw new MojoExecutionException( error );
+ }
+ }
+ }
+ catch ( InvalidVersionSpecificationException e )
+ {
+ throw new MojoExecutionException("The requested "+
variableName+" version "+ requiredVersionRange+" is invalid.",e);
+ }
}
+
+ return allowed;
}
}
}
Modified:
maven/sandbox/trunk/plugins/maven-enforcer-plugin/src/main/java/org/apache/maven/plugin/enforcer/enforce.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/plugins/maven-enforcer-plugin/src/main/java/org/apache/maven/plugin/enforcer/enforce.java?view=diff&rev=519673&r1=519672&r2=519673
==============================================================================
---
maven/sandbox/trunk/plugins/maven-enforcer-plugin/src/main/java/org/apache/maven/plugin/enforcer/enforce.java
(original)
+++
maven/sandbox/trunk/plugins/maven-enforcer-plugin/src/main/java/org/apache/maven/plugin/enforcer/enforce.java
Sun Mar 18 12:12:16 2007
@@ -19,27 +19,27 @@
* under the License.
*/
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+
import org.apache.commons.lang.SystemUtils;
import org.apache.maven.artifact.versioning.ArtifactVersion;
import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
-import
org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
-import org.apache.maven.artifact.versioning.VersionRange;
import org.apache.maven.execution.RuntimeInformation;
-import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.plugin.logging.Log;
import org.codehaus.plexus.util.StringUtils;
/**
- * Goal which fails the build if the jdk isn't the correct version
+ * Goal which fails the build if the specified version isn't allowed.
*
* @goal enforce
- * @author Brian Fox
+ * @author <a href="mailto:[EMAIL PROTECTED]">Brian Fox</a>
* @phase process-sources
*/
public class enforce
- extends AbstractMojo
+ extends abstractVersionEnforcer
{
/**
* Used to look up Artifacts in the remote repository.
@@ -85,93 +85,51 @@
private String jdkVersion = null;
/**
- * Flag to warn only if the mavenVersion check fails.
- *
- * @parameter expression="${enforcer.warn}" default-value="false"
- */
- private boolean warn = false;
-
- /**
*
*/
public enforce()
{
super();
- // TODO Auto-generated constructor stub
}
- /*
- * (non-Javadoc)
- *
- * @see org.apache.maven.plugin.Mojo#execute()
- */
+
public void execute()
throws MojoExecutionException, MojoFailureException
{
if ( StringUtils.isNotEmpty( this.mavenVersion ) )
{
- ArtifactVersion version = rti.getApplicationVersion();
- this.enforceVersion( "Maven", this.mavenVersion, version,
this.warn );
+ ArtifactVersion detectedMavenVersion = rti.getApplicationVersion();
+ enforceVersion( "Maven", this.mavenVersion, detectedMavenVersion );
}
if ( StringUtils.isNotEmpty( this.jdkVersion ) )
{
- ArtifactVersion version = new
DefaultArtifactVersion(fixJDKVersion(SystemUtils.JAVA_VERSION_TRIMMED));
-
- this.enforceVersion( "JDK", fixJDKVersion(this.jdkVersion),
version, this.warn );
+ ArtifactVersion detectedJdkVersion = new DefaultArtifactVersion(
+
fixJDKVersion( SystemUtils.JAVA_VERSION_TRIMMED ) );
+ enforceVersion( "JDK", this.jdkVersion, detectedJdkVersion );
}
}
- public String fixJDKVersion( String jdkVersion )
+ /**
+ * Converts a jdk string from 1.5.0-11 to a single 3 digit version like
+ * 1.5.0
+ */
+ public String fixJDKVersion( String theJdkVersion )
{
+ theJdkVersion = theJdkVersion.replaceAll( "_|-", "." );
+ String tokenArray[] = StringUtils.split( theJdkVersion, "." );
+ List tokens = Arrays.asList( tokenArray );
+ StringBuffer buffer = new StringBuffer( theJdkVersion.length() );
- /* String token[] = StringUtils.split( jdkVersion.replace( '_', '.' ),
"." );
- StringBuffer buffer = new StringBuffer( jdkVersion.length() );
- for ( int i = 0; i <= 2; i++ )
+ Iterator iter = tokens.iterator();
+ for ( int i = 0; i < tokens.size() && i < 3; i++ )
{
- buffer.append( token[i] );
- buffer.append( "." );
+ buffer.append( iter.next() );
+ buffer.append( '.' );
}
String version = buffer.toString();
- return StringUtils.stripEnd(version,".");
- */
- return jdkVersion;
- }
-
- public void enforceVersion( String variableName, String
requiredVersionRange, ArtifactVersion actualVersion,
- boolean warn )
- throws MojoExecutionException, MojoFailureException
- {
- VersionRange vr = null;
- try
- {
- vr = VersionRange.createFromVersionSpec( requiredVersionRange );
- }
- catch ( InvalidVersionSpecificationException e )
- {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
-
- Log log = this.getLog();
- String msg = "Detected " + variableName + " Version: " + actualVersion;
- if ( vr.containsVersion( actualVersion ) )
- {
- log.debug( msg + " is allowed." );
- }
- else
- {
- String error = msg + " is not in the allowed range: " + vr;
- if ( warn )
- {
- log.warn( error );
- }
- else
- {
- throw new MojoExecutionException( error );
- }
- }
+ return StringUtils.stripEnd( version, "." );
}
}