RFR: 8309381: Support JavaFX incubator modules [v2]
Kevin Rushforth
kcr at openjdk.org
Fri Nov 22 19:37:19 UTC 2024
On Fri, 22 Nov 2024 16:36:02 GMT, Kevin Rushforth <kcr at openjdk.org> wrote:
>> This PR add the necessary support for [JavaFX Incubator Modules](https://github.com/kevinrushforth/jfx/blob/jfx.incubator/INCUBATOR-MODULES.md). It includes the following:
>>
>> 1. Changes to the build scripts `build.gradle` and `settings.gradle` to document where to add your incubator module. Also added `jlink` flags to not resolve incubator modules by default and warn when resolving (same as is done for JDK incubator modules).
>> 2. A utility class to produce warnings when first using an incubator module.
>> 3. Changes to `javafx.base/module-info.java` to document where to add the needed qualified exports to your module to access the utility class in 2.
>>
>> See PR #1617 for a sample module that is built on top of this PR's source branch.
>>
>> This is almost ready to review. I will take it out of Draft in the next day or so.
>
> 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 three additional commits since the last revision:
>
> - Merge branch 'master' into 8309381-incubator.dev
> - Remove call to doPrivileged
> - 8309381: Support JavaFX incubator modules
I made the changes to split out the build logic from `build.gradle` so that adding a new incubator module will not require touching the main `build.gradle` file. I pushed this to a new [8309381-incubator.v2](https://github.com/kevinrushforth/jfx/tree/8309381-incubator.v2) branch to evaluate whether to update this PR with that approach.
Click here to see [the diff between this PR branch and v2](https://github.com/kevinrushforth/jfx/compare/8309381-incubator...8309381-incubator.v2).
See [README-incubator.md](https://github.com/kevinrushforth/jfx/blob/8309381-incubator.v2/README-incubator.md) for instructions on creating a new incubator module.
I also updated the sample incubator module, `jfx.incubator.myfeature` in my [jfx.incubator.v2](https://github.com/kevinrushforth/jfx/tree/jfx.incubator.v2) branch.
Click here to see [the jfx.incubator.v2 diffs](https://github.com/kevinrushforth/jfx/compare/jfx.incubator...jfx.incubator.v2).
@andy-goryachev-oracle Can you take a look?
I do think it makes a better separation to get the build logic out of build.gradle, but I wonder whether we want to wait and do this as part of the larger build.gradle cleanup.
@nlisker @johanvos What do you think?
-------------
PR Comment: https://git.openjdk.org/jfx/pull/1616#issuecomment-2494645757
More information about the openjfx-dev
mailing list