Skip to content

Java maven library publisher

Actions
Build automatically Java Maven library and publish it to GitHub Packages and Maven Central
v1.0.4
Latest
Star (4)

Build and publish automatically your Java Maven Library to GitHub Packages and Maven Central.

GitHub action to build a Java Maven library and publish it to GitHub Packages and Maven Central.

Requirements

Configurations

GitHub secrets

Create your GitHub secrets on your repository:

  • NEXUS_USERNAME with your username used on Sonatype
  • NEXUS_PASSWORD with your password used on Sonatype
  • GPG_PRIVATE_KEY with the private key of your generated pgp key
    • to get the private key gpg --armor --export-secret-key <key-id> > privkey.asc
  • GPG_PASSPHRASE with the passphrase of your gpg key

pom.xml

Inside your pom.xml file you need to set:

For more details you can look pom-example.xml

Usage

The workflow, usually declared in .github/workflows/library-publish.yml, looks like:

name: Java library publisher
on:
  release:
    types: [created]
jobs:
  publish:
    runs-on: ubuntu-latest
    steps:
      - name: Maven Library build and publish
        uses: MathieuSoysal/[email protected]
        with:
          nexus-username: ${{ secrets.NEXUS_USERNAME }}
          nexus-password: ${{ secrets.NEXUS_PASSWORD }}
          gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }}
          gpg-passphrase: ${{ secrets.GPG_PASSPHRASE }}
          github-token: ${{ secrets.GITHUB_TOKEN }}
          java-version: 17

Badge

image

Don't forget to add your own MavenCentral badges to your readme 😉:

License

The Dockerfile and associated scripts and documentation in this project are released under the Apache 2.0 License.

Java maven library publisher is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.

About

Build automatically Java Maven library and publish it to GitHub Packages and Maven Central
v1.0.4
Latest

Java maven library publisher is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.