> 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.

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 11 additional commits since the 
last revision:

 - 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
 - Copyright header
 - ... and 1 more: https://git.openjdk.org/jfx/compare/96026bb1...a520eaa2

-------------

Changes:
  - all: https://git.openjdk.org/jfx/pull/1970/files
  - new: https://git.openjdk.org/jfx/pull/1970/files/74a9d1f6..a520eaa2

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jfx&pr=1970&range=06
 - incr: https://webrevs.openjdk.org/?repo=jfx&pr=1970&range=05-06

  Stats: 524257 lines in 9322 files changed: 268695 ins; 190626 del; 64936 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

Reply via email to