Package org.apache.maven.archiver
Class MavenArchiver
java.lang.Object
org.apache.maven.archiver.MavenArchiver
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Fileprivate org.codehaus.plexus.archiver.jar.JarArchiverprivate booleanprivate static final Stringprivate Stringstatic final StringRepository layout.static final StringRepository layout non unique.static final StringThe simply layout.static final Stringsimple layout non unique. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate voidaddCustomEntries(org.codehaus.plexus.archiver.jar.Manifest m, Map<String, String> entries, ManifestConfiguration config) private voidaddManifestAttribute(org.codehaus.plexus.archiver.jar.Manifest manifest, String key, String value) private voidaddManifestAttribute(org.codehaus.plexus.archiver.jar.Manifest manifest, Map<String, String> map, String key, String value) configureReproducible(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) private Stringprivate org.apache.maven.artifact.ArtifactfindArtifactWithFile(Set<org.apache.maven.artifact.Artifact> artifacts, File file) org.codehaus.plexus.archiver.jar.JarArchiverprivate static StringgetCreatedByVersion(String groupId, String artifactId) 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, Map<String, 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 manifest.private voidhandleBuildEnvironmentEntries(org.apache.maven.execution.MavenSession session, org.codehaus.plexus.archiver.jar.Manifest m, Map<String, String> entries) private voidhandleDefaultEntries(org.codehaus.plexus.archiver.jar.Manifest m, Map<String, String> entries) private voidhandleExtensions(org.apache.maven.project.MavenProject project, Map<String, String> entries, org.codehaus.plexus.archiver.jar.Manifest m) private voidhandleExtraExpression(org.apache.maven.artifact.Artifact artifact, List<org.codehaus.plexus.interpolation.ValueSource> valueSources) private voidhandleImplementationEntries(org.apache.maven.project.MavenProject project, Map<String, String> entries, org.codehaus.plexus.archiver.jar.Manifest m) private voidhandleSpecificationEntries(org.apache.maven.project.MavenProject project, Map<String, String> entries, org.codehaus.plexus.archiver.jar.Manifest m) (package private) static booleanisValidModuleName(String name) parseOutputTimestamp(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(String description, String groupId, String artifactId) Define a value for "Created By" entry.voidsetOutputFile(File outputFile)
-
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:
-
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 - 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-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 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.DependencyResolutionRequiredException- Parameters:
session-MavenSessionproject-MavenProjectconfig-ManifestConfigurationentries- 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()- 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-MavenSessionproject-MavenProjectarchiveConfiguration-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
-
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
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 - Throws:
IllegalArgumentException- if the outputTimestamp is neither ISO 8601 nor an integer- 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:
-