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/28 17:51:26 UTC
svn commit: r1002228 - in /maven/plugins/trunk/maven-assembly-plugin/src:
it/projects/mojo-configuration/archiver-ignorePermissions/
it/projects/mojo-configuration/archiver-ignorePermissions/src/
it/projects/mojo-configuration/archiver-ignorePermission...
Author: jdcasey
Date: Tue Sep 28 15:51:25 2010
New Revision: 1002228
URL: http://svn.apache.org/viewvc?rev=1002228&view=rev
Log:
[MASSEMBLY-499] Add ignorePermissions flag to mojos, to allow disabling of chmod calls when users don't care about them. This should improve performance.
Also, move useJvmChmod parameter into AssemblerConfigurationSource interface, and access it through that in the various components of the assembly code.
Added:
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/mojo-configuration/archiver-ignorePermissions/
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/mojo-configuration/archiver-ignorePermissions/pom.xml (with props)
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/mojo-configuration/archiver-ignorePermissions/src/
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/mojo-configuration/archiver-ignorePermissions/src/main/
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/mojo-configuration/archiver-ignorePermissions/src/main/assembly/
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/mojo-configuration/archiver-ignorePermissions/src/main/assembly/bin.xml (with props)
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/mojo-configuration/archiver-ignorePermissions/src/main/java/
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/mojo-configuration/archiver-ignorePermissions/src/main/java/test/
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/mojo-configuration/archiver-ignorePermissions/src/main/java/test/App.java (with props)
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/mojo-configuration/archiver-ignorePermissions/src/test/
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/mojo-configuration/archiver-ignorePermissions/src/test/java/
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/mojo-configuration/archiver-ignorePermissions/src/test/java/test/
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/mojo-configuration/archiver-ignorePermissions/src/test/java/test/AppTest.java (with props)
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/mojo-configuration/archiver-ignorePermissions/verify.bsh (with props)
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/AssemblyArchiver.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/archive/task/AddDependencySetsTask.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/main/java/org/apache/maven/plugin/assembly/mojos/AbstractDirectoryMojo.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/filter/ComponentsXmlArchiverFileFilterTest.java
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/testutils/ConfigSourceStub.java
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/testutils/TrackingArchiverStub.java
Added: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/mojo-configuration/archiver-ignorePermissions/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/projects/mojo-configuration/archiver-ignorePermissions/pom.xml?rev=1002228&view=auto
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/it/projects/mojo-configuration/archiver-ignorePermissions/pom.xml (added)
+++ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/mojo-configuration/archiver-ignorePermissions/pom.xml Tue Sep 28 15:51:25 2010
@@ -0,0 +1,47 @@
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.maven.plugin.assembly.test</groupId>
+ <artifactId>it-project-parent</artifactId>
+ <version>1</version>
+ </parent>
+
+ <groupId>test</groupId>
+ <artifactId>parent</artifactId>
+ <version>1</version>
+
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>assembly</id>
+ <phase>package</phase>
+ <goals>
+ <goal>single</goal>
+ </goals>
+ <configuration>
+ <descriptors>
+ <descriptor>src/main/assembly/bin.xml</descriptor>
+ </descriptors>
+
+ <!-- This is the key configuration for the test -->
+ <ignorePermissions>true</ignorePermissions>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
Propchange: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/mojo-configuration/archiver-ignorePermissions/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/mojo-configuration/archiver-ignorePermissions/src/main/assembly/bin.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/projects/mojo-configuration/archiver-ignorePermissions/src/main/assembly/bin.xml?rev=1002228&view=auto
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/it/projects/mojo-configuration/archiver-ignorePermissions/src/main/assembly/bin.xml (added)
+++ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/mojo-configuration/archiver-ignorePermissions/src/main/assembly/bin.xml Tue Sep 28 15:51:25 2010
@@ -0,0 +1,22 @@
+<assembly>
+ <id>bin</id>
+ <formats>
+ <format>dir</format>
+ </formats>
+ <dependencySets>
+ <dependencySet>
+ <outputDirectory>lib</outputDirectory>
+ <scope>test</scope>
+ </dependencySet>
+ </dependencySets>
+ <fileSets>
+ <fileSet>
+ <directory>${project.basedir}</directory>
+ <outputDirectory>/</outputDirectory>
+ <excludes>
+ <exclude>target/**</exclude>
+ </excludes>
+ <fileMode>777</fileMode>
+ </fileSet>
+ </fileSets>
+</assembly>
\ No newline at end of file
Propchange: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/mojo-configuration/archiver-ignorePermissions/src/main/assembly/bin.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/mojo-configuration/archiver-ignorePermissions/src/main/java/test/App.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/projects/mojo-configuration/archiver-ignorePermissions/src/main/java/test/App.java?rev=1002228&view=auto
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/it/projects/mojo-configuration/archiver-ignorePermissions/src/main/java/test/App.java (added)
+++ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/mojo-configuration/archiver-ignorePermissions/src/main/java/test/App.java Tue Sep 28 15:51:25 2010
@@ -0,0 +1,13 @@
+package test;
+
+/**
+ * Hello world!
+ *
+ */
+public class App
+{
+ public static void main( String[] args )
+ {
+ System.out.println( "Hello World!" );
+ }
+}
Propchange: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/mojo-configuration/archiver-ignorePermissions/src/main/java/test/App.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/mojo-configuration/archiver-ignorePermissions/src/test/java/test/AppTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/projects/mojo-configuration/archiver-ignorePermissions/src/test/java/test/AppTest.java?rev=1002228&view=auto
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/it/projects/mojo-configuration/archiver-ignorePermissions/src/test/java/test/AppTest.java (added)
+++ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/mojo-configuration/archiver-ignorePermissions/src/test/java/test/AppTest.java Tue Sep 28 15:51:25 2010
@@ -0,0 +1,38 @@
+package test;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+/**
+ * Unit test for simple App.
+ */
+public class AppTest
+ extends TestCase
+{
+ /**
+ * Create the test case
+ *
+ * @param testName name of the test case
+ */
+ public AppTest( String testName )
+ {
+ super( testName );
+ }
+
+ /**
+ * @return the suite of tests being tested
+ */
+ public static Test suite()
+ {
+ return new TestSuite( AppTest.class );
+ }
+
+ /**
+ * Rigourous Test :-)
+ */
+ public void testApp()
+ {
+ assertTrue( true );
+ }
+}
Propchange: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/mojo-configuration/archiver-ignorePermissions/src/test/java/test/AppTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/mojo-configuration/archiver-ignorePermissions/verify.bsh
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/projects/mojo-configuration/archiver-ignorePermissions/verify.bsh?rev=1002228&view=auto
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/it/projects/mojo-configuration/archiver-ignorePermissions/verify.bsh (added)
+++ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/mojo-configuration/archiver-ignorePermissions/verify.bsh Tue Sep 28 15:51:25 2010
@@ -0,0 +1,22 @@
+import java.io.*;
+import java.util.jar.*;
+import java.util.*;
+import java.net.*;
+
+// minimal tests; the big thing here is that ignoring permissions doesn't stop the assembly from running...
+File pom = new File( basedir, "target/parent-1-bin/parent-1/pom.xml" );
+
+if ( !pom.exists() || !pom.isFile() )
+{
+ System.out.println( "POM was not included in assembly." );
+ return false;
+}
+
+File junitJar = new File( basedir, "target/parent-1-bin/parent-1/lib/junit-3.8.1.jar" );
+if ( !junitJar.exists() && !junitJar.isFile() )
+{
+ System.out.println( "JUnit jar was not included in assembly." );
+ return false;
+}
+
+return true;
\ No newline at end of file
Propchange: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/mojo-configuration/archiver-ignorePermissions/verify.bsh
------------------------------------------------------------------------------
svn:eol-style = native
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=1002228&r1=1002227&r2=1002228&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 Tue Sep 28 15:51:25 2010
@@ -91,4 +91,8 @@ public interface AssemblerConfigurationS
MavenFileFilter getMavenFileFilter();
boolean isUpdateOnly();
+
+ boolean isUseJvmChmod();
+
+ boolean isIgnorePermissions();
}
Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/AssemblyArchiver.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/AssemblyArchiver.java?rev=1002228&r1=1002227&r2=1002228&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/AssemblyArchiver.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/AssemblyArchiver.java Tue Sep 28 15:51:25 2010
@@ -33,6 +33,6 @@ public interface AssemblyArchiver
{
String ROLE = AssemblyArchiver.class.getName();
- File createArchive( Assembly assembly, String fullName, String format, AssemblerConfigurationSource configSource, boolean useJvmChmod )
+ File createArchive( Assembly assembly, String fullName, String format, AssemblerConfigurationSource configSource )
throws ArchiveCreationException, AssemblyFormattingException, InvalidAssemblerConfigurationException;
}
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=1002228&r1=1002227&r2=1002228&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 Tue Sep 28 15:51:25 2010
@@ -133,11 +133,11 @@ public class DefaultAssemblyArchiver
* </ol>
*/
public File createArchive( final Assembly assembly, final String fullName, final String format,
- final AssemblerConfigurationSource configSource, boolean useJvmChmod )
+ final AssemblerConfigurationSource configSource )
throws ArchiveCreationException, AssemblyFormattingException, InvalidAssemblerConfigurationException
{
validate( assembly );
-
+
String filename = fullName;
if ( !configSource.isIgnoreDirFormatExtensions() || !format.startsWith( "dir" ) )
{
@@ -168,7 +168,7 @@ public class DefaultAssemblyArchiver
selectContainerDescriptorHandlers( assembly.getContainerDescriptorHandlers(), configSource );
final Archiver archiver =
- createArchiver( format, assembly.isIncludeBaseDirectory(), basedir, configSource, containerHandlers, useJvmChmod );
+ createArchiver( format, assembly.isIncludeBaseDirectory(), basedir, configSource, containerHandlers );
archiver.setDestFile( destFile );
@@ -209,10 +209,12 @@ public class DefaultAssemblyArchiver
return destFile;
}
- private void validate( Assembly assembly )
+ private void validate( final Assembly assembly )
throws InvalidAssemblerConfigurationException
{
- if ( assembly.getId() == null || assembly.getId().trim().length() < 1 )
+ if ( assembly.getId() == null || assembly.getId()
+ .trim()
+ .length() < 1 )
{
throw new InvalidAssemblerConfigurationException( "Assembly ID must be present and non-empty." );
}
@@ -288,7 +290,7 @@ public class DefaultAssemblyArchiver
*/
protected Archiver createArchiver( final String format, final boolean includeBaseDir, final String finalName,
final AssemblerConfigurationSource configSource,
- final List<ContainerDescriptorHandler> containerHandlers, boolean useJvmChmod )
+ final List<ContainerDescriptorHandler> containerHandlers )
throws ArchiverException, NoSuchArchiverException
{
Archiver archiver;
@@ -331,9 +333,10 @@ public class DefaultAssemblyArchiver
new AssemblyProxyArchiver( prefix, archiver, containerHandlers, extraSelectors, extraFinalizers,
configSource.getWorkingDirectory(), getLogger(), configSource.isDryRun() );
- archiver.setUseJvmChmod( useJvmChmod );
+ archiver.setUseJvmChmod( configSource.isUpdateOnly() );
+ archiver.setIgnorePermissions( configSource.isIgnorePermissions() );
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=1002228&r1=1002227&r2=1002228&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 Tue Sep 28 15:51:25 2010
@@ -81,7 +81,7 @@ public class AssemblyProxyArchiver
private final Set<String> seenPaths = new HashSet<String>();
private final String assemblyWorkPath;
-
+
/**
* @since 2.2-beta-6
*/
@@ -976,9 +976,19 @@ public class AssemblyProxyArchiver
return useJvmChmod;
}
- public void setUseJvmChmod( boolean useJvmChmod )
+ public void setUseJvmChmod( final boolean useJvmChmod )
{
this.useJvmChmod = useJvmChmod;
}
+ public boolean isIgnorePermissions()
+ {
+ return delegate.isIgnorePermissions();
+ }
+
+ public void setIgnorePermissions( final boolean ignorePermissions )
+ {
+ delegate.setIgnorePermissions( ignorePermissions );
+ }
+
}
Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/task/AddDependencySetsTask.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/task/AddDependencySetsTask.java?rev=1002228&r1=1002227&r2=1002228&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/task/AddDependencySetsTask.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/task/AddDependencySetsTask.java Tue Sep 28 15:51:25 2010
@@ -203,7 +203,7 @@ public class AddDependencySetsTask
mapping = defaultOutputFileNameMapping;
}
- if ( ( dir != null && dir.indexOf( "${" ) < 0 ) || ( mapping != null && mapping.indexOf( "${" ) < 0 ) )
+ if ( ( dir == null || dir.indexOf( "${" ) < 0 ) && ( mapping == null || mapping.indexOf( "${" ) < 0 ) )
{
logger.warn( "NOTE: Your assembly specifies a dependencySet that matches multiple artifacts, but specifies a concrete output format. "
+ "THIS MAY RESULT IN ONE OR MORE ARTIFACTS BEING OBSCURED!\n\nOutput directory: '"
@@ -259,6 +259,8 @@ public class AddDependencySetsTask
unarchiver.setDestDirectory( dir );
unarchiver.setOverwrite( true );
unarchiver.setSourceFile( depArtifact.getFile() );
+ unarchiver.setIgnorePermissions( configSource.isIgnorePermissions() );
+
try
{
unarchiver.extract();
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=1002228&r1=1002227&r2=1002228&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 Tue Sep 28 15:51:25 2010
@@ -330,16 +330,31 @@ public abstract class AbstractAssemblyMo
* @since 2.2-beta-6
*/
private boolean updateOnly;
-
+
/**
* <p>
- * will use the jvm chmod, this is available for user and all level
- * group level will be ignored
+ * will use the jvm chmod, this is available for user and all level group level will be ignored
* </p>
+ *
* @parameter expression="${assembly.useJvmChmod}" default-value="false"
* @since 2.2-beta-6
*/
- protected boolean useJvmChmod;
+ private boolean useJvmChmod;
+
+ /**
+ * <p>
+ * Set to <code>true</code> in order to avoid all chmod calls.
+ * </p>
+ *
+ * <p>
+ * <b>NOTE:</b> This will cause the assembly plugin to <b>DISREGARD</b> all fileMode/directoryMode settings in the
+ * assembly descriptor, and all file permissions in unpacked dependencies!
+ * </p>
+ *
+ * @parameter expression="${assembly.ignorePermissions}" default-value="false"
+ * @since 2.2-beta-6
+ */
+ private boolean ignorePermissions;
/**
* Create the binary distribution.
@@ -391,7 +406,7 @@ public abstract class AbstractAssemblyMo
for ( final String format : assembly.getFormats() )
{
- final File destFile = assemblyArchiver.createArchive( assembly, fullName, format, this, useJvmChmod );
+ final File destFile = assemblyArchiver.createArchive( assembly, fullName, format, this );
final MavenProject project = getProject();
final String classifier = getClassifier();
@@ -799,4 +814,14 @@ public abstract class AbstractAssemblyMo
{
return updateOnly;
}
+
+ public boolean isUseJvmChmod()
+ {
+ return useJvmChmod;
+ }
+
+ public boolean isIgnorePermissions()
+ {
+ return ignorePermissions;
+ }
}
Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/mojos/AbstractDirectoryMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/mojos/AbstractDirectoryMojo.java?rev=1002228&r1=1002227&r2=1002228&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/mojos/AbstractDirectoryMojo.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/mojos/AbstractDirectoryMojo.java Tue Sep 28 15:51:25 2010
@@ -84,7 +84,7 @@ public abstract class AbstractDirectoryM
try
{
- archiver.createArchive( assembly, fullName, "dir", this, useJvmChmod );
+ archiver.createArchive( assembly, fullName, "dir", this );
}
catch ( final ArchiveCreationException e )
{
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=1002228&r1=1002227&r2=1002228&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 Tue Sep 28 15:51:25 2010
@@ -117,7 +117,7 @@ public class DefaultAssemblyArchiverTest
mm.replayAll();
final DefaultAssemblyArchiver archiver = createSubject( macMgr, null, null );
- archiver.createArchive( new Assembly(), "full-name", "zip", configSource, false );
+ archiver.createArchive( new Assembly(), "full-name", "zip", configSource );
mm.verifyAll();
}
@@ -191,6 +191,9 @@ public class DefaultAssemblyArchiverTest
configSource.isUpdateOnly();
csControl.setReturnValue( false, MockControl.ZERO_OR_MORE );
+ configSource.isIgnorePermissions();
+ csControl.setReturnValue( true, MockControl.ZERO_OR_MORE );
+
final Assembly assembly = new Assembly();
assembly.setId( "id" );
@@ -210,7 +213,7 @@ public class DefaultAssemblyArchiverTest
final DefaultAssemblyArchiver subject = createSubject( macMgr, Collections.singletonList( phase ), null );
- subject.createArchive( assembly, "full-name", "zip", configSource, false );
+ subject.createArchive( assembly, "full-name", "zip", configSource );
mm.verifyAll();
}
@@ -263,6 +266,9 @@ public class DefaultAssemblyArchiverTest
configSource.getLocalRepository();
configCtl.setReturnValue( lr, MockControl.ZERO_OR_MORE );
+ configSource.isIgnorePermissions();
+ configCtl.setReturnValue( true, MockControl.ZERO_OR_MORE );
+
mm.add( configCtl );
mm.replayAll();
@@ -270,7 +276,7 @@ public class DefaultAssemblyArchiverTest
final DefaultAssemblyArchiver subject =
createSubject( macArchiverManager, new ArrayList<AssemblyArchiverPhase>(), null );
- subject.createArchiver( "dummy", false, "finalName", configSource, null,false );
+ subject.createArchiver( "dummy", false, "finalName", configSource, null );
assertEquals( simpleConfig, archiver.getSimpleConfig() );
@@ -313,6 +319,9 @@ public class DefaultAssemblyArchiverTest
configSource.isUpdateOnly();
configCtl.setReturnValue( false, MockControl.ZERO_OR_MORE );
+ configSource.isIgnorePermissions();
+ configCtl.setReturnValue( true, MockControl.ZERO_OR_MORE );
+
mm.add( configCtl );
mm.replayAll();
@@ -320,7 +329,7 @@ public class DefaultAssemblyArchiverTest
final DefaultAssemblyArchiver subject =
createSubject( macArchiverManager, new ArrayList<AssemblyArchiverPhase>(), null );
- subject.createArchiver( "tar", false, "finalName", configSource, null, false );
+ subject.createArchiver( "tar", false, "finalName", configSource, null );
assertNull( ttArchiver.compressionMethod );
assertEquals( TarLongFileMode.FAIL, ttArchiver.longFileMode.getValue() );
@@ -361,6 +370,9 @@ public class DefaultAssemblyArchiverTest
configSource.isUpdateOnly();
configCtl.setReturnValue( false, MockControl.ZERO_OR_MORE );
+ configSource.isIgnorePermissions();
+ configCtl.setReturnValue( true, MockControl.ZERO_OR_MORE );
+
mm.add( configCtl );
mm.replayAll();
@@ -368,7 +380,7 @@ public class DefaultAssemblyArchiverTest
final DefaultAssemblyArchiver subject =
createSubject( macArchiverManager, new ArrayList<AssemblyArchiverPhase>(), null );
- subject.createArchiver( "war", false, null, configSource, null, false );
+ subject.createArchiver( "war", false, null, configSource, null );
assertFalse( twArchiver.ignoreWebxml );
}
@@ -400,6 +412,9 @@ public class DefaultAssemblyArchiverTest
configSource.isUpdateOnly();
configCtl.setReturnValue( false, MockControl.ZERO_OR_MORE );
+ configSource.isIgnorePermissions();
+ configCtl.setReturnValue( true, MockControl.ZERO_OR_MORE );
+
mm.add( configCtl );
mm.replayAll();
@@ -407,7 +422,7 @@ public class DefaultAssemblyArchiverTest
final DefaultAssemblyArchiver subject =
createSubject( macArchiverManager, new ArrayList<AssemblyArchiverPhase>(), null );
- subject.createArchiver( "zip", false, null, configSource, null, false );
+ subject.createArchiver( "zip", false, null, configSource, null );
}
// TODO: Re-implement these tests on the createArchiver(..) method. For now, they're no big loss.
@@ -706,6 +721,10 @@ public class DefaultAssemblyArchiverTest
archiver.setForced( false );
archiverControl.setMatcher( MockControl.ALWAYS_MATCHER );
archiverControl.setVoidCallable( MockControl.ZERO_OR_MORE );
+
+ archiver.setIgnorePermissions( false );
+ archiverControl.setMatcher( MockControl.ALWAYS_MATCHER );
+ archiverControl.setVoidCallable( MockControl.ZERO_OR_MORE );
}
// void expectSetArchiverFilters()
@@ -807,9 +826,11 @@ public class DefaultAssemblyArchiverTest
{
private String simpleConfig;
-
+
private boolean useJvmChmod;
+ private boolean ignorePermissions;
+
public void setSimpleConfig( final String simpleConfig )
{
this.simpleConfig = simpleConfig;
@@ -1003,11 +1024,21 @@ public class DefaultAssemblyArchiverTest
return useJvmChmod;
}
- public void setUseJvmChmod( boolean useJvmChmod )
+ public void setUseJvmChmod( final boolean useJvmChmod )
{
this.useJvmChmod = useJvmChmod;
}
+ public boolean isIgnorePermissions()
+ {
+ return ignorePermissions;
+ }
+
+ public void setIgnorePermissions( final boolean ignorePermissions )
+ {
+ this.ignorePermissions = ignorePermissions;
+ }
+
}
}
Modified: maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/filter/ComponentsXmlArchiverFileFilterTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/filter/ComponentsXmlArchiverFileFilterTest.java?rev=1002228&r1=1002227&r2=1002228&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/filter/ComponentsXmlArchiverFileFilterTest.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/filter/ComponentsXmlArchiverFileFilterTest.java Tue Sep 28 15:51:25 2010
@@ -71,12 +71,14 @@ public class ComponentsXmlArchiverFileFi
}
@Override
- public void tearDown() throws IOException
+ public void tearDown()
+ throws IOException
{
fileManager.cleanUp();
}
- public void testAddComponentsXml_ShouldAddComponentWithoutRoleHint() throws IOException, XmlPullParserException
+ public void testAddComponentsXml_ShouldAddComponentWithoutRoleHint()
+ throws IOException, XmlPullParserException
{
final Reader reader =
writeComponentsXml( Collections.singletonList( new ComponentDef( "role", null, "org.apache.maven.Impl" ) ) );
@@ -94,7 +96,8 @@ public class ComponentsXmlArchiverFileFi
.getValue() );
}
- public void testAddComponentsXml_ShouldAddComponentWithRoleHint() throws IOException, XmlPullParserException
+ public void testAddComponentsXml_ShouldAddComponentWithRoleHint()
+ throws IOException, XmlPullParserException
{
final Reader reader =
writeComponentsXml( Collections.singletonList( new ComponentDef( "role", "hint", "org.apache.maven.Impl" ) ) );
@@ -113,7 +116,8 @@ public class ComponentsXmlArchiverFileFi
.getValue() );
}
- public void testAddComponentsXml_ShouldAddTwoComponentsWithRoleHints() throws IOException, XmlPullParserException
+ public void testAddComponentsXml_ShouldAddTwoComponentsWithRoleHints()
+ throws IOException, XmlPullParserException
{
final List<ComponentDef> defs = new ArrayList<ComponentDef>();
@@ -199,7 +203,8 @@ public class ComponentsXmlArchiverFileFi
assertEquals( "impl", ( (Text) implementation.selectSingleNode( doc ) ).getText() );
}
- public void testAddToArchive_ShouldWriteTwoComponentToFile() throws IOException, ArchiverException, JDOMException
+ public void testAddToArchive_ShouldWriteTwoComponentToFile()
+ throws IOException, ArchiverException, JDOMException
{
filter.components = new LinkedHashMap<String, Xpp3Dom>();
@@ -320,7 +325,8 @@ public class ComponentsXmlArchiverFileFi
return dom;
}
- private Reader writeComponentsXml( final List<ComponentDef> componentDefs ) throws IOException
+ private Reader writeComponentsXml( final List<ComponentDef> componentDefs )
+ throws IOException
{
final StringWriter writer = new StringWriter();
@@ -384,15 +390,19 @@ public class ComponentsXmlArchiverFileFi
private File inputFile;
private String destFileName;
-
+
private boolean useJvmChmod;
- public void addDirectory( final File directory ) throws ArchiverException
+ private boolean ignorePermissions;
+
+ public void addDirectory( final File directory )
+ throws ArchiverException
{
throw new UnsupportedOperationException( "not supported" );
}
- public void addDirectory( final File directory, final String prefix ) throws ArchiverException
+ public void addDirectory( final File directory, final String prefix )
+ throws ArchiverException
{
throw new UnsupportedOperationException( "not supported" );
}
@@ -404,12 +414,14 @@ public class ComponentsXmlArchiverFileFi
}
public void addDirectory( final File directory, final String prefix, final String[] includes,
- final String[] excludes ) throws ArchiverException
+ final String[] excludes )
+ throws ArchiverException
{
throw new UnsupportedOperationException( "not supported" );
}
- public void addFile( final File inputFile, final String destFileName ) throws ArchiverException
+ public void addFile( final File inputFile, final String destFileName )
+ throws ArchiverException
{
this.inputFile = inputFile;
this.destFileName = destFileName;
@@ -431,7 +443,8 @@ public class ComponentsXmlArchiverFileFi
throw new UnsupportedOperationException( "not supported" );
}
- public void createArchive() throws ArchiverException, IOException
+ public void createArchive()
+ throws ArchiverException, IOException
{
throw new UnsupportedOperationException( "not supported" );
}
@@ -482,12 +495,14 @@ public class ComponentsXmlArchiverFileFi
throw new UnsupportedOperationException( "not supported" );
}
- public void addArchivedFileSet( final File archiveFile ) throws ArchiverException
+ public void addArchivedFileSet( final File archiveFile )
+ throws ArchiverException
{
throw new UnsupportedOperationException( "not supported" );
}
- public void addArchivedFileSet( final File archiveFile, final String prefix ) throws ArchiverException
+ public void addArchivedFileSet( final File archiveFile, final String prefix )
+ throws ArchiverException
{
throw new UnsupportedOperationException( "not supported" );
}
@@ -499,7 +514,8 @@ public class ComponentsXmlArchiverFileFi
}
public void addArchivedFileSet( final File archiveFile, final String prefix, final String[] includes,
- final String[] excludes ) throws ArchiverException
+ final String[] excludes )
+ throws ArchiverException
{
throw new UnsupportedOperationException( "not supported" );
}
@@ -523,12 +539,14 @@ public class ComponentsXmlArchiverFileFi
{
}
- public void addArchivedFileSet( final ArchivedFileSet fileSet ) throws ArchiverException
+ public void addArchivedFileSet( final ArchivedFileSet fileSet )
+ throws ArchiverException
{
throw new UnsupportedOperationException( "not supported" );
}
- public void addFileSet( final FileSet fileSet ) throws ArchiverException
+ public void addFileSet( final FileSet fileSet )
+ throws ArchiverException
{
throw new UnsupportedOperationException( "not supported" );
}
@@ -539,22 +557,26 @@ public class ComponentsXmlArchiverFileFi
throw new UnsupportedOperationException( "not supported" );
}
- public void addResources( final PlexusIoResourceCollection resources ) throws ArchiverException
+ public void addResources( final PlexusIoResourceCollection resources )
+ throws ArchiverException
{
throw new UnsupportedOperationException( "not supported" );
}
- public ResourceIterator getResources() throws ArchiverException
+ public ResourceIterator getResources()
+ throws ArchiverException
{
return new ResourceIterator()
{
- public boolean hasNext() throws ArchiverException
+ public boolean hasNext()
+ throws ArchiverException
{
return false;
}
- public ArchiveEntry next() throws ArchiverException
+ public ArchiveEntry next()
+ throws ArchiverException
{
throw new NoSuchElementException();
}
@@ -606,10 +628,20 @@ public class ComponentsXmlArchiverFileFi
return useJvmChmod;
}
- public void setUseJvmChmod( boolean useJvmChmod )
+ public void setUseJvmChmod( final boolean useJvmChmod )
{
this.useJvmChmod = useJvmChmod;
}
+
+ public boolean isIgnorePermissions()
+ {
+ return ignorePermissions;
+ }
+
+ public void setIgnorePermissions( final boolean ignorePermissions )
+ {
+ this.ignorePermissions = ignorePermissions;
+ }
}
}
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=1002228&r1=1002227&r2=1002228&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 Tue Sep 28 15:51:25 2010
@@ -173,4 +173,14 @@ public class ConfigSourceStub
return false;
}
+ public boolean isIgnorePermissions()
+ {
+ return true;
+ }
+
+ public boolean isUseJvmChmod()
+ {
+ return true;
+ }
+
}
Modified: maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/testutils/TrackingArchiverStub.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/testutils/TrackingArchiverStub.java?rev=1002228&r1=1002227&r2=1002228&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/testutils/TrackingArchiverStub.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/testutils/TrackingArchiverStub.java Tue Sep 28 15:51:25 2010
@@ -52,9 +52,11 @@ public class TrackingArchiverStub
public final List<Addition> added = new ArrayList<Addition>();
public boolean created;
-
+
private boolean useJvmChmod;
+ private boolean ignorePermissions;
+
public void createArchive()
throws ArchiverException, IOException
{
@@ -369,8 +371,18 @@ public class TrackingArchiverStub
return useJvmChmod;
}
- public void setUseJvmChmod( boolean useJvmChmod )
+ public void setUseJvmChmod( final boolean useJvmChmod )
{
this.useJvmChmod = useJvmChmod;
}
+
+ public boolean isIgnorePermissions()
+ {
+ return ignorePermissions;
+ }
+
+ public void setIgnorePermissions( final boolean ignorePermissions )
+ {
+ this.ignorePermissions = ignorePermissions;
+ }
}