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