Package org.apache.maven.archiver
Class MavenArchiver
java.lang.Object
org.apache.maven.archiver.MavenArchiver
- Version:
- $Revision$ $Date$
- Author:
- Emmanuel Venisse, kama
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionconfigureReproducible
(String outputTimestamp) Configure Reproducible Builds archive creation if a timestamp is provided.void
createArchive
(org.apache.maven.execution.MavenSession session, org.apache.maven.project.MavenProject project, MavenArchiveConfiguration archiveConfiguration) org.codehaus.plexus.archiver.jar.JarArchiver
org.codehaus.plexus.archiver.jar.Manifest
getManifest
(org.apache.maven.execution.MavenSession mavenSession, org.apache.maven.project.MavenProject project, ManifestConfiguration config) protected org.codehaus.plexus.archiver.jar.Manifest
getManifest
(org.apache.maven.execution.MavenSession session, org.apache.maven.project.MavenProject project, ManifestConfiguration config, Map<String, String> entries) org.codehaus.plexus.archiver.jar.Manifest
getManifest
(org.apache.maven.execution.MavenSession session, org.apache.maven.project.MavenProject project, MavenArchiveConfiguration config) org.codehaus.plexus.archiver.jar.Manifest
getManifest
(org.apache.maven.project.MavenProject project, ManifestConfiguration config) Return a pre-configured manifestparseOutputTimestamp
(String outputTimestamp) Parse output timestamp configured for Reproducible Builds' archive entries, either formatted as ISO 8601yyyy-MM-dd'T'HH:mm:ssXXX
or as an int representing seconds since the epoch (like SOURCE_DATE_EPOCH.void
setArchiver
(org.codehaus.plexus.archiver.jar.JarArchiver archiver) void
setBuildJdkSpecDefaultEntry
(boolean buildJdkSpecDefaultEntry) Add "Build-Jdk-Spec" entry as part of default manifest entries (true by default).void
setCreatedBy
(String description, String groupId, String artifactId) Define a value for "Created By" entry.void
setOutputFile
(File outputFile)
-
Field Details
-
SIMPLE_LAYOUT
The simply layout.- See Also:
-
REPOSITORY_LAYOUT
Repository layout.- See Also:
-
SIMPLE_LAYOUT_NONUNIQUE
simple layout non unique.- See Also:
-
REPOSITORY_LAYOUT_NONUNIQUE
Repository layout non unique.- See Also:
-
-
Constructor Details
-
MavenArchiver
public MavenArchiver()
-
-
Method Details
-
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.DependencyResolutionRequiredException Return a pre-configured manifest- Parameters:
project
-MavenProject
config
-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
-MavenSession
project
-MavenProject
config
-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, Map<String, String> entries) throws org.codehaus.plexus.archiver.jar.ManifestException, org.apache.maven.artifact.DependencyResolutionRequiredException- Parameters:
session
-MavenSession
project
-MavenProject
config
-ManifestConfiguration
entries
- 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
- 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, IOException, org.apache.maven.artifact.DependencyResolutionRequiredException - Parameters:
session
-MavenSession
project
-MavenProject
archiveConfiguration
-MavenArchiveConfiguration
- Throws:
org.codehaus.plexus.archiver.ArchiverException
- Archiver Exception.org.codehaus.plexus.archiver.jar.ManifestException
- Manifest Exception.IOException
- IO Exception.org.apache.maven.artifact.DependencyResolutionRequiredException
- Dependency resolution exception.
-
setCreatedBy
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
Parse output timestamp configured for Reproducible Builds' archive entries, either formatted as ISO 8601yyyy-MM-dd'T'HH:mm:ssXXX
or 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
null
ifnull
input or input contains only 1 character - Since:
- 3.5.0
-
configureReproducible
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
-