rlsbl v0.92.0 /rlsbl.pipelines.maven
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

python
def template_dir(self) -> str | None

#template_mappings

python
def template_mappings(self, ctx) -> list[dict[str, str]]

#publish

python
def publish(self, dir_path: str, version: str, ctx) -> None

#required_env_vars

python
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

python
def template_dir(self) -> str | None

#template_mappings

python
def template_mappings(self, ctx) -> list[dict[str, str]]

#publish

python
def publish(self, dir_path: str, version: str, ctx) -> None

#required_env_vars

python
def required_env_vars(self) -> list[str]