Package org.apache.maven.archiver
Class MavenArchiver
java.lang.Object
org.apache.maven.archiver.MavenArchiver
MavenArchiver class.
- Version:
- $Id: $Id
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate File
private org.codehaus.plexus.archiver.jar.JarArchiver
private boolean
private static final String
private String
private static final Instant
private static final Instant
static final String
Repository layout.static final String
Repository layout non unique.static final String
The simply layout.static final String
simple layout non unique. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate void
addCustomEntries
(org.codehaus.plexus.archiver.jar.Manifest m, Map<String, String> entries, ManifestConfiguration config) private void
addManifestAttribute
(org.codehaus.plexus.archiver.jar.Manifest manifest, String key, String value) private void
addManifestAttribute
(org.codehaus.plexus.archiver.jar.Manifest manifest, Map<String, String> map, String key, String value) configureReproducible
(String outputTimestamp) Deprecated.void
configureReproducibleBuild
(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) createArchive.private String
private org.apache.maven.artifact.Artifact
findArtifactWithFile
(Set<org.apache.maven.artifact.Artifact> artifacts, File file) org.codehaus.plexus.archiver.jar.JarArchiver
Getter for the fieldarchiver
.private static String
getCreatedByVersion
(String groupId, String artifactId) org.codehaus.plexus.archiver.jar.Manifest
getManifest
(org.apache.maven.execution.MavenSession mavenSession, org.apache.maven.project.MavenProject project, ManifestConfiguration config) 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) getManifest.org.codehaus.plexus.archiver.jar.Manifest
getManifest
(org.apache.maven.execution.MavenSession session, org.apache.maven.project.MavenProject project, MavenArchiveConfiguration config) getManifest.org.codehaus.plexus.archiver.jar.Manifest
getManifest
(org.apache.maven.project.MavenProject project, ManifestConfiguration config) Return a pre-configured manifest.private void
handleBuildEnvironmentEntries
(org.apache.maven.execution.MavenSession session, org.codehaus.plexus.archiver.jar.Manifest m, Map<String, String> entries) private void
handleDefaultEntries
(org.codehaus.plexus.archiver.jar.Manifest m, Map<String, String> entries) private void
handleExtensions
(org.apache.maven.project.MavenProject project, Map<String, String> entries, org.codehaus.plexus.archiver.jar.Manifest m) private void
handleExtraExpression
(org.apache.maven.artifact.Artifact artifact, List<org.codehaus.plexus.interpolation.ValueSource> valueSources) private void
handleImplementationEntries
(org.apache.maven.project.MavenProject project, Map<String, String> entries, org.codehaus.plexus.archiver.jar.Manifest m) private void
handleSpecificationEntries
(org.apache.maven.project.MavenProject project, Map<String, String> entries, org.codehaus.plexus.archiver.jar.Manifest m) private static boolean
(package private) static boolean
isValidModuleName
(String name) private static Properties
loadOptionalProperties
(InputStream inputStream) parseBuildOutputTimestamp
(String outputTimestamp) Parse output timestamp configured for Reproducible Builds' archive entries.parseOutputTimestamp
(String outputTimestamp) Deprecated.UseparseBuildOutputTimestamp(String)
instead.void
setArchiver
(org.codehaus.plexus.archiver.jar.JarArchiver archiver) Setter for the fieldarchiver
.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) setOutputFile.
-
Field Details
-
CREATED_BY
- See Also:
-
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:
-
DATE_MIN
-
DATE_MAX
-
ARTIFACT_EXPRESSION_PREFIXES
-
archiver
private org.codehaus.plexus.archiver.jar.JarArchiver archiver -
archiveFile
-
createdBy
-
buildJdkSpecDefaultEntry
private boolean buildJdkSpecDefaultEntry
-
-
Constructor Details
-
MavenArchiver
public MavenArchiver()
-
-
Method Details
-
isValidModuleName
-
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 getManifest.
- Parameters:
session
- the Maven Sessionproject
- the Maven Projectconfig
- the MavenArchiveConfiguration- Returns:
- the
Manifest
- Throws:
org.codehaus.plexus.archiver.jar.ManifestException
- in case of a failureorg.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 getManifest.
- Parameters:
mavenSession
-MavenSession
project
-MavenProject
config
-ManifestConfiguration
- Returns:
Manifest
- Throws:
org.codehaus.plexus.archiver.jar.ManifestException
- the manifest exceptionorg.apache.maven.artifact.DependencyResolutionRequiredException
- the dependency resolution required exception
-
addManifestAttribute
private void addManifestAttribute(org.codehaus.plexus.archiver.jar.Manifest manifest, Map<String, String> map, String key, String value) throws org.codehaus.plexus.archiver.jar.ManifestException- Throws:
org.codehaus.plexus.archiver.jar.ManifestException
-
addManifestAttribute
private void addManifestAttribute(org.codehaus.plexus.archiver.jar.Manifest manifest, String key, String value) throws org.codehaus.plexus.archiver.jar.ManifestException - Throws:
org.codehaus.plexus.archiver.jar.ManifestException
-
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.DependencyResolutionRequiredExceptiongetManifest.
- Parameters:
session
-MavenSession
project
-MavenProject
config
-ManifestConfiguration
entries
- The entries.- Returns:
Manifest
- Throws:
org.codehaus.plexus.archiver.jar.ManifestException
- the manifest exceptionorg.apache.maven.artifact.DependencyResolutionRequiredException
- the dependency resolution required exception
-
handleExtraExpression
private void handleExtraExpression(org.apache.maven.artifact.Artifact artifact, List<org.codehaus.plexus.interpolation.ValueSource> valueSources) -
handleExtensions
private void handleExtensions(org.apache.maven.project.MavenProject project, Map<String, String> entries, org.codehaus.plexus.archiver.jar.Manifest m) throws org.codehaus.plexus.archiver.jar.ManifestException- Throws:
org.codehaus.plexus.archiver.jar.ManifestException
-
handleImplementationEntries
private void handleImplementationEntries(org.apache.maven.project.MavenProject project, Map<String, String> entries, org.codehaus.plexus.archiver.jar.Manifest m) throws org.codehaus.plexus.archiver.jar.ManifestException- Throws:
org.codehaus.plexus.archiver.jar.ManifestException
-
handleSpecificationEntries
private void handleSpecificationEntries(org.apache.maven.project.MavenProject project, Map<String, String> entries, org.codehaus.plexus.archiver.jar.Manifest m) throws org.codehaus.plexus.archiver.jar.ManifestException- Throws:
org.codehaus.plexus.archiver.jar.ManifestException
-
addCustomEntries
private void addCustomEntries(org.codehaus.plexus.archiver.jar.Manifest m, Map<String, String> entries, ManifestConfiguration config) throws org.codehaus.plexus.archiver.jar.ManifestException- Throws:
org.codehaus.plexus.archiver.jar.ManifestException
-
getArchiver
public org.codehaus.plexus.archiver.jar.JarArchiver getArchiver()Getter for the field
archiver
.- Returns:
JarArchiver
-
setArchiver
public void setArchiver(org.codehaus.plexus.archiver.jar.JarArchiver archiver) Setter for the field
archiver
.- Parameters:
archiver
-JarArchiver
-
setOutputFile
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 createArchive.
- 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.
-
handleDefaultEntries
private void handleDefaultEntries(org.codehaus.plexus.archiver.jar.Manifest m, Map<String, String> entries) throws org.codehaus.plexus.archiver.jar.ManifestException- Throws:
org.codehaus.plexus.archiver.jar.ManifestException
-
handleBuildEnvironmentEntries
private void handleBuildEnvironmentEntries(org.apache.maven.execution.MavenSession session, org.codehaus.plexus.archiver.jar.Manifest m, Map<String, String> entries) throws org.codehaus.plexus.archiver.jar.ManifestException- Throws:
org.codehaus.plexus.archiver.jar.ManifestException
-
findArtifactWithFile
-
getCreatedByVersion
-
loadOptionalProperties
-
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
-
createdBy
-
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.- Parameters:
buildJdkSpecDefaultEntry
- the value for "Build-Jdk-Spec" entry- Since:
- 3.5.0
-
parseOutputTimestamp
Deprecated.UseparseBuildOutputTimestamp(String)
instead.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 - Throws:
IllegalArgumentException
- if the outputTimestamp is neither ISO 8601 nor an integer, or it's not within the valid range 1980-01-01T00:00:02Z to 2099-12-31T23:59:59Z- Since:
- 3.5.0
-
configureReproducible
Deprecated.UseconfigureReproducibleBuild(String)
instead.Configure Reproducible Builds archive creation if a timestamp is provided.- Parameters:
outputTimestamp
- the value of${project.build.outputTimestamp}
(may benull
)- Returns:
- the parsed timestamp as
Date
- Since:
- 3.5.0
- See Also:
-
parseBuildOutputTimestamp
Parse output timestamp configured for Reproducible Builds' archive entries.Either as
DateTimeFormatter.ISO_OFFSET_DATE_TIME
or as a number representing seconds since the epoch (like SOURCE_DATE_EPOCH).- Parameters:
outputTimestamp
- the value of${project.build.outputTimestamp}
(may benull
)- Returns:
- the parsed timestamp as an
Optional<Instant>
,empty
if input isnull
or input contains only 1 character (not a number) - Throws:
IllegalArgumentException
- if the outputTimestamp is neither ISO 8601 nor an integer, or it's not within the valid range 1980-01-01T00:00:02Z to 2099-12-31T23:59:59Z- Since:
- 3.6.0
-
isNumeric
-
configureReproducibleBuild
Configure Reproducible Builds archive creation if a timestamp is provided.- Parameters:
outputTimestamp
- the value ofproject.build.outputTimestamp
(may benull
)- Since:
- 3.6.0
- See Also:
-
configureReproducibleBuild(String)
instead.