On Sat, 22 Jun 2024 13:37:30 GMT, Kevin Rushforth <k...@openjdk.org> wrote:
>> This PR updates `build.gradle` to define javac lint options for three >> different types of java compilation tasks: sdk classes, test classes >> (including shims), and tool classes (including JSLC). The defaults for these >> three groups of lint options are specified in `build.gradle`. >> >> We also define three gradle properties that can be used at build time to >> override the global lint options for each of the three categories of tasks >> as follows: >> >> * `LINT` - used when compiling sdk tasks : default = >> "removal,missing-explicit-ctor" >> * `TOOL_LINT` - used when compiling tool tasks : default = "" >> * `TEST_LINT` - used when compiling test tasks : default = "" >> >> Each property takes a string with a comma-separated list of lint options. >> For example: >> >> >> gradle -PLINT="deprecation,removal" sdk >> >> >> I provided a build mechanism to add extra per-module lint options in >> `build.gradle`. None are currently defined, but I tested the logic to show >> that it can be. I did not provide a way to override the per-module lint >> options via the command line. Once we start using them, we might consider >> adding that. >> >> While testing this PR, I ran into a few places where we need to suppress >> removal warnings for use of our own internal classes that are terminally >> deprecated, so I filed >> [JDK-8334143](https://bugs.openjdk.org/browse/JDK-8334143) to track this, >> and added the missing annotations in this PR. >> >> I also tested with JDK 23 to verify that we are now getting the expected >> warnings for the use of sun.misc.Unsafe, and filed two bugs >> --[JDK-8334138](https://bugs.openjdk.org/browse/JDK-8334138) to >> (temporarily) suppress those warnings in this PR and >> [JDK-8334137](https://bugs.openjdk.org/browse/JDK-8334137) to eventually fix >> them by replacing our use of sun.misc.Unsafe. > > Kevin Rushforth has updated the pull request with a new target base due to a > merge or a rebase. The incremental webrev excludes the unrelated changes > brought in by the merge/rebase. The pull request contains five additional > commits since the last revision: > > - Merge remote-tracking branch 'upstream/master' into > 8327255-lint-removal,missing-explicit-ctor > - fix typo and add missing tool tasks > - 8334138: Suppress removal warnings for sun.misc.Unsafe memory access > methods > - 8334143: Suppress remaining removal warnings for internal methods and > classes > - 8327255: javac lint warnings: removal, missing-explicit-ctor LGTM ------------- Marked as reviewed by lkostyra (Committer). PR Review: https://git.openjdk.org/jfx/pull/1474#pullrequestreview-2137916398