diff --git a/src/it/reproducible/invoker.properties b/src/it/reproducible/invoker.properties index 0b9ee6a..19c0b8c 100644 --- a/src/it/reproducible/invoker.properties +++ b/src/it/reproducible/invoker.properties @@ -15,4 +15,4 @@ # specific language governing permissions and limitations # under the License. -invoker.goals=source:jar deploy:deploy +invoker.goals=remote-resources:process source:jar deploy:deploy diff --git a/src/it/reproducible/pom.xml b/src/it/reproducible/pom.xml index 214ea5e..f85ea2e 100644 --- a/src/it/reproducible/pom.xml +++ b/src/it/reproducible/pom.xml @@ -63,6 +63,16 @@ mine::default::file://${basedir}/target/repo + + org.apache.maven.plugins + maven-remote-resources-plugin + 1.5 + + + org.apache:apache-jar-resource-bundle:1.4 + + + diff --git a/src/it/reproducible/verify.groovy b/src/it/reproducible/verify.groovy index bd8aa47..54ebe23 100644 --- a/src/it/reproducible/verify.groovy +++ b/src/it/reproducible/verify.groovy @@ -72,4 +72,4 @@ zipFile.close(); String buf = r.toString() println buf -assert buf.startsWith( "reproducible-1.0-sources.jar sha1 = c505d059e036128fae3fcdd265fa51e14d7ae241" ) +assert buf.startsWith( "reproducible-1.0-sources.jar sha1 = 3a3687b063cfc164fbbccd1b9573b4232f540e8a" ) diff --git a/src/main/java/org/apache/maven/plugins/source/AbstractSourceJarMojo.java b/src/main/java/org/apache/maven/plugins/source/AbstractSourceJarMojo.java index 367e61f..641bd35 100644 --- a/src/main/java/org/apache/maven/plugins/source/AbstractSourceJarMojo.java +++ b/src/main/java/org/apache/maven/plugins/source/AbstractSourceJarMojo.java @@ -280,9 +280,6 @@ protected void packageSources( List theProjects ) } MavenArchiver archiver = createArchiver(); - - // configure for Reproducible Builds based on outputTimestamp value - archiver.configureReproducible( outputTimestamp ); for ( MavenProject pItem : theProjects ) { @@ -312,6 +309,7 @@ protected void packageSources( List theProjects ) archiver.setOutputFile( outputFile ); archive.setForced( forceCreation ); + getLog().debug( "create archive " + outputFile ); archiver.createArchive( session, project, archive ); } catch ( IOException e ) @@ -424,6 +422,10 @@ protected MavenArchiver createArchiver() archiver.setCreatedBy( "Maven Source Plugin", "org.apache.maven.plugins", "maven-source-plugin" ); archiver.setBuildJdkSpecDefaultEntry( false ); + + // configure for Reproducible Builds based on outputTimestamp value + archiver.configureReproducible( outputTimestamp ); + if ( project.getBuild() != null ) { List resources = project.getBuild().getResources(); @@ -454,6 +456,7 @@ protected void addDirectory( Archiver archiver, File sourceDirectory, String[] p { try { + getLog().debug( "add directory " + sourceDirectory + " to archiver" ); // archiver.addFileSet( fileSet ); archiver.addDirectory( sourceDirectory, pIncludes, pExcludes ); } @@ -477,6 +480,7 @@ protected void addDirectory( Archiver archiver, File sourceDirectory, String pre { try { + getLog().debug( "add directory " + sourceDirectory + " to archiver with prefix " + prefix ); archiver.addDirectory( sourceDirectory, prefix, pIncludes, pExcludes ); } catch ( ArchiverException e )