Skip to content

Conversation

@jtulach
Copy link
Contributor

@jtulach jtulach commented Apr 13, 2021

New version of SigTest supports the release attribute. That allows us to fix the JDK API to particular version. The PR sets it to ${javac.target} for each module. To verify how this behaves try for example:

platform/openide.util.lookup$ ant clean build check-sigtest -Djavac.target=11  -Dsigtest.check.type=strictcheck

Missed Annotations
------------------

org.openide.util.Lookup$Template.init:  anno 0 java.lang.Deprecated()
org.openide.util.lookup.implspi.AbstractServiceProviderProcessor.register:      anno 0 java.lang.Deprecated()

Added Annotations
-----------------

java.lang.Object.finalize:              anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="9")
java.lang.Object.finalize:              anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="9")
java.lang.Object.finalize:              anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="9")
java.lang.Object.finalize:              anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="9")
java.lang.Object.finalize:              anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="9")
java.lang.Object.finalize:              anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="9")
java.lang.Object.finalize:              anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="9")
java.lang.Object.finalize:              anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="9")
java.lang.Object.finalize:              anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="9")
java.lang.Object.finalize:              anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="9")
java.lang.Object.finalize:              anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="9")
java.lang.Object.finalize:              anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="9")
java.lang.Object.finalize:              anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="9")
java.lang.Object.finalize:              anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="9")
java.lang.Object.finalize:              anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="9")
java.lang.Object.finalize:              anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="9")
org.openide.util.Lookup$Template.init:  anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="")
org.openide.util.lookup.implspi.AbstractServiceProviderProcessor.register:      anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="")

e.g. the report includes changes done in between JDK8 and JDK11 to Object.finalize and attributes of Deprecated. CCing @neilcsmith-net + @geertjanw

@jtulach
Copy link
Contributor Author

jtulach commented Apr 14, 2021

First error is reported and it can be interpreted as the power of --release option!

Class org.netbeans.lib.profiler.utils.ImmutableList
  "E1.2 - API type removed" : method public java.util.Spliterator java.lang.Iterable.spliterator()
  "E1.2 - API type removed" : method public void java.lang.Iterable.forEach(java.util.function.Consumer)

The lib.profiler project sets javac.target=1.7 and SigTest version 1.4 properly sees only JDK7 APIs now!

@neilcsmith-net
Copy link
Member

neilcsmith-net commented Apr 14, 2021

Looks a good move! I was just going to liaise with @geertjanw about the API snapshot, which for 12.3 we did initially before freeze so we could get useful review. Is this intended for 12.4? Should we wait until this merges?

@JaroslavTulach
Copy link

Yes, if it seems to work (and it does). Let's use it for 12.4.

@JaroslavTulach JaroslavTulach self-assigned this Apr 16, 2021
@JaroslavTulach JaroslavTulach merged commit b4627f7 into apache:master Apr 20, 2021
@JaroslavTulach JaroslavTulach deleted the jtulach/SigTestWithRelease branch April 20, 2021 05:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants