RFR: JDK-8182285: Speeding up incremental build by hashing module APIs

Erik Joelsson erik.joelsson at oracle.com
Thu Oct 19 13:47:47 UTC 2017


This patch introduces a new Javac plugin as a build tool, written by Jan 
Lahoda. The plugin creates a hash of the public API of what is being 
compiled and puts it in a file. The file is only updated if there is a 
difference compared to the current contents of the file. I have provided 
the integration with the build system.

The benefit of this is that we finally get some reasonable incremental 
build performance between modules. If you make a change to a class in 
java.base that doesn't touch the public API, the build will no longer 
recompile all other modules.

Webrev: http://cr.openjdk.java.net/~erikj/8182285/webrev.02/

Bug: https://bugs.openjdk.java.net/browse/JDK-8182285

/Erik




More information about the build-dev mailing list