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


Reply via email to