User guide available on posthog.com/docs/integrate/server/java.
We're using Sonatype OSSRH to host our open source project binaries. Docs: https://central.sonatype.org/publish/publish-guide/
- First create an account to access JIRA and later the repository manager https://issues.sonatype.org/secure/Signup!default.jspa
- Create a ticket similar to https://issues.sonatype.org/browse/OSSRH-59076 & get one of the people who already have access to comment on the request with approval (you can ask in #team-platform channel).
- Log in to https://oss.sonatype.org/
- Click on your user, then "User Profile" and then get the "User Token", this is the username and password you will use in the next steps.
- Create a gpg key and distribute your public key, see docs here: https://central.sonatype.org/publish/requirements/gpg/ (we will need the passphase to be specified in the settings file below).
- Create a
~/.m2/settings.xml
file with this content (replace the capitalized terms)
<settings>
<servers>
<server>
<id>ossrh</id>
<username>YOUR_SONATYPE_USERNAME</username>
<password>YOUR_SONATYPE_PASSWORD</password>
</server>
</servers>
<profiles>
<profile>
<id>ossrh</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<gpg.executable>gpg</gpg.executable>
<gpg.keyname>GPG_KEY_ID</gpg.keyname>
<gpg.passphrase>GPG_PASSPHRASE</gpg.passphrase>
</properties>
</profile>
</profiles>
</settings>
If your password has special characters, use an environment variable instead (and omit the <gpg.passphrase>
xml):
export GPG_PASSPHRASE="..."
If maven complains your private key is not available on keyserver.ubuntu.com
gpg --list-secret-keys --keyid-format LONG
# returns something like:
# sec ed12345/123F1234FE56565 2023-09-22 [SC]
# the ID will be the part after the slash, in this case `123F1234FE56565`.
gpg --keyserver keyserver.ubuntu.com --send-keys 123F1234FE56565
- Change the version in
posthog/pom.xml
accordingly (latest versions can be found here: https://search.maven.org/search?q=com.posthog.java) - Run
mvn deploy
inposthog-java/posthog
folder.
- In https://oss.sonatype.org/#stagingRepositories you should see your just pushed files. Click "Close" and check the activity tab to make sure all validations passed (wait and refresh).
- After all validations passed the Release button will become available to publish the new version.