corda/sgx-jvm/tools/jvm-diff
2017-11-10 08:49:36 +00:00
..
compare-versions.sh ENT-975 Track unchanged files in extra-info (#99) 2017-11-10 08:49:36 +00:00
find-exclusions.sh Utilities for diffing the deterministic JVM with JDK8 (#86) 2017-10-31 17:05:44 +00:00
flatten.sh Utilities for diffing the deterministic JVM with JDK8 (#86) 2017-10-31 17:05:44 +00:00
generate-report.sh Utilities for diffing the deterministic JVM with JDK8 (#86) 2017-10-31 17:05:44 +00:00
README.md Utilities for diffing the deterministic JVM with JDK8 (#86) 2017-10-31 17:05:44 +00:00
report-template.html Utilities for diffing the deterministic JVM with JDK8 (#86) 2017-10-31 17:05:44 +00:00

Overview

This folder has a set of utilities for generating a report outlining the differences between two versions of the OpenJDK project, more specifically, the rt.jar build artefact across versions.

Files

The following scripts and utilities are used:

  • compare-versions.sh - extract exclusions and binary diff between JDK8 and Deterministic JVM
  • find-exclusions.sh - utility used in the above script to find JavaDoc exclusions in code base
  • generate-report.sh - once the data has been gathered with compare-versions.sh, this script can be used to generate an HTML report
  • report-template.html - the template to use for the HTML report
  • flatten.sh - flatten the file hierarchy of supporting diff and exclusion files into a single directory
Dependencies
Assumptions

The first two scripts are intended to be run from the root directory of the OpenJDK project, and assume two built JAR files:

  • jdk-8.0.0.jar, which is the rt.jar build artefact for branch jdk8u/jdk8u
  • jdk-8.0.0-determinstic.jar, which is the rt.jar build artefact for branch deterministic-jvm8

How to run?

From the root folder of your cloned OpenJDK project:

  1. Assuming that the files in this folder is in a subfolder tools of the OpenJDK root folder
  2. Build jdk8u/jdk8u and copy build/<target>/images/lib/rt.jar to jdk-8.0.0.jar
  3. Build deterministic-jvm8 and copy build/<target>/images/lib/rt.jar to jdk-8.0.0-deterministic.jar
  4. Run bash tools/compare-versions.sh
  5. Make a copy of the resulting report:
    • report/