You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jd...@apache.org on 2010/09/24 18:09:14 UTC

svn commit: r1000932 - in /maven/plugins/trunk/maven-assembly-plugin/src: main/java/org/apache/maven/plugin/assembly/ main/java/org/apache/maven/plugin/assembly/archive/ main/java/org/apache/maven/plugin/assembly/archive/archiver/ main/java/org/apache/...

Author: jdcasey
Date: Fri Sep 24 16:09:14 2010
New Revision: 1000932

URL: http://svn.apache.org/viewvc?rev=1000932&view=rev
Log:
[MASSEMBLY-115] Add updateOnly flag (default value: false) to control the setForced(..) feature of Archiver instances.

Modified:
    maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/AssemblerConfigurationSource.java
    maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/DefaultAssemblyArchiver.java
    maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/archiver/AssemblyProxyArchiver.java
    maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/mojos/AbstractAssemblyMojo.java
    maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/DefaultAssemblyArchiverTest.java
    maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/testutils/ConfigSourceStub.java

Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/AssemblerConfigurationSource.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/AssemblerConfigurationSource.java?rev=1000932&r1=1000931&r2=1000932&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/AssemblerConfigurationSource.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/AssemblerConfigurationSource.java Fri Sep 24 16:09:14 2010
@@ -89,4 +89,6 @@ public interface AssemblerConfigurationS
     String getArchiverConfig();
 
     MavenFileFilter getMavenFileFilter();
+
+    boolean isUpdateOnly();
 }

Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/DefaultAssemblyArchiver.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/DefaultAssemblyArchiver.java?rev=1000932&r1=1000931&r2=1000932&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/DefaultAssemblyArchiver.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/DefaultAssemblyArchiver.java Fri Sep 24 16:09:14 2010
@@ -320,6 +320,8 @@ public class DefaultAssemblyArchiver
             new AssemblyProxyArchiver( prefix, archiver, containerHandlers, extraSelectors, extraFinalizers,
                                        configSource.getWorkingDirectory(), getLogger(), configSource.isDryRun() );
 
+        archiver.setForced( !configSource.isUpdateOnly() );
+
         return archiver;
     }
 

Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/archiver/AssemblyProxyArchiver.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/archiver/AssemblyProxyArchiver.java?rev=1000932&r1=1000931&r2=1000932&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/archiver/AssemblyProxyArchiver.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/archiver/AssemblyProxyArchiver.java Fri Sep 24 16:09:14 2010
@@ -76,6 +76,8 @@ public class AssemblyProxyArchiver
 
     private final boolean dryRun;
 
+    private boolean forced;
+
     private final Set<String> seenPaths = new HashSet<String>();
 
     private final String assemblyWorkPath;
@@ -501,6 +503,7 @@ public class AssemblyProxyArchiver
             }
             else
             {
+                delegate.setForced( forced );
                 delegate.createArchive();
             }
         }
@@ -646,6 +649,7 @@ public class AssemblyProxyArchiver
         inPublicApi.set( Boolean.TRUE );
         try
         {
+            this.forced = forced;
             delegate.setForced( forced );
         }
         finally

Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/mojos/AbstractAssemblyMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/mojos/AbstractAssemblyMojo.java?rev=1000932&r1=1000931&r2=1000932&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/mojos/AbstractAssemblyMojo.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/mojos/AbstractAssemblyMojo.java Fri Sep 24 16:09:14 2010
@@ -59,7 +59,7 @@ public abstract class AbstractAssemblyMo
      * Flag allowing one or more executions of the assembly plugin to be configured as skipped for a particular build.
      * This makes the assembly plugin more controllable from profiles.
      * 
-     * @parameter expression="${skipAssembly}" default-value="false"
+     * @parameter expression="${assembly.skipAssembly}" default-value="false"
      */
     private boolean skipAssembly;
 
@@ -191,7 +191,7 @@ public abstract class AbstractAssemblyMo
      * Sets the TarArchiver behavior on file paths with more than 100 characters length. Valid values are: "warn"
      * (default), "fail", "truncate", "gnu", or "omit".
      * 
-     * @parameter expression="${tarLongFileMode}" default-value="warn"
+     * @parameter expression="${assembly.tarLongFileMode}" default-value="warn"
      */
     private String tarLongFileMode;
 
@@ -221,7 +221,7 @@ public abstract class AbstractAssemblyMo
     /**
      * The Maven Session Object
      * 
-     * @parameter expression="${session}"
+     * @parameter default-value="${session}"
      * @required
      * @readonly
      */
@@ -256,14 +256,14 @@ public abstract class AbstractAssemblyMo
     /**
      * Set to false to exclude the assembly id from the assembly final name.
      * 
-     * @parameter expression="${appendAssemblyId}" default-value="true"
+     * @parameter expression="${assembly.appendAssemblyId}" default-value="true"
      */
     protected boolean appendAssemblyId;
 
     /**
      * Set to true in order to not fail when a descriptor is missing.
      * 
-     * @parameter expression="${ignoreMissingDescriptor}" default-value="false"
+     * @parameter expression="${assembly.ignoreMissingDescriptor}" default-value="false"
      */
     protected boolean ignoreMissingDescriptor;
 
@@ -283,7 +283,7 @@ public abstract class AbstractAssemblyMo
     /**
      * Controls whether the assembly plugin tries to attach the resulting assembly to the project.
      * 
-     * @parameter expression="${attach}" default-value="true"
+     * @parameter expression="${assembly.attach}" default-value="true"
      * @since 2.2-beta-1
      */
     private boolean attach;
@@ -318,12 +318,20 @@ public abstract class AbstractAssemblyMo
      * This will cause the assembly to run only at the top of a given module tree. That is, run in the project contained
      * in the same folder where the mvn execution was launched.
      * 
-     * @parameter expression="${runOnlyAtExecutionRoot}" default-value="false"
+     * @parameter expression="${assembly.runOnlyAtExecutionRoot}" default-value="false"
      * @since 2.2-beta-4
      */
     private boolean runOnlyAtExecutionRoot;
 
     /**
+     * This will cause the assembly to only update an existing archive, if it exists.
+     * 
+     * @parameter expression="${assembly.updatOnly}" default-value="false"
+     * @since 2.2-beta-6
+     */
+    private boolean updateOnly;
+
+    /**
      * Create the binary distribution.
      * 
      * @throws org.apache.maven.plugin.MojoExecutionException
@@ -776,4 +784,9 @@ public abstract class AbstractAssemblyMo
     {
         return mavenFileFilter;
     }
+
+    public boolean isUpdateOnly()
+    {
+        return updateOnly;
+    }
 }

Modified: maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/DefaultAssemblyArchiverTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/DefaultAssemblyArchiverTest.java?rev=1000932&r1=1000931&r2=1000932&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/DefaultAssemblyArchiverTest.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/DefaultAssemblyArchiverTest.java Fri Sep 24 16:09:14 2010
@@ -140,6 +140,9 @@ public class DefaultAssemblyArchiverTest
         configSource.getWorkingDirectory();
         csControl.setReturnValue( new File( "." ), MockControl.ZERO_OR_MORE );
 
+        configSource.isUpdateOnly();
+        csControl.setReturnValue( false, MockControl.ZERO_OR_MORE );
+
         final Assembly assembly = new Assembly();
         final AssemblyContext context = new DefaultAssemblyContext();
 
@@ -196,6 +199,9 @@ public class DefaultAssemblyArchiverTest
         configSource.getWorkingDirectory();
         configCtl.setReturnValue( new File( "." ), MockControl.ZERO_OR_MORE );
 
+        configSource.isUpdateOnly();
+        configCtl.setReturnValue( false, MockControl.ZERO_OR_MORE );
+
         mm.add( configCtl );
 
         mm.replayAll();
@@ -242,6 +248,9 @@ public class DefaultAssemblyArchiverTest
         configSource.getWorkingDirectory();
         configCtl.setReturnValue( new File( "." ), MockControl.ZERO_OR_MORE );
 
+        configSource.isUpdateOnly();
+        configCtl.setReturnValue( false, MockControl.ZERO_OR_MORE );
+
         mm.add( configCtl );
 
         mm.replayAll();
@@ -286,6 +295,9 @@ public class DefaultAssemblyArchiverTest
         configSource.getWorkingDirectory();
         configCtl.setReturnValue( new File( "." ), MockControl.ZERO_OR_MORE );
 
+        configSource.isUpdateOnly();
+        configCtl.setReturnValue( false, MockControl.ZERO_OR_MORE );
+
         mm.add( configCtl );
 
         mm.replayAll();
@@ -321,6 +333,9 @@ public class DefaultAssemblyArchiverTest
         configSource.getWorkingDirectory();
         configCtl.setReturnValue( new File( "." ), MockControl.ZERO_OR_MORE );
 
+        configSource.isUpdateOnly();
+        configCtl.setReturnValue( false, MockControl.ZERO_OR_MORE );
+
         mm.add( configCtl );
 
         mm.replayAll();
@@ -618,6 +633,10 @@ public class DefaultAssemblyArchiverTest
             mm.add( archiverControl );
 
             archiver = (Archiver) archiverControl.getMock();
+
+            archiver.setForced( false );
+            archiverControl.setMatcher( MockControl.ALWAYS_MATCHER );
+            archiverControl.setVoidCallable( MockControl.ZERO_OR_MORE );
         }
 
         // void expectSetArchiverFilters()

Modified: maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/testutils/ConfigSourceStub.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/testutils/ConfigSourceStub.java?rev=1000932&r1=1000931&r2=1000932&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/testutils/ConfigSourceStub.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/testutils/ConfigSourceStub.java Fri Sep 24 16:09:14 2010
@@ -168,4 +168,9 @@ public class ConfigSourceStub
         project = mavenProject;
     }
 
+    public boolean isUpdateOnly()
+    {
+        return false;
+    }
+
 }