On this page
Maven and Gradle pipeline that publishes JVM packages to Maven Central by auto-detecting and invoking gradlew publishToMavenLocal or mvn deploy.
#rlsbl.pipelines.maven
#rlsbl.pipelines.maven
Maven and Gradle pipelines for JVM package publishing.
MavenPipeline ("maven") publishes to GitHub Packages via gradlew publish or mvn deploy. MavenCentralPipeline ("maven-central") publishes to Maven Central via the vanniktech/gradle-maven-publish-plugin (Gradle) or mvn deploy with Central Portal configuration (Maven).
#MavenPipeline
Pipeline that publishes via Gradle or Maven.
Detects whether to use gradlew publish or mvn deploy based on the presence of a gradlew script or pom.xml.
#template_dir
def template_dir(self) -> str | None#template_mappings
def template_mappings(self, ctx) -> list[dict[str, str]]#publish
def publish(self, dir_path: str, version: str, ctx) -> None#required_env_vars
def required_env_vars(self) -> list[str]#MavenCentralPipeline
Pipeline that publishes to Maven Central.
For Gradle projects (detected by gradlew), delegates to the vanniktech/gradle-maven-publish-plugin via ./gradlew publishAndReleaseToMavenCentral.
For pure Maven projects (detected by pom.xml without gradlew), falls back to mvn deploy with Central Portal configuration.
Required env vars (Central Portal user tokens + GPG signing):
- ORG_GRADLE_PROJECT_mavenCentralUsername
- ORG_GRADLE_PROJECT_mavenCentralPassword
- ORG_GRADLE_PROJECT_signingInMemoryKey
- ORG_GRADLE_PROJECT_signingInMemoryKeyPassword
Optional: ORG_GRADLE_PROJECT_signingInMemoryKeyId (for specific GPG subkey)
#template_dir
def template_dir(self) -> str | None#template_mappings
def template_mappings(self, ctx) -> list[dict[str, str]]#publish
def publish(self, dir_path: str, version: str, ctx) -> None#required_env_vars
def required_env_vars(self) -> list[str]