Skip to content

Commit

Permalink
#114 added Archiver.setFilenameComparator(Comparator<String>)
Browse files Browse the repository at this point in the history
permits optional ordering of archive entries to enable reproducible
builds
  • Loading branch information
hboutemy committed Aug 25, 2019
1 parent b1787bb commit 0ffc599
Show file tree
Hide file tree
Showing 6 changed files with 46 additions and 2 deletions.
4 changes: 2 additions & 2 deletions pom.xml
Expand Up @@ -57,12 +57,12 @@
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
<version>3.1.1</version>
<version>3.3.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-io</artifactId>
<version>3.1.1</version>
<version>3.2.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
Expand Down
17 changes: 17 additions & 0 deletions src/main/java/org/codehaus/plexus/archiver/AbstractArchiver.java
Expand Up @@ -22,6 +22,7 @@
import java.lang.reflect.UndeclaredThrowableException;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
Expand Down Expand Up @@ -109,6 +110,11 @@ public abstract class AbstractArchiver
*/
private Date lastModifiedDate;

/**
* @sine 4.2.0
*/
private Comparator<String> filenameComparator;

// contextualized.
private ArchiverManager archiverManager;

Expand Down Expand Up @@ -352,6 +358,7 @@ public void addFileSet( @Nonnull final FileSet fileSet )
collection.setUsingDefaultExcludes( fileSet.isUsingDefaultExcludes() );
collection.setStreamTransformer( fileSet.getStreamTransformer() );
collection.setFileMappers( fileSet.getFileMappers() );
collection.setFilenameComparator( getFilenameComparator() );

if ( getOverrideDirectoryMode() > -1 || getOverrideFileMode() > -1 )
{
Expand Down Expand Up @@ -1151,4 +1158,14 @@ public Date getLastModifiedDate()
return lastModifiedDate;
}

@Override
public void setFilenameComparator( Comparator<String> filenameComparator )
{
this.filenameComparator = filenameComparator;
}

public Comparator<String> getFilenameComparator()
{
return filenameComparator;
}
}
5 changes: 5 additions & 0 deletions src/main/java/org/codehaus/plexus/archiver/Archiver.java
Expand Up @@ -19,6 +19,7 @@
import java.io.File;
import java.io.IOException;
import java.nio.charset.Charset;
import java.util.Comparator;
import java.util.Date;
import java.util.HashSet;
import java.util.Map;
Expand Down Expand Up @@ -413,4 +414,8 @@ ResourceIterator getResources()
*/
Date getLastModifiedDate();

/**
* @since 4.2.0
*/
void setFilenameComparator( Comparator<String> filenameComparator );
}
Expand Up @@ -18,6 +18,7 @@
import java.io.File;
import java.io.IOException;
import java.nio.charset.Charset;
import java.util.Comparator;
import java.util.Date;
import java.util.Map;
import javax.annotation.Nonnull;
Expand Down Expand Up @@ -344,4 +345,9 @@ public Date getLastModifiedDate()
return target.getLastModifiedDate();
}

@Override
public void setFilenameComparator( final Comparator<String> filenameComparator )
{
target.setFilenameComparator( filenameComparator );
}
}
Expand Up @@ -19,6 +19,7 @@
import java.io.IOException;
import java.nio.charset.Charset;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.Map;
import javax.annotation.Nonnull;
Expand Down Expand Up @@ -359,4 +360,10 @@ public Date getLastModifiedDate()
return null;
}

@Override
public void setFilenameComparator( final Comparator<String> filenameComparator )
{

}

}
Expand Up @@ -22,6 +22,7 @@
import java.io.IOException;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
Expand Down Expand Up @@ -55,6 +56,8 @@ public class TrackingArchiver

private Date lastModified;

private Comparator<String> filenameComparator;

@Override
public void createArchive()
throws ArchiverException, IOException
Expand Down Expand Up @@ -415,4 +418,10 @@ public Date getLastModifiedDate()
return lastModified;
}


@Override
public void setFilenameComparator( final Comparator<String> filenameComparator )
{
this.filenameComparator = filenameComparator;
}
}

0 comments on commit 0ffc599

Please sign in to comment.