You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2020/04/18 10:19:50 UTC

[maven-assembly-plugin] branch MASSEMBLY-922 created (now 83c664b)

This is an automated email from the ASF dual-hosted git repository.

rfscholte pushed a change to branch MASSEMBLY-922
in repository https://gitbox.apache.org/repos/asf/maven-assembly-plugin.git.


      at 83c664b  MASSEMBLY-922: Remove property names from UID/GID overrides.

This branch includes the following new commits:

     new 33fb23a  MASSEMBLY-922: allow to override UID/GID for files stored in TAR
     new 83c664b  MASSEMBLY-922: Remove property names from UID/GID overrides.

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[maven-assembly-plugin] 01/02: MASSEMBLY-922: allow to override UID/GID for files stored in TAR

Posted by rf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rfscholte pushed a commit to branch MASSEMBLY-922
in repository https://gitbox.apache.org/repos/asf/maven-assembly-plugin.git

commit 33fb23ac565c9b418499613846acd6e4cf61eb1e
Author: Vaclav Haisman <vh...@gmail.com>
AuthorDate: Mon Dec 30 10:21:53 2019 +0100

    MASSEMBLY-922: allow to override UID/GID for files stored in TAR
---
 .../assembly/AssemblerConfigurationSource.java     | 20 +++++++++
 .../assembly/archive/DefaultAssemblyArchiver.java  | 18 ++++++++
 .../assembly/mojos/AbstractAssemblyMojo.java       | 49 ++++++++++++++++++++++
 .../archive/DefaultAssemblyArchiverTest.java       | 33 +++++++++++++++
 .../assembly/testutils/PojoConfigSource.java       | 24 +++++++++++
 5 files changed, 144 insertions(+)

diff --git a/src/main/java/org/apache/maven/plugins/assembly/AssemblerConfigurationSource.java b/src/main/java/org/apache/maven/plugins/assembly/AssemblerConfigurationSource.java
index ebadd22..da038d6 100644
--- a/src/main/java/org/apache/maven/plugins/assembly/AssemblerConfigurationSource.java
+++ b/src/main/java/org/apache/maven/plugins/assembly/AssemblerConfigurationSource.java
@@ -209,4 +209,24 @@ public interface AssemblerConfigurationSource
 
     @Nonnull
     FixedStringSearchInterpolator getMainProjectInterpolator();
+
+    /**
+     * @return Override UID.
+     */
+    Integer getOverrideUid();
+
+    /**
+     * @return Override user name.
+     */
+    String getOverrideUserName();
+
+    /**
+     * @return Override GID.
+     */
+    Integer getOverrideGid();
+
+    /**
+     * @return Override group name.
+     */
+    String getOverrideGroupName();
 }
diff --git a/src/main/java/org/apache/maven/plugins/assembly/archive/DefaultAssemblyArchiver.java b/src/main/java/org/apache/maven/plugins/assembly/archive/DefaultAssemblyArchiver.java
index 6ee3e4c..195aea2 100644
--- a/src/main/java/org/apache/maven/plugins/assembly/archive/DefaultAssemblyArchiver.java
+++ b/src/main/java/org/apache/maven/plugins/assembly/archive/DefaultAssemblyArchiver.java
@@ -62,6 +62,7 @@ import org.codehaus.plexus.context.Context;
 import org.codehaus.plexus.context.ContextException;
 import org.codehaus.plexus.logging.AbstractLogEnabled;
 import org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable;
+import org.codehaus.plexus.util.StringUtils;
 import org.codehaus.plexus.util.xml.Xpp3Dom;
 import org.codehaus.plexus.util.xml.Xpp3DomBuilder;
 import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
@@ -353,6 +354,23 @@ public class DefaultAssemblyArchiver
             archiver.configureReproducible( outputTimestamp );
         }
 
+        if ( configSource.getOverrideUid() != null )
+        {
+            archiver.setOverrideUid( configSource.getOverrideUid() );
+        }
+        if ( StringUtils.isNotBlank( configSource.getOverrideUserName() ) )
+        {
+            archiver.setOverrideUserName( StringUtils.trim( configSource.getOverrideUserName() ) );
+        }
+        if ( configSource.getOverrideGid() != null )
+        {
+            archiver.setOverrideGid( configSource.getOverrideGid() );
+        }
+        if ( StringUtils.isNotBlank( configSource.getOverrideGroupName() ) )
+        {
+            archiver.setOverrideGroupName( StringUtils.trim( configSource.getOverrideGroupName() ) );
+        }
+
         return archiver;
     }
 
diff --git a/src/main/java/org/apache/maven/plugins/assembly/mojos/AbstractAssemblyMojo.java b/src/main/java/org/apache/maven/plugins/assembly/mojos/AbstractAssemblyMojo.java
index 1cef8c6..9310439 100644
--- a/src/main/java/org/apache/maven/plugins/assembly/mojos/AbstractAssemblyMojo.java
+++ b/src/main/java/org/apache/maven/plugins/assembly/mojos/AbstractAssemblyMojo.java
@@ -404,6 +404,32 @@ public abstract class AbstractAssemblyMojo extends AbstractMojo implements Assem
     @Parameter( defaultValue = "${project.build.outputTimestamp}" )
     private String outputTimestamp;
 
+    /**
+     * Override of user ID in archive type which can store it.
+     */
+    @Parameter( property = "assembly.overrideUid" )
+    private Integer overrideUid;
+
+    /**
+     * Override of user name in archive type which can store it.
+     */
+    @Parameter( property = "assembly.overrideUserName" )
+    private String overrideUserName;
+
+
+    /**
+     * Override of group ID in archive type which can store it.
+     */
+    @Parameter( property = "assembly.overrideGid" )
+    private Integer overrideGid;
+
+    /**
+     * Override of group name in archive type which can store it.
+     */
+    @Parameter( property = "assembly.overrideGroupName" )
+    private String overrideGroupName;
+
+
     public static FixedStringSearchInterpolator mainProjectInterpolator( MavenProject mainProject )
     {
         if ( mainProject != null )
@@ -938,4 +964,27 @@ public abstract class AbstractAssemblyMojo extends AbstractMojo implements Assem
         return mainProjectInterpolator;
     }
 
+    @Override
+    public Integer getOverrideUid()
+    {
+        return this.overrideUid;
+    }
+
+    @Override
+    public String getOverrideUserName()
+    {
+        return this.overrideUserName;
+    }
+
+    @Override
+    public Integer getOverrideGid()
+    {
+        return this.overrideGid;
+    }
+
+    @Override
+    public String getOverrideGroupName()
+    {
+        return this.overrideGroupName;
+    }
 }
diff --git a/src/test/java/org/apache/maven/plugins/assembly/archive/DefaultAssemblyArchiverTest.java b/src/test/java/org/apache/maven/plugins/assembly/archive/DefaultAssemblyArchiverTest.java
index 2b1f23f..12e6757 100644
--- a/src/test/java/org/apache/maven/plugins/assembly/archive/DefaultAssemblyArchiverTest.java
+++ b/src/test/java/org/apache/maven/plugins/assembly/archive/DefaultAssemblyArchiverTest.java
@@ -47,6 +47,7 @@ import org.codehaus.plexus.interpolation.fixed.FixedStringSearchInterpolator;
 import org.codehaus.plexus.logging.Logger;
 import org.codehaus.plexus.logging.console.ConsoleLogger;
 import org.codehaus.plexus.util.FileUtils;
+import org.easymock.EasyMock;
 import org.easymock.classextension.EasyMockSupport;
 import org.junit.AfterClass;
 import org.junit.Assert;
@@ -60,6 +61,7 @@ import java.util.Collections;
 import java.util.List;
 
 import static org.easymock.EasyMock.anyBoolean;
+import static org.easymock.EasyMock.anyInt;
 import static org.easymock.EasyMock.anyObject;
 import static org.easymock.EasyMock.expect;
 import static org.easymock.EasyMock.expectLastCall;
@@ -171,6 +173,10 @@ public class DefaultAssemblyArchiverTest
             fail( "Should never happen" );
         }
 
+        expect( configSource.getOverrideUid() ).andReturn( 0 ).atLeastOnce();
+        expect( configSource.getOverrideUserName() ).andReturn( "root" ).atLeastOnce();
+        expect( configSource.getOverrideGid() ).andReturn( 0 ).atLeastOnce();
+        expect( configSource.getOverrideGroupName() ).andReturn( "root" ).atLeastOnce();
         expect( configSource.getOutputDirectory() ).andReturn( outDir );
         expect( configSource.getFinalName() ).andReturn( "finalName" );
         expect( configSource.getArchiverConfig() ).andReturn( null ).anyTimes();
@@ -240,6 +246,11 @@ public class DefaultAssemblyArchiverTest
         expect( configSource.isIgnorePermissions() ).andReturn( true );
         setupInterpolators( configSource, project );
 
+        expect( configSource.getOverrideUid() ).andReturn( 0 ).atLeastOnce();
+        expect( configSource.getOverrideUserName() ).andReturn( "root" ).atLeastOnce();
+        expect( configSource.getOverrideGid() ).andReturn( 0 ).atLeastOnce();
+        expect( configSource.getOverrideGroupName() ).andReturn( "root" ).atLeastOnce();
+
         mm.replayAll();
 
         final DefaultAssemblyArchiver subject =
@@ -295,6 +306,11 @@ public class DefaultAssemblyArchiverTest
 
         expect( configSource.isIgnorePermissions() ).andReturn( true ).anyTimes();
 
+        expect( configSource.getOverrideUid() ).andReturn( 0 ).atLeastOnce();
+        expect( configSource.getOverrideUserName() ).andReturn( "root" ).atLeastOnce();
+        expect( configSource.getOverrideGid() ).andReturn( 0 ).atLeastOnce();
+        expect( configSource.getOverrideGroupName() ).andReturn( "root" ).atLeastOnce();
+
         mm.replayAll();
 
         return createSubject( macArchiverManager, new ArrayList<AssemblyArchiverPhase>(), null );
@@ -345,6 +361,11 @@ public class DefaultAssemblyArchiverTest
         expect( configSource.getJarArchiveConfiguration() ).andReturn( null ).anyTimes();
         expect( configSource.isIgnorePermissions() ).andReturn( true ).anyTimes();
 
+        expect( configSource.getOverrideUid() ).andReturn( 0 ).atLeastOnce();
+        expect( configSource.getOverrideUserName() ).andReturn( "root" ).atLeastOnce();
+        expect( configSource.getOverrideGid() ).andReturn( 0 ).atLeastOnce();
+        expect( configSource.getOverrideGroupName() ).andReturn( "root" ).atLeastOnce();
+
         mm.replayAll();
 
         final DefaultAssemblyArchiver subject =
@@ -651,6 +672,18 @@ public class DefaultAssemblyArchiverTest
 
             archiver.setIgnorePermissions( false );
             expectLastCall().anyTimes();
+
+            archiver.setOverrideUid( anyInt() );
+            expectLastCall().anyTimes();
+
+            archiver.setOverrideUserName( EasyMock.<String>anyObject() );
+            expectLastCall().anyTimes();
+
+            archiver.setOverrideGid( anyInt() );
+            expectLastCall().anyTimes();
+
+            archiver.setOverrideGroupName( EasyMock.<String>anyObject() );
+            expectLastCall().anyTimes();
         }
 
         void expectGetArchiver( final String format, final Class<? extends Archiver> archiverClass )
diff --git a/src/test/java/org/apache/maven/plugins/assembly/testutils/PojoConfigSource.java b/src/test/java/org/apache/maven/plugins/assembly/testutils/PojoConfigSource.java
index f512b70..75f501f 100644
--- a/src/test/java/org/apache/maven/plugins/assembly/testutils/PojoConfigSource.java
+++ b/src/test/java/org/apache/maven/plugins/assembly/testutils/PojoConfigSource.java
@@ -505,4 +505,28 @@ public class PojoConfigSource
     {
         this.environmentInterpolator = environmentInterpolator;
     }
+
+    @Override
+    public Integer getOverrideUid()
+    {
+        return 0;
+    }
+
+    @Override
+    public String getOverrideUserName()
+    {
+        return "root";
+    }
+
+    @Override
+    public Integer getOverrideGid()
+    {
+        return 0;
+    }
+
+    @Override
+    public String getOverrideGroupName()
+    {
+        return "root";
+    }
 }


[maven-assembly-plugin] 02/02: MASSEMBLY-922: Remove property names from UID/GID overrides.

Posted by rf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rfscholte pushed a commit to branch MASSEMBLY-922
in repository https://gitbox.apache.org/repos/asf/maven-assembly-plugin.git

commit 83c664b105dcc4a2ae756bb31d06ce5232897573
Author: Vaclav Haisman <vh...@gmail.com>
AuthorDate: Mon Dec 30 23:44:14 2019 +0100

    MASSEMBLY-922: Remove property names from UID/GID overrides.
---
 .../apache/maven/plugins/assembly/mojos/AbstractAssemblyMojo.java | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/main/java/org/apache/maven/plugins/assembly/mojos/AbstractAssemblyMojo.java b/src/main/java/org/apache/maven/plugins/assembly/mojos/AbstractAssemblyMojo.java
index 9310439..2766a33 100644
--- a/src/main/java/org/apache/maven/plugins/assembly/mojos/AbstractAssemblyMojo.java
+++ b/src/main/java/org/apache/maven/plugins/assembly/mojos/AbstractAssemblyMojo.java
@@ -407,26 +407,26 @@ public abstract class AbstractAssemblyMojo extends AbstractMojo implements Assem
     /**
      * Override of user ID in archive type which can store it.
      */
-    @Parameter( property = "assembly.overrideUid" )
+    @Parameter
     private Integer overrideUid;
 
     /**
      * Override of user name in archive type which can store it.
      */
-    @Parameter( property = "assembly.overrideUserName" )
+    @Parameter
     private String overrideUserName;
 
 
     /**
      * Override of group ID in archive type which can store it.
      */
-    @Parameter( property = "assembly.overrideGid" )
+    @Parameter
     private Integer overrideGid;
 
     /**
      * Override of group name in archive type which can store it.
      */
-    @Parameter( property = "assembly.overrideGroupName" )
+    @Parameter
     private String overrideGroupName;