Package org.apache.maven.archiver
Class MavenArchiver
- java.lang.Object
-
- org.apache.maven.archiver.MavenArchiver
-
public class MavenArchiver extends java.lang.Object- Version:
- $Revision$ $Date$
- Author:
- Emmanuel Venisse, kama
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringREPOSITORY_LAYOUTRepository layout.static java.lang.StringREPOSITORY_LAYOUT_NONUNIQUERepository layout non unique.static java.lang.StringSIMPLE_LAYOUTThe simply layout.static java.lang.StringSIMPLE_LAYOUT_NONUNIQUEsimple layout non unique.
-
Constructor Summary
Constructors Constructor Description MavenArchiver()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.DateconfigureReproducible(java.lang.String outputTimestamp)Configure Reproducible Builds archive creation if a timestamp is provided.voidcreateArchive(org.apache.maven.execution.MavenSession session, org.apache.maven.project.MavenProject project, MavenArchiveConfiguration archiveConfiguration)org.codehaus.plexus.archiver.jar.JarArchivergetArchiver()org.codehaus.plexus.archiver.jar.ManifestgetManifest(org.apache.maven.execution.MavenSession mavenSession, org.apache.maven.project.MavenProject project, ManifestConfiguration config)protected org.codehaus.plexus.archiver.jar.ManifestgetManifest(org.apache.maven.execution.MavenSession session, org.apache.maven.project.MavenProject project, ManifestConfiguration config, java.util.Map<java.lang.String,java.lang.String> entries)org.codehaus.plexus.archiver.jar.ManifestgetManifest(org.apache.maven.execution.MavenSession session, org.apache.maven.project.MavenProject project, MavenArchiveConfiguration config)org.codehaus.plexus.archiver.jar.ManifestgetManifest(org.apache.maven.project.MavenProject project, ManifestConfiguration config)Return a pre-configured manifestjava.util.DateparseOutputTimestamp(java.lang.String outputTimestamp)Parse output timestamp configured for Reproducible Builds' archive entries, either formatted as ISO 8601yyyy-MM-dd'T'HH:mm:ssXXXor as an int representing seconds since the epoch (like SOURCE_DATE_EPOCH.voidsetArchiver(org.codehaus.plexus.archiver.jar.JarArchiver archiver)voidsetBuildJdkSpecDefaultEntry(boolean buildJdkSpecDefaultEntry)Add "Build-Jdk-Spec" entry as part of default manifest entries (true by default).voidsetCreatedBy(java.lang.String description, java.lang.String groupId, java.lang.String artifactId)Define a value for "Created By" entry.voidsetOutputFile(java.io.File outputFile)
-
-
-
Field Detail
-
SIMPLE_LAYOUT
public static final java.lang.String SIMPLE_LAYOUT
The simply layout.- See Also:
- Constant Field Values
-
REPOSITORY_LAYOUT
public static final java.lang.String REPOSITORY_LAYOUT
Repository layout.- See Also:
- Constant Field Values
-
SIMPLE_LAYOUT_NONUNIQUE
public static final java.lang.String SIMPLE_LAYOUT_NONUNIQUE
simple layout non unique.- See Also:
- Constant Field Values
-
REPOSITORY_LAYOUT_NONUNIQUE
public static final java.lang.String REPOSITORY_LAYOUT_NONUNIQUE
Repository layout non unique.- See Also:
- Constant Field Values
-
-
Method Detail
-
getManifest
public org.codehaus.plexus.archiver.jar.Manifest getManifest(org.apache.maven.execution.MavenSession session, org.apache.maven.project.MavenProject project, MavenArchiveConfiguration config) throws org.codehaus.plexus.archiver.jar.ManifestException, org.apache.maven.artifact.DependencyResolutionRequiredException- Parameters:
session- The Maven Session.project- The Maven Project.config- The MavenArchiveConfiguration- Returns:
- The
Manifest - Throws:
org.codehaus.plexus.archiver.jar.ManifestException- In case of a failure.org.apache.maven.artifact.DependencyResolutionRequiredException- Resolution failure.
-
getManifest
public org.codehaus.plexus.archiver.jar.Manifest getManifest(org.apache.maven.project.MavenProject project, ManifestConfiguration config) throws org.codehaus.plexus.archiver.jar.ManifestException, org.apache.maven.artifact.DependencyResolutionRequiredExceptionReturn a pre-configured manifest- Parameters:
project-MavenProjectconfig-ManifestConfiguration- Returns:
Manifest- Throws:
org.codehaus.plexus.archiver.jar.ManifestException- Manifest exception.org.apache.maven.artifact.DependencyResolutionRequiredException- Dependency resolution exception.
-
getManifest
public org.codehaus.plexus.archiver.jar.Manifest getManifest(org.apache.maven.execution.MavenSession mavenSession, org.apache.maven.project.MavenProject project, ManifestConfiguration config) throws org.codehaus.plexus.archiver.jar.ManifestException, org.apache.maven.artifact.DependencyResolutionRequiredException- Parameters:
mavenSession-MavenSessionproject-MavenProjectconfig-ManifestConfiguration- Returns:
Manifest- Throws:
org.codehaus.plexus.archiver.jar.ManifestException- The manifest exception.org.apache.maven.artifact.DependencyResolutionRequiredException- The dependency resolution required exception.
-
getManifest
protected org.codehaus.plexus.archiver.jar.Manifest getManifest(org.apache.maven.execution.MavenSession session, org.apache.maven.project.MavenProject project, ManifestConfiguration config, java.util.Map<java.lang.String,java.lang.String> entries) throws org.codehaus.plexus.archiver.jar.ManifestException, org.apache.maven.artifact.DependencyResolutionRequiredException- Parameters:
session-MavenSessionproject-MavenProjectconfig-ManifestConfigurationentries- The entries.- Returns:
Manifest- Throws:
org.codehaus.plexus.archiver.jar.ManifestException- The manifest exception.org.apache.maven.artifact.DependencyResolutionRequiredException- The dependency resolution required exception.
-
getArchiver
public org.codehaus.plexus.archiver.jar.JarArchiver getArchiver()
- Returns:
JarArchiver
-
setArchiver
public void setArchiver(org.codehaus.plexus.archiver.jar.JarArchiver archiver)
- Parameters:
archiver-JarArchiver
-
setOutputFile
public void setOutputFile(java.io.File outputFile)
- Parameters:
outputFile- Set output file.
-
createArchive
public void createArchive(org.apache.maven.execution.MavenSession session, org.apache.maven.project.MavenProject project, MavenArchiveConfiguration archiveConfiguration) throws org.codehaus.plexus.archiver.jar.ManifestException, java.io.IOException, org.apache.maven.artifact.DependencyResolutionRequiredException- Parameters:
session-MavenSessionproject-MavenProjectarchiveConfiguration-MavenArchiveConfiguration- Throws:
org.codehaus.plexus.archiver.ArchiverException- Archiver Exception.org.codehaus.plexus.archiver.jar.ManifestException- Manifest Exception.java.io.IOException- IO Exception.org.apache.maven.artifact.DependencyResolutionRequiredException- Dependency resolution exception.
-
setCreatedBy
public void setCreatedBy(java.lang.String description, java.lang.String groupId, java.lang.String artifactId)Define a value for "Created By" entry.- Parameters:
description- description of the plugin, like "Maven Source Plugin"groupId- groupId where to get version in pom.propertiesartifactId- artifactId where to get version in pom.properties- Since:
- 3.5.0
-
setBuildJdkSpecDefaultEntry
public void setBuildJdkSpecDefaultEntry(boolean buildJdkSpecDefaultEntry)
Add "Build-Jdk-Spec" entry as part of default manifest entries (true by default). For plugins whose output is not impacted by JDK release (like maven-source-plugin), adding Jdk spec adds unnecessary requirement on JDK version used at build to get reproducible result.- Since:
- 3.5.0
-
parseOutputTimestamp
public java.util.Date parseOutputTimestamp(java.lang.String outputTimestamp)
Parse output timestamp configured for Reproducible Builds' archive entries, either formatted as ISO 8601yyyy-MM-dd'T'HH:mm:ssXXXor as an int representing seconds since the epoch (like SOURCE_DATE_EPOCH.- Parameters:
outputTimestamp- the value of${project.build.outputTimestamp}(may benull)- Returns:
- the parsed timestamp, may be
nullifnullinput or input contains only 1 character - Since:
- 3.5.0
-
configureReproducible
public java.util.Date configureReproducible(java.lang.String outputTimestamp)
Configure Reproducible Builds archive creation if a timestamp is provided.- Parameters:
outputTimestamp- the value of${project.build.outputTimestamp}(may benull)- Returns:
- the parsed timestamp
- Since:
- 3.5.0
- See Also:
parseOutputTimestamp(java.lang.String),Archiver#configureReproducible
-
-