This document covers publishing the current single-module SpacePixels artifact to Maven Central.
SpacePixels is configured to generate a Maven Central-compatible upload bundle with:
javadoc.jarsources.jar- POM metadata
- PGP signatures
- checksum files
The build uses the same local staging and bundle flow as JPlateSolve. Instead of pushing directly to the Central Portal from Gradle, it stages a signed Maven repository under build/repos/central-staging and then zips that repository into a Central Portal upload bundle.
- Edit
gradle.propertiesin the project root or define the same properties in%USERPROFILE%\.gradle\gradle.properties. - Fill in your local signing values.
The expected properties are:
pomDeveloperIdpomDeveloperNamepomDeveloperEmailpomDeveloperOrganizationpomDeveloperOrganizationUrlsigningKey,signingPasswordsigning.keyId,signing.password,signing.secretKeyRingFile
Example gradle.properties:
pomDeveloperId=ppissias
pomDeveloperName=Petros Pissias
pomDeveloperEmail=petrospis@gmail.com
pomDeveloperOrganization=GitHub
pomDeveloperOrganizationUrl=https://github.com/ppissias
signingKey=-----BEGIN PGP PRIVATE KEY BLOCK-----
...
-----END PGP PRIVATE KEY BLOCK-----
signingPassword=YOUR_SIGNING_PASSWORDYou can also provide the in-memory signing values through environment variables:
export ORG_GRADLE_PROJECT_signingKey="..."
export ORG_GRADLE_PROJECT_signingPassword="..."Run:
./gradlew clean mavenCentralBundleOn Windows:
.\gradlew.bat clean mavenCentralBundleThis will:
- run the normal checks
- stage the signed Maven publication into
build/repos/central-staging - create the final upload bundle in
build/distributions
Generated bundle:
build/distributions/spacepixels-<version>-central-bundle.zip
Upload the generated ZIP bundle manually in the Maven Central Portal after verifying that your namespace is ready there.
The standardized Gradle entrypoints are:
validateCentralReleaseConfigurationbundleCentralPortalmavenCentralBundle
The generated Central publication uses:
- coordinates:
eu.startales.spacepixels:spacepixels:<version> - sources JAR: enabled
- Javadoc JAR: enabled
- POM metadata: license, developer, and SCM info included