Structured as
<groupId>
/<artifactId>
/<version>
Each of these directories have:
-
reference
- artifact on Maven central<unreproducible-reference-artifact:unreproducible-rebuild-artifact>
- unreproducible artifact
-
rebuild
- artifact that is built usingbuildspec
<unreproducible-reference-artifact:unreproducible-rebuild-artifact>
- unreproducible artifact
-
*.diffoscope.json
- difference between reference and rebuild -
jnorm
- https://github.com/stschott/jnorm-tool/tree/cec4645c5c9b52f73c347349bf14945b0eb55c87reference
- bytecode canonicalization of reference artifact<unreproducible-reference-artifact:unreproducible-rebuild-artifact>/*.jimple
- directory of Jimple files<unreproducible-reference-artifact>.log
- log of the canonicalization process
rebuild
- bytecode canonicalization of rebuild artifact<unreproducible-reference-artifact:unreproducible-rebuild-artifact>/*.jimple
- directory of Jimple files<unreproducible-reference-artifact>.log
- log of the canonicalization process
*.diff
- difference between canonicalized reference and rebuild*.json
- exit code of reference canonicalization, rebuild canonicalization, and diff.
-
oss-rebuild
- https://github.com/google/oss-rebuild/commit/4ef4c013fe6903cda40a9ee4244e3b65b5834325reference
- artifact canonicalization of reference artifact<unreproducible-reference-artifact:unreproducible-rebuild-artifact>.*
- canonicalized reference artifact<unreproducible-reference-artifact:unreproducible-rebuild-artifact>.log
- log of the canonicalization process
rebuild
- artifact canonicalization of rebuild artifact<unreproducible-reference-artifact:unreproducible-rebuild-artifact>.*
- canonicalized rebuild artifact<unreproducible-reference-artifact:unreproducible-rebuild-artifact>.log
- log of the canonicalization process
*.diff
- difference between canonicalized reference and rebuild*.json
- exit code of reference canonicalization, rebuild canonicalization, and diff.
-
oss-rebuild-improved
- same structure asoss-rebuild
, but with improved canonicalization (https://github.com/chains-project/chains-rebuild/commit/4ef4c013fe6903cda40a9ee4244e3b65b5834325) -
oss-rebuild-improved-2
- same structure asoss-rebuild
, but with improved canonicalization (https://github.com/chains-project/chains-rebuild/commit/6dd67d5c7ac4db112f3419b5132d8f80a22cbe65) -
copy_reference.log
andcopy_rebuild.log
- log if the artifact is copied from build directory toreference
orrebuild
directory -
mvn.log
- log of the build process -
output.txt
andoutput.json
- module hierarchy of the project
If there are no diffoscope files, it means that the build either failed or there is no difference between the artifacts. You can see failed builds in
mvn.log
. You can confirm the project is fully reproducible by referring toko
attribute in.buildcompare
.
Note that
oss-rebuild-improved-2
is called CHAINS-rebuild in the paper.