RFR: JDK-8244844 javac command line is not re-executable

Erik Joelsson erik.joelsson at oracle.com
Tue May 12 15:38:49 UTC 2020


On 2020-05-12 08:29, Magnus Ihse Bursie wrote:
> We've broken our golden rule in SetupJavaCompilation, that all command 
> lines should be copy/paste:able to re-execute them from the command 
> line. The reason is that the file containing the source code file 
> names has a temporary name, which is renamed after the compilation. 
> This is just a messy way to use the file both as input to javac and as 
> a marker that the compilation has succeeded. By splitting up these two 
> roles, we get more readable code and a re-executable command line.
>
> Bug: https://bugs.openjdk.java.net/browse/JDK-8244844
> WebRev: 
> http://cr.openjdk.java.net/~ihse/JDK-8244844-make-javac-re-executable/webrev.01
>
I really like seeing this fixed, but not sure about this patch. By 
moving the filelist to a separate rule and only having the source files 
as prereq, there will be cases where the source files timestamps have 
not changed, but the list of files may have. I think this would be 
safely covered if you moved VARDEPS_FILE as prereq to FILELIST.

/Erik





More information about the build-dev mailing list