This directory contains the necessary build config for java code generation. The gradle
build takes the protos defined in ../protos
and using the grade protobug plugin will
generate a single jar.
To generate a jar from the protobuf spec run
./gradlew assemble
A jar file will be created at ./build/libs/protobuf-specs-SNAPSHOT.jar
- On creation of a tag in the style
release/java/v1.2.3
, new artifacts will be built and uploaded to a github releaserelease/java/v1.2.3
- Once a release is created, check it and remove the draft label on the github release page.
- On a machine with your pgp key,
gpg
,bash
andcosign
, go toprotobuf-specs/java/scripts
- Run
./sign_and_bundle_release.sh v1.2.3
to generate a release bundle forrelease/java/v1.2.3
- Log into https://s01.oss.sonatype.org with credentials that have permissions to upload to
dev.sigstore
- Take the release bundle,
release_java_v1.2.3/protobuf-specs-1.2.3-bundle.jar
and upload via theStaging Upload -> (Upload Mode) Artifact Bundle
- Once the bundle is validated and checked, release it via
Staging Repositories
, if any issues occur, drop it and fix the issues before restarting the release process.
- Create an account: https://central.sonatype.org/publish/publish-guide/
- Request permissions to publish to dev.sigstore on JIRA (example) and get Bob (or Appu to signoff on it.
The file gradle-wrapper.jar
is usually checked into java projects that are built with gradle.
This file is validated by the gradle/wrapper-validation-action in the java-build.yml workflow.
More info at: https://github.com/gradle/wrapper-validation-action