gluonhq / scenebuilder

Scene Builder is a visual, drag 'n' drop, layout tool for designing JavaFX application user interfaces.
https://gluonhq.com/products/scene-builder/
Other
740 stars 220 forks source link

Release Scene Builder kit to maven central #749

Open abhinayagarwal opened 6 days ago

abhinayagarwal commented 6 days ago

JReleaser needs to be updated to also release kit to Maven Central. Currently the kit jar file is only pushed to Github Releases and AWS S3.

In addition to this, we also need to push snapshots to maven central as well.

aalmiray commented 5 days ago

Is the release kit supposed to be consumed by Maven/Gradle builds (JARs and POMs)? If so then releasing to Maven Central is the way to go. If not, then publishing it as release asset (which is currently in place) is what I'd recommend.

aalmiray commented 5 days ago

Releasing artifacts to Maven Central with JReleaser is described in the guide at https://jreleaser.org/guide/latest/examples/maven/maven-central.html

Follow these steps:

  1. Upgrade JReleaser to 1.14.0
  2. Choose if you'll publish using the Sonatype Portal API (newest option) or OSSRH (legacy option). Both options require securing username/token from Sonatype (https://central.sonatype.org/publish/generate-portal-token/). Check your settings if you have OSSRH credentials (username/password) because you now require username/token https://central.sonatype.org/publish/generate-token/)
  3. Stage all deployable artifacts (JARs, POMs) to a local directory. The guide shows how.
  4. Configure the local directory as a stagingRepository in the JReleaser configuration
  5. Ensure you have the minimum set of required secrets:
    • JRELEASER_GPG_PUBLIC_KEY
    • JRELEASER_GPG_SECRET_KEY
    • JRELEASER_GPGP_PASSPHRASE
    • JRELEASER_NEXUS2_USERNAME / JRELEASER_NEXUS2_PASSWORD (if using nexus2 deployer for OSSRH)
    • JRELEASER_MAVENCENTRAL_USERNAME / JRELEASER_MAVENCENTRAL_PASSWORD (if using mavenCentral deployer)

You can try a deployment in dryrun mode by invoking mvn -B -ntp -N jreleaser:jreleaserDeploy -Djreleaser.dry.run=true. If everything looks good then give it a go without dryrun.