I can’t see how the compilation is dependent on the copy being finished. Since Erik contributed this it will probably be correct :) but I’d appreciate an explanation on how this dependency is guaranteed.
Or maybe I’m misunderstanding what this is supposed to do? /Magnus > 8 okt. 2019 kl. 17:27 skrev Jan Lahoda <jan.lah...@oracle.com>: > > Thanks for the new code Erik! > > A new webrev/patch that includes this better way of copying is here: > http://cr.openjdk.java.net/~jlahoda/8226585/webrev.01/ > > Any feedback is welcome! > > Thanks, > Jan > >> On 03. 10. 19 18:06, Erik Joelsson wrote: >> Hello Jan, >> The build change looks ok, but I would recommend this construct for copying >> the file instead: >> $(eval $(call SetupCopyFiles, COPY_PREVIEW_FEATURES, \ >> FILES := >> $(TOPDIR)/src/java.base/share/classes/jdk/internal/PreviewFeature.java, \ >> DEST := >> $(BUILDTOOLS_OUTPUTDIR)/gensrc/java.base.interim/jdk/internal/PreviewFeature.java, >> \ >> )) >> TARGETS += $(COPY_PREVIEW_FEATURES) >> Then you automatically get all the corner case handling we have implemented >> over the years for logging, making directories and copying files. Your >> version is still correct for this case though. >> /Erik >>> On 2019-10-03 02:57, Jan Lahoda wrote: >>> Hi, >>> >>> This is a continuation of Joe's patch from here: >>> https://mail.openjdk.java.net/pipermail/compiler-dev/2019-June/013498.html >>> >>> APIs associated with preview features are split into two groups: essential >>> and non-essential. These are marked with an JDK-internal annotation, >>> PreviewFeature, and a tag in the javadoc, @preview. The javac follows the >>> PreviewFeature annotation, and produces either warnings or errors for the >>> usages of such APIs. For the @preview tag, there is a taglet in the JDK >>> build that adds the content of the tag into the documentation. The first >>> part of the @preview's text goes into the summary, the second part goes >>> into the detailed description. >>> >>> For build, a tricky problem is that the jdk.compiler module uses the >>> PreviewFeature annotation as well, but that is not in the bootstrap JDK. >>> So, for the intermediate langtools build, the PreviewFeature annotation is >>> copied from java.base. >>> >>> Proposed webrev: >>> http://cr.openjdk.java.net/~jlahoda/8226585/webrev.00/ >>> >>> Javadoc with the change: >>> http://cr.openjdk.java.net/~jlahoda/8226585/docs.00/api/index.html >>> >>> See for example: >>> http://cr.openjdk.java.net/~jlahoda/8226585/docs.00/api/java.base/java/lang/String.html >>> >>> http://cr.openjdk.java.net/~jlahoda/8226585/docs.00/api/jdk.compiler/com/sun/source/tree/CaseTree.html >>> >>> >>> JBS: >>> https://bugs.openjdk.java.net/browse/JDK-8226585 >>> >>> CSR: >>> https://bugs.openjdk.java.net/browse/JDK-8231411 >>> >>> Feedback is welcome! >>> >>> Thanks, >>> Jan