You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by kr...@apache.org on 2014/10/16 20:24:06 UTC
svn commit: r1632403 - in /maven/plugins/trunk/maven-assembly-plugin/src:
main/java/org/apache/maven/plugin/assembly/archive/archiver/
main/java/org/apache/maven/plugin/assembly/archive/task/
main/java/org/apache/maven/plugin/assembly/filter/ main/java...
Author: krosenvold
Date: Thu Oct 16 18:24:05 2014
New Revision: 1632403
URL: http://svn.apache.org/r1632403
Log:
Run some code duplication analysis
Modified:
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/archiver/PrefixedArchivedFileSet.java
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/archiver/PrefixedFileSet.java
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/task/AddDirectoryTask.java
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/filter/AbstractLineAggregatingHandler.java
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/filter/SimpleAggregatingDescriptorHandler.java
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/interpolation/AssemblyInterpolator.java
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/io/DefaultAssemblyReader.java
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/utils/AssemblyFileUtils.java
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/DefaultAssemblyArchiverTest.java
Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/archiver/PrefixedArchivedFileSet.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/archiver/PrefixedArchivedFileSet.java?rev=1632403&r1=1632402&r2=1632403&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/archiver/PrefixedArchivedFileSet.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/archiver/PrefixedArchivedFileSet.java Thu Oct 16 18:24:05 2014
@@ -19,6 +19,8 @@ package org.apache.maven.plugin.assembly
* under the License.
*/
+import static org.apache.maven.plugin.assembly.archive.archiver.PrefixedFileSet.combineSelectors;
+
import org.codehaus.plexus.archiver.ArchivedFileSet;
import org.codehaus.plexus.components.io.fileselectors.FileSelector;
@@ -62,22 +64,7 @@ public class PrefixedArchivedFileSet
public FileSelector[] getFileSelectors()
{
- FileSelector[] sel = fileSet.getFileSelectors();
- if ( ( sel != null ) && ( selectors != null ) )
- {
- FileSelector[] temp = new FileSelector[ sel.length + selectors.length ];
-
- System.arraycopy( sel, 0, temp, 0, sel.length );
- System.arraycopy( selectors, 0, temp, sel.length, selectors.length );
-
- sel = temp;
- }
- else if ( ( sel == null ) && ( selectors != null ) )
- {
- sel = selectors;
- }
-
- return sel;
+ return combineSelectors(fileSet.getFileSelectors(), selectors);
}
public String[] getIncludes()
Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/archiver/PrefixedFileSet.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/archiver/PrefixedFileSet.java?rev=1632403&r1=1632402&r2=1632403&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/archiver/PrefixedFileSet.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/archiver/PrefixedFileSet.java Thu Oct 16 18:24:05 2014
@@ -60,21 +60,26 @@ public class PrefixedFileSet
public FileSelector[] getFileSelectors()
{
FileSelector[] sel = fileSet.getFileSelectors();
- if ( ( sel != null ) && ( selectors != null ) )
+ final FileSelector[] selectors1 = selectors;
+ return combineSelectors(sel, selectors1);
+ }
+
+ static FileSelector[] combineSelectors(FileSelector[] first, FileSelector[] second) {
+ if ( ( first != null ) && ( second != null ) )
{
- final FileSelector[] temp = new FileSelector[sel.length + selectors.length];
+ final FileSelector[] temp = new FileSelector[first.length + second.length];
- System.arraycopy( sel, 0, temp, 0, sel.length );
- System.arraycopy( selectors, 0, temp, sel.length, selectors.length );
+ System.arraycopy( first, 0, temp, 0, first.length );
+ System.arraycopy(second, 0, temp, first.length, second.length );
- sel = temp;
+ first = temp;
}
- else if ( ( sel == null ) && ( selectors != null ) )
+ else if ( ( first == null ) && ( second != null ) )
{
- sel = selectors;
+ first = second;
}
- return sel;
+ return first;
}
public String[] getIncludes()
Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/task/AddDirectoryTask.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/task/AddDirectoryTask.java?rev=1632403&r1=1632402&r2=1632403&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/task/AddDirectoryTask.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/task/AddDirectoryTask.java Thu Oct 16 18:24:05 2014
@@ -111,16 +111,7 @@ public class AddDirectoryTask
int i = 0;
for ( String include : includes )
{
- String value = AssemblyFormatUtils.fixRelativeRefs( include );
-
- if ( value.startsWith( "/" ) || value.startsWith( "\\" ) )
- {
- value = value.substring( 1 );
- }
-
- includesArray[i] = value;
-
- i++;
+ includesArray[i++] = normalize(include);
}
}
@@ -130,16 +121,7 @@ public class AddDirectoryTask
int i = 0;
for ( String directoryExclude : directoryExcludes )
{
- String value = AssemblyFormatUtils.fixRelativeRefs( directoryExclude );
-
- if ( value.startsWith( "/" ) || value.startsWith( "\\" ) )
- {
- value = value.substring( 1 );
- }
-
- excludesArray[i] = value;
-
- i++;
+ excludesArray[i++] = normalize(directoryExclude);
}
final DefaultFileSet fs = new DefaultFileSet();
@@ -171,6 +153,16 @@ public class AddDirectoryTask
}
}
+ private String normalize(String include) {
+ String value = AssemblyFormatUtils.fixRelativeRefs(include);
+
+ if ( value.startsWith( "/" ) || value.startsWith( "\\" ) )
+ {
+ value = value.substring( 1 );
+ }
+ return value;
+ }
+
public void setExcludes( final List<String> excludes )
{
this.excludes = excludes;
Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/filter/AbstractLineAggregatingHandler.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/filter/AbstractLineAggregatingHandler.java?rev=1632403&r1=1632402&r2=1632403&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/filter/AbstractLineAggregatingHandler.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/filter/AbstractLineAggregatingHandler.java Thu Oct 16 18:24:05 2014
@@ -127,9 +127,7 @@ public abstract class AbstractLineAggreg
return true;
}
- String name = fileInfo.getName();
- name = AssemblyFileUtils.normalizePath( name );
- name = name.replace( File.separatorChar, '/' );
+ String name = AssemblyFileUtils.normalizeFileInfo(fileInfo );
if ( fileInfo.isFile() && fileMatches( fileInfo ) )
{
Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/filter/SimpleAggregatingDescriptorHandler.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/filter/SimpleAggregatingDescriptorHandler.java?rev=1632403&r1=1632402&r2=1632403&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/filter/SimpleAggregatingDescriptorHandler.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/filter/SimpleAggregatingDescriptorHandler.java Thu Oct 16 18:24:05 2014
@@ -150,10 +150,7 @@ public class SimpleAggregatingDescriptor
return true;
}
- String name = fileInfo.getName();
- name = AssemblyFileUtils.normalizePath( name );
-
- name = name.replace( File.separatorChar, '/' );
+ String name = AssemblyFileUtils.normalizeFileInfo(fileInfo);
if ( fileInfo.isFile() && name.matches( filePattern ) )
{
Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/interpolation/AssemblyInterpolator.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/interpolation/AssemblyInterpolator.java?rev=1632403&r1=1632402&r2=1632403&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/interpolation/AssemblyInterpolator.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/interpolation/AssemblyInterpolator.java Thu Oct 16 18:24:05 2014
@@ -29,6 +29,7 @@ import java.util.Set;
import org.apache.maven.execution.MavenSession;
import org.apache.maven.plugin.assembly.AssemblerConfigurationSource;
+import org.apache.maven.plugin.assembly.io.DefaultAssemblyReader;
import org.apache.maven.plugin.assembly.model.Assembly;
import org.apache.maven.plugin.assembly.utils.AssemblyFileUtils;
import org.apache.maven.plugin.assembly.utils.InterpolationConstants;
@@ -189,20 +190,8 @@ public class AssemblyInterpolator
interpolator.addValueSource( new PropertiesBasedValueSource( settingsProperties ) );
- Properties commandLineProperties = System.getProperties();
- if ( session != null )
- {
- commandLineProperties = new Properties();
- if ( session.getExecutionProperties() != null )
- {
- commandLineProperties.putAll( session.getExecutionProperties() );
- }
-
- if ( session.getUserProperties() != null )
- {
- commandLineProperties.putAll( session.getUserProperties() );
- }
- }
+
+ Properties commandLineProperties = DefaultAssemblyReader.mergeExecutionPropertiesWithSystemPropertiew(session);
// 7
interpolator.addValueSource( new PropertiesBasedValueSource( commandLineProperties ) );
Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/io/DefaultAssemblyReader.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/io/DefaultAssemblyReader.java?rev=1632403&r1=1632402&r2=1632403&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/io/DefaultAssemblyReader.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/io/DefaultAssemblyReader.java Thu Oct 16 18:24:05 2014
@@ -347,20 +347,7 @@ public class DefaultAssemblyReader
final Map<String, String> context = new HashMap<String, String>();
final MavenSession session = configSource.getMavenSession();
- Properties commandLineProperties = System.getProperties();
- if ( session != null )
- {
- commandLineProperties = new Properties();
- if ( session.getExecutionProperties() != null )
- {
- commandLineProperties.putAll( session.getExecutionProperties() );
- }
-
- if ( session.getUserProperties() != null )
- {
- commandLineProperties.putAll( session.getUserProperties() );
- }
- }
+ Properties commandLineProperties = mergeExecutionPropertiesWithSystemPropertiew(session);
for ( final Enumeration<Object> e = commandLineProperties.keys(); e.hasMoreElements(); )
{
@@ -417,6 +404,24 @@ public class DefaultAssemblyReader
return assembly;
}
+ public static Properties mergeExecutionPropertiesWithSystemPropertiew(MavenSession session) {
+ Properties commandLineProperties = System.getProperties();
+ if ( session != null )
+ {
+ commandLineProperties = new Properties();
+ if ( session.getExecutionProperties() != null )
+ {
+ commandLineProperties.putAll( session.getExecutionProperties() );
+ }
+
+ if ( session.getUserProperties() != null )
+ {
+ commandLineProperties.putAll( session.getUserProperties() );
+ }
+ }
+ return commandLineProperties;
+ }
+
private void debugPrintAssembly( final String message, final Assembly assembly )
{
final StringWriter sWriter = new StringWriter();
Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/utils/AssemblyFileUtils.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/utils/AssemblyFileUtils.java?rev=1632403&r1=1632402&r2=1632403&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/utils/AssemblyFileUtils.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/utils/AssemblyFileUtils.java Thu Oct 16 18:24:05 2014
@@ -31,6 +31,7 @@ import org.codehaus.plexus.archiver.Arch
import org.codehaus.plexus.archiver.UnArchiver;
import org.codehaus.plexus.archiver.manager.ArchiverManager;
import org.codehaus.plexus.archiver.manager.NoSuchArchiverException;
+import org.codehaus.plexus.components.io.fileselectors.FileInfo;
/**
* @version $Id$
@@ -140,4 +141,12 @@ public final class AssemblyFileUtils
return path.replace( '\\', '/' );
}
+ @Nonnull
+ public static String normalizeFileInfo( @Nonnull FileInfo fileInfo )
+ {
+ String name = fileInfo.getName();
+ name = normalizePath(name);
+ return name.replace( File.separatorChar, '/' ); // How can this be anything but a no-op
+ }
+
}
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=1632403&r1=1632402&r2=1632403&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 Thu Oct 16 18:24:05 2014
@@ -562,14 +562,7 @@ public class DefaultAssemblyArchiverTest
final TestTarArchiver ttArchiver = new TestTarArchiver();
- final MockAndControlForAssemblyArchiver macArchiverManager = new MockAndControlForAssemblyArchiver( mm );
-
- macArchiverManager.expectGetArchiver( "tar", ttArchiver );
-
- mm.replayAll();
-
- final DefaultAssemblyArchiver subject =
- createSubject( macArchiverManager, new ArrayList<AssemblyArchiverPhase>(), null );
+ final DefaultAssemblyArchiver subject = createSubject(mm, ttArchiver);
subject.createTarArchiver( "tar", TarLongFileMode.fail );
@@ -579,6 +572,17 @@ public class DefaultAssemblyArchiverTest
mm.verifyAll();
}
+ private DefaultAssemblyArchiver createSubject(MockManager mm,
+ TestTarArchiver ttArchiver) throws NoSuchArchiverException {
+ final MockAndControlForAssemblyArchiver macArchiverManager = new MockAndControlForAssemblyArchiver( mm );
+
+ macArchiverManager.expectGetArchiver( "tar", ttArchiver );
+
+ mm.replayAll();
+
+ return createSubject( macArchiverManager, new ArrayList<AssemblyArchiverPhase>(), null );
+ }
+
@Test
public void testCreateTarArchiver_TarGzFormat_ShouldInitializeGZipCompression()
throws NoSuchArchiverException, ArchiverException
@@ -587,14 +591,7 @@ public class DefaultAssemblyArchiverTest
final TestTarArchiver ttArchiver = new TestTarArchiver();
- final MockAndControlForAssemblyArchiver macArchiverManager = new MockAndControlForAssemblyArchiver( mm );
-
- macArchiverManager.expectGetArchiver( "tar", ttArchiver );
-
- mm.replayAll();
-
- final DefaultAssemblyArchiver subject =
- createSubject( macArchiverManager, new ArrayList<AssemblyArchiverPhase>(), null );
+ final DefaultAssemblyArchiver subject = createSubject(mm, ttArchiver);
subject.createTarArchiver( "tar.gz", TarLongFileMode.fail );
@@ -612,14 +609,7 @@ public class DefaultAssemblyArchiverTest
final TestTarArchiver ttArchiver = new TestTarArchiver();
- final MockAndControlForAssemblyArchiver macArchiverManager = new MockAndControlForAssemblyArchiver( mm );
-
- macArchiverManager.expectGetArchiver( "tar", ttArchiver );
-
- mm.replayAll();
-
- final DefaultAssemblyArchiver subject =
- createSubject( macArchiverManager, new ArrayList<AssemblyArchiverPhase>(), null );
+ final DefaultAssemblyArchiver subject = createSubject(mm, ttArchiver);
subject.createTarArchiver( "tgz", TarLongFileMode.fail );
@@ -637,14 +627,7 @@ public class DefaultAssemblyArchiverTest
final TestTarArchiver ttArchiver = new TestTarArchiver();
- final MockAndControlForAssemblyArchiver macArchiverManager = new MockAndControlForAssemblyArchiver( mm );
-
- macArchiverManager.expectGetArchiver( "tar", ttArchiver );
-
- mm.replayAll();
-
- final DefaultAssemblyArchiver subject =
- createSubject( macArchiverManager, new ArrayList<AssemblyArchiverPhase>(), null );
+ final DefaultAssemblyArchiver subject = createSubject(mm, ttArchiver);
subject.createTarArchiver( "tar.bz2", TarLongFileMode.fail );
@@ -662,14 +645,7 @@ public class DefaultAssemblyArchiverTest
final TestTarArchiver ttArchiver = new TestTarArchiver();
- final MockAndControlForAssemblyArchiver macArchiverManager = new MockAndControlForAssemblyArchiver( mm );
-
- macArchiverManager.expectGetArchiver( "tar", ttArchiver );
-
- mm.replayAll();
-
- final DefaultAssemblyArchiver subject =
- createSubject( macArchiverManager, new ArrayList<AssemblyArchiverPhase>(), null );
+ final DefaultAssemblyArchiver subject = createSubject(mm, ttArchiver);
subject.createTarArchiver( "tbz2", TarLongFileMode.fail );
@@ -687,14 +663,7 @@ public class DefaultAssemblyArchiverTest
final TestTarArchiver ttArchiver = new TestTarArchiver();
- final MockAndControlForAssemblyArchiver macArchiverManager = new MockAndControlForAssemblyArchiver( mm );
-
- macArchiverManager.expectGetArchiver( "tar", ttArchiver );
-
- mm.replayAll();
-
- final DefaultAssemblyArchiver subject =
- createSubject( macArchiverManager, new ArrayList<AssemblyArchiverPhase>(), null );
+ final DefaultAssemblyArchiver subject = createSubject(mm, ttArchiver);
try
{