Structured as
<groupId>/<artifactId>/<version>
Each of these directories have:
reference - artifact on Maven central<unreproducible-reference-artifact:unreproducible-rebuild-artifact> - unreproducible artifactrebuild - artifact that is built using buildspec<unreproducible-reference-artifact:unreproducible-rebuild-artifact> - unreproducible artifact*.diffoscope.json - difference between reference and rebuildjnorm - 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 processrebuild - 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 processrebuild - 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 as oss-rebuild, but with improved canonicalization (https://github.com/chains-project/chains-rebuild/commit/4ef4c013fe6903cda40a9ee4244e3b65b5834325)oss-rebuild-improved-2 - same structure as oss-rebuild, but with improved canonicalization (https://github.com/chains-project/chains-rebuild/commit/6dd67d5c7ac4db112f3419b5132d8f80a22cbe65)
copy_reference.log and copy_rebuild.log - log if the artifact is copied from build directory to reference or rebuild directory
mvn.log - log of the build processoutput.txt and output.json - module hierarchy of the projectIf 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 tokoattribute in.buildcompare.
Note that
oss-rebuild-improved-2is called CHAINS-rebuild in the paper.