On Tue, 25 Jun 2024 15:48:46 GMT, Andy Goryachev <ango...@openjdk.org> wrote:
>> This PR is a follow-on to #1474. >> >> Enable `javac -Werror` so that javac warnings, including but not limited to >> javac lint warnings, will cause the build to fail. As with the fix for >> [JDK-8327255](https://bugs.openjdk.org/browse/JDK-8327255), we define three >> new properties to enable `-Werror`, one for each type of java compilation >> task: sdk classes, test classes (including shims), and tool classes >> (including JSLC). The defaults for `-Werror` for these three groups are: >> >> * `JAVAC_WERROR` : `true` >> * `TOOL_JAVAC_WERROR` : `false` >> * `TEST_JAVAC_WERROR` : `false` >> >> They can be overridden on the command line. >> >> I had to do the following two things for the build to pass: >> >> 1. Disable `-Werror` for the `javafx.graphics` module until >> [JDK-8334137](https://bugs.openjdk.org/browse/JDK-8334137) is fixed. The >> warning generated when using `sun.misc.Unsafe` in JDK 22 or later cannot be >> suppressed, so we must not use `-Werror` when compiling the graphics module. >> 2. Define module-specific `extraLintOptions` in the swing module to disable >> the "options" lint warning, which is enabled by default. That warning is >> generated because we (necessarily) use `--source 21` instead of `--release >> 21` for the Swing module, and don't set the location of the system modules. >> >> I tested this, both locally and via GHA, in the following two branches, each >> of which introduces an error, the first tests that a removal warning will >> fail the build and the second tests that a missing explicit constructor will >> fail the build: >> >> * >> [test-Werror-removal](https://github.com/kevinrushforth/jfx/tree/test-Werror-removal) >> : [GHA >> workflow](https://github.com/kevinrushforth/jfx/actions/runs/9664971290) >> * >> [test-Werror-implicit-ctor](https://github.com/kevinrushforth/jfx/tree/test-Werror-implicit-ctor) >> : [GHA >> workflow](https://github.com/kevinrushforth/jfx/actions/runs/9664924813) > > build.gradle line 2270: > >> 2268: project.ext.moduleName = "javafx.graphics" >> 2269: >> 2270: // FIXME: Remove this setting when JDK-8334137 is fixed > > perhaps refer to https://bugs.openjdk.org/browse/JDK-8334161 as well here? Probably not in this case. We generally don't refer to the bug ID that added a line of code or a comment. I will add a comment to [JDK-8334137](https://bugs.openjdk.org/browse/JDK-8334137) with a note to remove this block as part of fixing it. ------------- PR Review Comment: https://git.openjdk.org/jfx/pull/1475#discussion_r1653341227