You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ni...@apache.org on 2008/04/23 13:11:21 UTC
svn commit: r650825 - in /maven/enforcer/trunk/enforcer-rules/src:
main/java/org/apache/maven/plugins/enforcer/RequirePluginVersions.java
site/apt/rules/requirePluginVersions.apt
test/java/org/apache/maven/plugins/enforcer/TestRequirePluginVersions.java
Author: nicolas
Date: Wed Apr 23 04:11:09 2008
New Revision: 650825
URL: http://svn.apache.org/viewvc?rev=650825&view=rev
Log:
MENFORCER-44 banTimestamps to enable timestamp SNAPSHOT (as release plugin does)
Modified:
maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequirePluginVersions.java
maven/enforcer/trunk/enforcer-rules/src/site/apt/rules/requirePluginVersions.apt
maven/enforcer/trunk/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequirePluginVersions.java
Modified: maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequirePluginVersions.java
URL: http://svn.apache.org/viewvc/maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequirePluginVersions.java?rev=650825&r1=650824&r2=650825&view=diff
==============================================================================
--- maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequirePluginVersions.java (original)
+++ maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequirePluginVersions.java Wed Apr 23 04:11:09 2008
@@ -97,6 +97,12 @@
public boolean banSnapshots = true;
/**
+ * Don't allow timestamp snapshot plugins.
+ */
+ public boolean banTimestamps = true;
+
+
+ /**
* The comma separated list of phases that should be used to find lifecycle plugin bindings. The default value is
* "clean,deploy,site".
*
@@ -196,7 +202,7 @@
{
StringBuffer newMsg = new StringBuffer();
newMsg.append( "Some plugins are missing valid versions:" );
- if ( banLatest || banRelease || banSnapshots )
+ if ( banLatest || banRelease || banSnapshots || banTimestamps )
{
newMsg.append( "(" );
if ( banLatest )
@@ -207,7 +213,7 @@
{
newMsg.append( "RELEASE " );
}
- if ( banSnapshots )
+ if ( banSnapshots || banTimestamps )
{
newMsg.append( "SNAPSHOT " );
}
@@ -537,8 +543,15 @@
protected boolean isSnapshot( String baseVersion )
{
- return Artifact.VERSION_FILE_PATTERN.matcher( baseVersion ).matches() ||
- baseVersion.endsWith( Artifact.SNAPSHOT_VERSION );
+ if ( banTimestamps )
+ {
+ return Artifact.VERSION_FILE_PATTERN.matcher( baseVersion ).matches() ||
+ baseVersion.endsWith( Artifact.SNAPSHOT_VERSION );
+ }
+ else
+ {
+ return baseVersion.endsWith( Artifact.SNAPSHOT_VERSION );
+ }
}
/*
@@ -969,5 +982,22 @@
public void setBanSnapshots( boolean theBanSnapshots )
{
this.banSnapshots = theBanSnapshots;
+ }
+
+
+ /**
+ * @return the banTimestamps
+ */
+ public boolean isBanTimestamps()
+ {
+ return this.banTimestamps;
+ }
+
+ /**
+ * @param theBanTimestamps the banTimestamps to set
+ */
+ public void setBanTimestamps( boolean theBanTimestamps )
+ {
+ this.banTimestamps = theBanTimestamps;
}
}
Modified: maven/enforcer/trunk/enforcer-rules/src/site/apt/rules/requirePluginVersions.apt
URL: http://svn.apache.org/viewvc/maven/enforcer/trunk/enforcer-rules/src/site/apt/rules/requirePluginVersions.apt?rev=650825&r1=650824&r2=650825&view=diff
==============================================================================
--- maven/enforcer/trunk/enforcer-rules/src/site/apt/rules/requirePluginVersions.apt (original)
+++ maven/enforcer/trunk/enforcer-rules/src/site/apt/rules/requirePluginVersions.apt Wed Apr 23 04:11:09 2008
@@ -36,7 +36,9 @@
* banRelease - disallow any use of "RELEASE" as a version for any plugin. Default = true.
* banSnapshots - disallow any use of SNAPSHOT plugins. Default = true.
-
+
+ * banTimestamps - disallow any use of snapshot plugins with timestamp version (only enabled when banSnapshots is true). Default = true.
+
* phases - The comma separated list of phases that should be used to find
lifecycle plugin bindings. The default value is "clean,deploy,site".
Modified: maven/enforcer/trunk/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequirePluginVersions.java
URL: http://svn.apache.org/viewvc/maven/enforcer/trunk/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequirePluginVersions.java?rev=650825&r1=650824&r2=650825&view=diff
==============================================================================
--- maven/enforcer/trunk/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequirePluginVersions.java (original)
+++ maven/enforcer/trunk/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequirePluginVersions.java Wed Apr 23 04:11:09 2008
@@ -70,6 +70,7 @@
plugins.add( EnforcerTestUtils.newPlugin( "group", "f-artifact", "1.0" ) );
plugins.add( EnforcerTestUtils.newPlugin( "group", "f-artifact", "LATEST" ) );
plugins.add( EnforcerTestUtils.newPlugin( "group", "f-artifact", "1.0-SNAPSHOT" ) );
+ plugins.add( EnforcerTestUtils.newPlugin( "group", "g-artifact", "1.0-12345678.123456-1" ) );
RequirePluginVersions rule = new RequirePluginVersions();
rule.setBanLatest( false );
@@ -96,6 +97,11 @@
rule.setBanLatest( false );
rule.setBanSnapshots( true );
assertFalse( rule.hasValidVersionSpecified( helper, source, plugins ) );
+
+ // check that TIMESTAMP is allowed
+ rule.setBanTimestamps( false );
+ source.setArtifactId( "g-artifact" );
+ assertTrue( rule.hasValidVersionSpecified( helper, source, plugins ) );
// check that RELEASE is allowed
source.setArtifactId( "d-artifact" );