This is an automated email from the ASF dual-hosted git repository.
hboutemy pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-artifact-plugin.git
The following commit(s) were added to refs/heads/master by this push:
new be26eb6 [MARTIFACT-20] update documentation
be26eb6 is described below
commit be26eb634d83872484cb0933746debc104f50821
Author: Hervé Boutemy <[email protected]>
AuthorDate: Sat Nov 27 19:08:18 2021 +0100
[MARTIFACT-20] update documentation
---
src/site/apt/index.apt.vm | 5 +++--
src/site/apt/reproducible.apt.vm | 16 +++++++++++-----
src/site/apt/usage.apt.vm | 17 +++++++++++------
3 files changed, 25 insertions(+), 13 deletions(-)
diff --git a/src/site/apt/index.apt.vm b/src/site/apt/index.apt.vm
index 2f60502..36c9bd9 100644
--- a/src/site/apt/index.apt.vm
+++ b/src/site/apt/index.apt.vm
@@ -34,8 +34,9 @@ ${project.name}
The Artifact Plugin only has one goal currently.
- * {{{./buildinfo-mojo.html}artifact:buildinfo}} records current build
results in {{{https://reproducible-builds.org/docs/jvm/}Reproducible Builds
buildinfo}} file
- and eventually compares against reference build previously published.
+ * {{{./buildinfo-mojo.html}artifact:buildinfo}} records current build
results in {{{https://reproducible-builds.org/docs/jvm/}Reproducible Builds
buildinfo}} file,
+
+ * {{{./compare-mojo.html}artifact:compare}} compares current build output
against reference build previously published.
* Usage
diff --git a/src/site/apt/reproducible.apt.vm b/src/site/apt/reproducible.apt.vm
index f785068..0406e4b 100644
--- a/src/site/apt/reproducible.apt.vm
+++ b/src/site/apt/reproducible.apt.vm
@@ -31,7 +31,7 @@ Diagnosing Reproducible Build Issues
When checking Reproducible Build, you may find that the current build output
is not the same as the reference:
-------
-$ mvn -Papache-release clean verify -Dgpg.skip artifact:buildinfo
-Dreference.repo=central
+$ mvn -Papache-release clean verify -Dgpg.skip artifact:compare
[INFO] Scanning for projects...
...
[INFO] --- maven-artifact-plugin:${project.version}:buildinfo (default-cli) @
doxia-module-markdown ---
@@ -40,27 +40,33 @@ $ mvn -Papache-release clean verify -Dgpg.skip
artifact:buildinfo -Dreference.re
Downloading from central:
https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-module-markdown/1.9.1/doxia-module-markdown-1.9.1.buildinfo
[WARNING] Reference buildinfo file not found: it will be generated from
downloaded reference artifacts
[INFO] Reference build java.version: 1.8 (from MANIFEST.MF Build-Jdk-Spec)
+[INFO] Reference build java.version: 1.8 (from MANIFEST.MF Build-Jdk-Spec)
+[ERROR] Current build java.version: 1.7 (from MANIFEST.MF Build-Jdk-Spec)
[INFO] Reference build os.name: Unix (from pom.properties newline)
[INFO] Minimal buildinfo generated from downloaded artifacts:
/tmp/doxia-1.9.1/target/reference/doxia-module-markdown-1.9.1.buildinfo
[WARNING] size mismatch doxia-logging-api-1.9.1.jar: investigate with
diffoscope target/reference/doxia-logging-api-1.9.1.jar
doxia-logging-api/target/doxia-logging-api-1.9.1.jar
-[WARNING] size mismatch doxia-sink-api-1.9.1.jar: investigate with diffoscope
target/reference/doxia-sink-api-1.9.1.jar
doxia-sink-api/target/doxia-sink-api-1.9.1.jar
-[WARNING] sha512 mismatch doxia-test-docs-1.9.1.jar: investigate with
diffoscope target/reference/doxia-test-docs-1.9.1.jar
doxia-test-docs/target/doxia-test-docs-1.9.1.jar
...
-[WARNING] Reproducible Build output summary: 20 files ok, 18 different
+[WARNING] size mismatch doxia-module-markdown-1.9.1.jar: investigate with
diffoscope target/reference/doxia-module-markdown-1.9.1.jar
doxia-modules/doxia-module-markdown/target/doxia-module-markdown-1.9.1.jar
+[WARNING] Reproducible Build output summary: 39 files ok, 18 different
[WARNING] see diff target/reference/doxia-module-markdown-1.9.1.buildinfo
doxia-modules/doxia-module-markdown/target/doxia-module-markdown-1.9.1.buildinfo
[WARNING] see also
https://maven.apache.org/guides/mini/guide-reproducible-builds.html
+[INFO] Reproducible Build output comparison saved to
/tmp/doxia-1.9.1/doxia-modules/doxia-module-markdown/target/doxia-module-markdown-1.9.1.buildcompare
+[INFO] Aggregate buildcompare copied to
/tmp/doxia-1.9.1/target/doxia-1.9.1.buildcompare
...
-------
Multiple interesting parts are available:
- * the summary: <<<[WARNING] Reproducible Build output summary: 20 files ok,
18 different>>>
+ * the summary: <<<[WARNING] Reproducible Build output summary: 39 files ok,
18 different>>>
* key information on reference build environment:\
<<<[INFO] Reference build java.version: 1.8 (from MANIFEST.MF
Build-Jdk-Spec)>>>\
<<<[INFO] Reference build os.name: Unix (from pom.properties newline)>>>\
which are the key requirements (JDK major version and Operating System)
for the build environment to reproduce the reference build
+ * eventual mismatch with current build environment:\
+ <<<[ERROR] Current build java.version: 1.7 (from MANIFEST.MF
Build-Jdk-Spec)>>>
+
* on each artifact different from reference, a command is provided to
investigate differences using {{{https://diffoscope.org/}diffoscope tool}}, a
diff tool working inside archives (jar, zip, tar, ...):\
simply copy paste provided command like <<<diffoscope
target/reference/doxia-logging-api-1.9.1.jar
doxia-logging-api/target/doxia-logging-api-1.9.1.jar>>> and you'll see where
differences are:
diff --git a/src/site/apt/usage.apt.vm b/src/site/apt/usage.apt.vm
index d42eddb..b138862 100644
--- a/src/site/apt/usage.apt.vm
+++ b/src/site/apt/usage.apt.vm
@@ -53,22 +53,27 @@ $ mvn clean verify artifact:buildinfo
* Checking Reproducible Build: Comparing Current Build Against Previous One
- When the <<<artifact:buildinfo>>> goal is used with <<<reference.repo>>>
command-line parameter, it uses the parameter value as a reference of a remote
repository
- (either its id like <<<central>>> or an url like
<<<https://repository.apache.org/content/repositories/maven-1619>>>)
- to get reference artifacts from it, then compares reference artifacts
against current build output to display <<Reproducible Build output summary>>:
+ <<<artifact:compare>>> goal compares reference artifacts against current
build output to display <<Reproducible Build output summary>>:
-------
-$ mvn -Papache-release clean verify -Dgpg.skip artifact:buildinfo
-Dreference.repo=central
+$ mvn -Papache-release clean verify -Dgpg.skip artifact:compare
[INFO] Scanning for projects...
...
-[INFO] --- maven-artifact-plugin:${project.version}:buildinfo (default-cli) @
doxia-module-markdown ---
+[INFO] --- maven-artifact-plugin:${project.version}:compare (default-cli) @
doxia-module-markdown ---
[INFO] Saved aggregate info on build to
/tmp/doxia-1.9.1/doxia-modules/doxia-module-markdown/target/doxia-module-markdown-1.9.1.buildinfo
[INFO] Checking against reference build from central...
Downloading from central:
https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-module-markdown/1.9.1/doxia-module-markdown-1.9.1.buildinfo
[WARNING] Reference buildinfo file not found: it will be generated from
downloaded reference artifacts
[INFO] Reference build java.version: 1.8 (from MANIFEST.MF Build-Jdk-Spec)
+[ERROR] Current build java.version: 1.7 (from MANIFEST.MF Build-Jdk-Spec)
[INFO] Reference build os.name: Unix (from pom.properties newline)
[INFO] Minimal buildinfo generated from downloaded artifacts:
/tmp/doxia-1.9.1/target/reference/doxia-module-markdown-1.9.1.buildinfo
-[INFO] Reproducible Build output summary: 38 files ok
+[WARNING] size mismatch doxia-logging-api-1.9.1.jar: investigate with
diffoscope target/reference/doxia-logging-api-1.9.1.jar
doxia-logging-api/target/doxia-logging-api-1.9.1.jar
...
+[WARNING] size mismatch doxia-module-markdown-1.9.1.jar: investigate with
diffoscope target/reference/doxia-module-markdown-1.9.1.jar
doxia-modules/doxia-module-markdown/target/doxia-module-markdown-1.9.1.jar
+[WARNING] Reproducible Build output summary: 39 files ok, 18 different
+[WARNING] see diff target/reference/doxia-module-markdown-1.9.1.buildinfo
doxia-modules/doxia-module-markdown/target/doxia-module-markdown-1.9.1.buildinfo
+[WARNING] see also
https://maven.apache.org/guides/mini/guide-reproducible-builds.html
+[INFO] Reproducible Build output comparison saved to
/tmp/doxia-1.9.1/doxia-modules/doxia-module-markdown/target/doxia-module-markdown-1.9.1.buildcompare
+[INFO] Aggregate buildcompare copied to
/tmp/doxia-1.9.1/target/doxia-1.9.1.buildcompare
-------