From 0aa9c895cc3bd41d0446c926b9737c97d333ec89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Boutemy?= Date: Tue, 6 Jan 2026 02:58:34 +0100 Subject: [PATCH] add toolchain support fixes #327 --- .../apache/maven/archiver/MavenArchiver.java | 47 ++++++++++++++++--- src/site/xdoc/index.xml.vm | 10 ++-- 2 files changed, 48 insertions(+), 9 deletions(-) diff --git a/src/main/java/org/apache/maven/archiver/MavenArchiver.java b/src/main/java/org/apache/maven/archiver/MavenArchiver.java index d2f15fd..671f73f 100644 --- a/src/main/java/org/apache/maven/archiver/MavenArchiver.java +++ b/src/main/java/org/apache/maven/archiver/MavenArchiver.java @@ -45,6 +45,7 @@ import org.apache.maven.artifact.versioning.OverConstrainedVersionException; import org.apache.maven.execution.MavenSession; import org.apache.maven.project.MavenProject; +import org.apache.maven.toolchain.Toolchain; import org.codehaus.plexus.archiver.jar.JarArchiver; import org.codehaus.plexus.archiver.jar.Manifest; import org.codehaus.plexus.archiver.jar.ManifestException; @@ -118,6 +119,8 @@ static boolean isValidModuleName(String name) { private boolean buildJdkSpecDefaultEntry = true; + private Toolchain toolchain; + /** *

getManifest.

* @@ -615,7 +618,17 @@ private void handleDefaultEntries(MavenProject project, Manifest m, Map getArchiver() .configureReproducibleBuild(modifiedTime)); } + + /** + * Configure Toolchain used for creating the archive. + * + * @param toolchain the toolchain (may be {@code null}) + * @since 3.6.7 + */ + public void setToolchain(Toolchain toolchain) { + this.toolchain = toolchain; + } + + public Toolchain getToolchain() { + return toolchain; + } } diff --git a/src/site/xdoc/index.xml.vm b/src/site/xdoc/index.xml.vm index 9aca084..7be099c 100644 --- a/src/site/xdoc/index.xml.vm +++ b/src/site/xdoc/index.xml.vm @@ -218,13 +218,16 @@ version=\${project.version} If the manifest will contain these entries: Created-By: Maven Archiver ${project.version} -Build-Jdk-Spec: ${java.specification.version} +Build-Tool-Jre-Spec: ${java.specification.version} +Build-Jdk-Spec: ${java.specification.version} of compiler Java-Version: ${project maven.compiler.release/target} Since 3.5.0, the default value of Created-By entry can be overridden (usually by plugin code) using MavenArchiver.setCreatedBy(...) API.
Since 3.6.5, Java-Version entry is discovered by BuildHelper.discoverJavaRelease(...) API.
- The default value is true. + The default value is true.
+ Since 3.6.7, Build-Tool-Jre-Spec entry is added with Maven runtime info, while + Build-Jdk-Spec follows eventual toolchain. @@ -258,7 +261,8 @@ Specification-Vendor: \${project.organization.name} If the manifest will contain these entries: Build-Tool: ${maven.build.version} -Build-Jdk: ${java.version} (${java.vendor}) +Build-Tool-Jre: ${java.version} (${java.vendor}) +Build-Jdk: ${java.version} (${java.vendor}) of compiler Build-Os: ${os.name} (${os.version}; (${os.arch}) The default value is false.