> Note for reviewers: Some testing was done in a follow-up PR, so worth > checking as well: https://github.com/openjdk/jfx/pull/2144 > > --- > > This PR splits the maven publishing logic into an own file, > `maven-publish.gradle`, that is next to the root `build.gradle`. > > The `build.gradle` will apply the `maven-publish.gradle`. The > `maven-publish.gradle` will then configure the Maven related properties and > register all modules for publication. > > This way, we decoupled the logic that much, the only things we need to do: > - apply from `maven-publish.gradle` > - Call `configureMavenPublication` later in the build chain. > > To better understand the context, this is the commit where the whole Maven > Publishing logic was introduced. I moved all of that logic out of the main > `build.gradle`: 5a18677f > > This will reduce the size by ~170 lines for the `build.gradle`. > > Tested with: > - `./gradlew -PMAVEN_PUBLISH=true -PMAVEN_VERSION=custom publishToMavenLocal` > - `./gradlew -PMAVEN_PUBLISH=true publishToMavenLocal` > - `./gradlew -PMAVEN_PUBLISH=true -PMILESTONE_FCS=true publishToMavenLocal` > > Everything still works: > -> Example: javafx.base from the local .m2 repository > <img width="1051" height="388" alt="image" > src="https://github.com/user-attachments/assets/66ccd007-ff2c-4309-982a-1e8123e9f52a" > /> > > I think this is a good step and an easy way to split out functionality > without blowing things up. We might want to do that for other parts as well. > > Note: I also fixed the deprecated `buildDir`, the deprecated `project.task` > method and 2 warnings where it seems like he might not be able to infer the > type (changing `def` to the actual type). > -> The file is completely green, no warnings or deprecations. > Note2: I did a small improvement to the `addMavenPublication` method. It is > now more 'typesafe', e.g. projects must be passed in directly, not as String. > If a project does not exist, the build will fail with an exception. > > --------- > - [x] I confirm that I make this contribution in accordance with the [OpenJDK > Interim AI Policy](https://openjdk.org/legal/ai).
Marius Hanl 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 12 additional commits since the last revision: - Merge branch 'master' of https://github.com/openjdk/jfx into 833146-mvn-publish - all task build the publication now - Merge branch 'master' of https://github.com/openjdk/jfx into 833146-mvn-publish - Use defineProperty and fail method from default build.gradle - Depend maven publishing on the build modules task - Merge branch 'master' of https://github.com/openjdk/jfx into 833146-mvn-publish - remove print - Use projects directly - Further reduce coupling between main build.gradle and maven-publish.gradle - Move MAVEN_GROUP_ID and fail() over to maven-publish.gradle - ... and 2 more: https://git.openjdk.org/jfx/compare/976488e9...ea22f852 ------------- Changes: - all: https://git.openjdk.org/jfx/pull/1970/files - new: https://git.openjdk.org/jfx/pull/1970/files/a520eaa2..ea22f852 Webrevs: - full: https://webrevs.openjdk.org/?repo=jfx&pr=1970&range=07 - incr: https://webrevs.openjdk.org/?repo=jfx&pr=1970&range=06-07 Stats: 68411 lines in 511 files changed: 26342 ins; 19649 del; 22420 mod Patch: https://git.openjdk.org/jfx/pull/1970.diff Fetch: git fetch https://git.openjdk.org/jfx.git pull/1970/head:pull/1970 PR: https://git.openjdk.org/jfx/pull/1970
