RFR: JDK-8226585: Improve javac messages for using a preview API

Erik Joelsson erik.joelsson at oracle.com
Thu Oct 3 16:06:00 UTC 2019


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



More information about the build-dev mailing list