From ec346b11f0198bc9c178853aae11d75690e9f84a Mon Sep 17 00:00:00 2001 From: Thomas Richner Date: Wed, 7 Aug 2024 17:18:20 +0200 Subject: [PATCH] ARC-1986: Release to Maven Central --- .github/workflows/release.yml | 5 +- api/pom.xml | 38 +- example/pom.xml | 230 +++++---- generator-maven-plugin/pom.xml | 11 +- generator/pom.xml | 120 +++-- model/pom.xml | 10 +- pom.xml | 863 ++++++++++++++++++--------------- spicedb-binding/pom.xml | 240 +++++---- 8 files changed, 785 insertions(+), 732 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 682880e..e53d5a6 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -41,9 +41,10 @@ jobs: working-directory: parser run: make build - name: Publish package - run: mvn --batch-mode deploy + run: mvn --batch-mode -Prelease deploy env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }} + MAVEN_GPG_KEY: ${{ secrets.MAVEN_GPG_KEY }} - name: Release uses: softprops/action-gh-release@v2 if: startsWith(github.ref, 'refs/tags/') diff --git a/api/pom.xml b/api/pom.xml index 7ea0756..2eb213e 100644 --- a/api/pom.xml +++ b/api/pom.xml @@ -1,27 +1,25 @@ - - 4.0.0 + + 4.0.0 - - com.oviva.spicegen - spicegen-parent - 1.0.0-SNAPSHOT - + + com.oviva.spicegen + spicegen-parent + 1.0.0-SNAPSHOT + + api - Spicegen API - basic models for SpiceDB client interactions - api + jar - jar + Spicegen API + basic models for SpiceDB client interactions - - - org.junit.jupiter - junit-jupiter - test - - + + + org.junit.jupiter + junit-jupiter + test + + diff --git a/example/pom.xml b/example/pom.xml index 069792f..3677383 100644 --- a/example/pom.xml +++ b/example/pom.xml @@ -1,125 +1,121 @@ - - 4.0.0 + + 4.0.0 - - com.oviva.spicegen - spicegen-parent - 1.0.0-SNAPSHOT - + + com.oviva.spicegen + spicegen-parent + 1.0.0-SNAPSHOT + + example - Permissions Generator Example - example + Permissions Generator Example - - - com.oviva.spicegen - api - - - com.oviva.spicegen - spicedb-binding - - - org.slf4j - slf4j-api - + + + com.oviva.spicegen + api + + + com.oviva.spicegen + spicedb-binding + + + org.slf4j + slf4j-api + - - org.junit.jupiter - junit-jupiter - test - - - org.slf4j - slf4j-simple - test - + + org.junit.jupiter + junit-jupiter + test + + + org.slf4j + slf4j-simple + test + - - com.authzed.api - authzed - test - - - org.testcontainers - testcontainers - test - - - org.testcontainers - junit-jupiter - test - - + + com.authzed.api + authzed + test + + + org.testcontainers + testcontainers + test + + + org.testcontainers + junit-jupiter + test + + - - - - maven-enforcer-plugin - - - org.codehaus.mojo - versions-maven-plugin - - - com.diffplug.spotless - spotless-maven-plugin - - - org.apache.maven.plugins - maven-source-plugin - - - org.apache.maven.plugins - maven-javadoc-plugin - - - org.apache.maven.plugins - maven-compiler-plugin - - - org.apache.maven.plugins - maven-surefire-plugin - - integration - - ${argLine} - - - - - integration-tests - integration-test - - test - - - !integration - integration - - - - - - com.oviva.spicegen - spicegen-maven-plugin - ${project.version} - - - - ${project.basedir}/src/test/resources/files.zed - ${project.groupId}.permissions - ${project.basedir}/target/generated-sources/src/main/java - - - spicegen - - - - - - + + + + maven-enforcer-plugin + + + org.codehaus.mojo + versions-maven-plugin + + + com.diffplug.spotless + spotless-maven-plugin + + + org.apache.maven.plugins + maven-source-plugin + + + org.apache.maven.plugins + maven-javadoc-plugin + + + org.apache.maven.plugins + maven-compiler-plugin + + + org.apache.maven.plugins + maven-surefire-plugin + + integration + ${argLine} + + + + integration-tests + + test + + integration-test + + !integration + integration + + + + + + com.oviva.spicegen + spicegen-maven-plugin + ${project.version} + + + + spicegen + + + ${project.basedir}/src/test/resources/files.zed + ${project.groupId}.permissions + ${project.basedir}/target/generated-sources/src/main/java + + + + + + - diff --git a/generator-maven-plugin/pom.xml b/generator-maven-plugin/pom.xml index f1951ce..5c4920b 100644 --- a/generator-maven-plugin/pom.xml +++ b/generator-maven-plugin/pom.xml @@ -1,8 +1,5 @@ - - + + 4.0.0 @@ -20,13 +17,13 @@ org.apache.maven maven-plugin-api - 3.9.6 + 3.9.8 provided org.apache.maven.plugin-tools maven-plugin-annotations - 3.12.0 + 3.13.1 provided diff --git a/generator/pom.xml b/generator/pom.xml index 4864996..2385afb 100644 --- a/generator/pom.xml +++ b/generator/pom.xml @@ -1,68 +1,66 @@ - - 4.0.0 - - com.oviva.spicegen - spicegen-parent - 1.0.0-SNAPSHOT - + + 4.0.0 + + com.oviva.spicegen + spicegen-parent + 1.0.0-SNAPSHOT + - generator - - - - - com.squareup - javapoet - 1.13.0 - - - + generator + - - org.slf4j - slf4j-api - - - - com.oviva.spicegen - api - - - com.oviva.spicegen - model - - - com.squareup - javapoet - - - com.fasterxml.jackson.core - jackson-annotations - - - slf4j-simple - org.slf4j - test - - - org.junit.jupiter - junit-jupiter - test - - - org.mockito - mockito-core - test - - - org.mockito - mockito-junit-jupiter - test - + + com.squareup + javapoet + 1.13.0 + + + + + + org.slf4j + slf4j-api + + + + com.oviva.spicegen + api + + + com.oviva.spicegen + model + + + com.squareup + javapoet + + + com.fasterxml.jackson.core + jackson-annotations + + + org.slf4j + slf4j-simple + test + + + org.junit.jupiter + junit-jupiter + test + + + org.mockito + mockito-core + test + + + org.mockito + mockito-junit-jupiter + test + + diff --git a/model/pom.xml b/model/pom.xml index 43e7a1a..f0f61fe 100644 --- a/model/pom.xml +++ b/model/pom.xml @@ -1,7 +1,5 @@ - + 4.0.0 @@ -9,13 +7,13 @@ spicegen-parent 1.0.0-SNAPSHOT - - Spicegen Models - code generation for SpiceDB clients model jar + Spicegen Models + code generation for SpiceDB clients + diff --git a/pom.xml b/pom.xml index c752779..050ed58 100644 --- a/pom.xml +++ b/pom.xml @@ -1,423 +1,492 @@ - - 4.0.0 + + 4.0.0 - com.oviva.spicegen + com.oviva.spicegen + spicegen-parent + 1.0.0-SNAPSHOT - spicegen - code generation for typesafe SpiceDB clients - spicegen-parent - 1.0.0-SNAPSHOT + pom - pom + spicegen + code generation for typesafe SpiceDB clients + https://github.com/oviva-ag/spicegen + + + Apache-2.0 + https://www.apache.org/licenses/LICENSE-2.0.txt + repo + A business-friendly OSS license + + + + + trichner + Thomas Richner + https://github.com/thomasrichner-oviva + + - - - Apache-2.0 - https://www.apache.org/licenses/LICENSE-2.0.txt - repo - A business-friendly OSS license - - + + + Anna Durrer + + + Thomas Richner + + - - - Anna Durrer - - - Thomas Richner - - + + api + example + generator-maven-plugin + generator + model + spicedb-binding + - - api - example - generator-maven-plugin - generator - model - spicedb-binding - + + scm:git:https://github.com/oviva-ag/spicegen.git + https://github.com/oviva-ag/spicegen + - - 17 - ${maven.compiler.release} - ${maven.compiler.release} + + + github + GitHub Oviva Apache Maven Packages + https://maven.pkg.github.com/oviva-ag/spicegen + + - UTF-8 - UTF-8 + + 17 + ${maven.compiler.release} + ${maven.compiler.release} - 3.3.2 - 3.13.0 - 2.10 - 3.1.1 - 3.4.1 - 3.2.5 - 3.1.1 - 3.6.1 - 3.4.0 - 3.6.3 - 3.12.0 - 3.3.1 - 3.12.1 - 3.3.1 - 3.2.5 - 2.16.2 + UTF-8 + UTF-8 - 1.63.0 - - 1.7.36 + 3.3.2 + 3.13.0 + 2.10 + 3.1.1 + 3.4.1 + 3.2.5 + 3.1.1 + 3.6.1 + 3.4.0 + 3.6.3 + 3.12.0 + 3.3.1 + 3.12.1 + 3.3.1 + 3.2.5 + 2.17.1 - 2.17.0 - 5.10.2 - ${mockito.version} - 5.11.0 - 1.19.7 - 0.8.0 + 1.65.1 - 2.43.0 - 0.8.12 + + 1.7.36 - oviva-ag - https://sonarcloud.io - spicegen - oviva-ag_spicegen - ${project.groupId}_${project.artifactId} - - ${project.build.directory}/site/jacoco-ut/jacoco.xml,${project.build.directory}/site/jacoco-it/jacoco.xml - - + 2.17.2 + 5.10.3 + ${mockito.version} + 5.12.0 + 1.20.1 + 0.9.0 - - - github - GitHub Oviva Apache Maven Packages - https://maven.pkg.github.com/oviva-ag/spicegen - - + 2.43.0 + 0.8.12 - - + oviva-ag + https://sonarcloud.io + spicegen + oviva-ag_spicegen + ${project.groupId}_${project.artifactId} + ${project.build.directory}/site/jacoco-ut/jacoco.xml,${project.build.directory}/site/jacoco-it/jacoco.xml + - - com.fasterxml.jackson - jackson-bom - ${jackson.version} - import - pom - - - io.grpc - grpc-bom - ${grpc.version} - pom - import - - - org.slf4j - slf4j-api - ${org.slf4j.version} - - - org.slf4j - slf4j-simple - ${org.slf4j.version} - + + + + com.fasterxml.jackson + jackson-bom + ${jackson.version} + pom + import + + + io.grpc + grpc-bom + ${grpc.version} + pom + import + + + org.slf4j + slf4j-api + ${org.slf4j.version} + + + org.slf4j + slf4j-simple + ${org.slf4j.version} + - - com.oviva.spicegen - generator - ${project.version} - - - com.oviva.spicegen - api - ${project.version} - - - com.oviva.spicegen - model - ${project.version} - - - com.oviva.spicegen - spicedb-binding - ${project.version} - + + com.oviva.spicegen + generator + ${project.version} + + + com.oviva.spicegen + api + ${project.version} + + + com.oviva.spicegen + model + ${project.version} + + + com.oviva.spicegen + spicedb-binding + ${project.version} + - - com.authzed.api - authzed - ${authzed.version} - + + com.authzed.api + authzed + ${authzed.version} + - - org.junit.jupiter - junit-jupiter - ${jupiter.version} - test - - - org.mockito - mockito-core - ${mockito.version} - test - - - org.mockito - mockito-junit-jupiter - ${mockito.jupiter.version} - test - - - org.testcontainers - testcontainers-bom - ${testcontainers.version} - pom - import - - - + + org.junit.jupiter + junit-jupiter + ${jupiter.version} + test + + + org.mockito + mockito-core + ${mockito.version} + test + + + org.mockito + mockito-junit-jupiter + ${mockito.jupiter.version} + test + + + org.testcontainers + testcontainers-bom + ${testcontainers.version} + pom + import + + + - - - - - maven-surefire-plugin - ${maven.surefire.plugin.version} - - - maven-failsafe-plugin - ${maven.failsafe.plugin.version} - - - maven-clean-plugin - ${maven.clean.plugin.version} - - - maven-install-plugin - ${maven.install.plugin.version} - - - maven-compiler-plugin - ${maven.compiler.plugin.version} - - ${maven.compiler.source} - ${maven.compiler.target} - ${maven.compiler.target} - - - - maven-deploy-plugin - ${maven.deploy.plugin.version} - - - maven-site-plugin - ${maven.site.plugin.version} - - - maven-jar-plugin - ${maven.jar.plugin.version} - - - maven-enforcer-plugin - ${maven.enforcer.plugin.version} - - - enforce-maven - - enforce - - - - - [3.8.6,) - - - - - - - - - org.codehaus.mojo - versions-maven-plugin - ${maven.versions.plugin.version} - - false - - - - org.apache.maven.plugins - maven-javadoc-plugin - ${maven.javadoc.plugin.version} - - none - 17 - - - - attach-javadocs - - jar - - - - - - org.apache.maven.plugins - maven-source-plugin - ${maven.source.plugin.version} - - - attach-sources - - jar-no-fork - - - - - - org.codehaus.mojo - flatten-maven-plugin - 1.6.0 - - - com.diffplug.spotless - spotless-maven-plugin - ${spotless.maven.plugin.version} - - - - - - - - - - - spotless-apply - process-sources - - apply - - - - - - maven-resources-plugin - ${maven.resources.plugin.version} - - - maven-plugin-plugin - ${maven.plugin.plugin.version} - - - maven-invoker-plugin - ${maven.invoker.plugin.version} - - - org.jacoco - jacoco-maven-plugin - ${jacoco.version} - - - + + + + + maven-surefire-plugin + ${maven.surefire.plugin.version} + + + maven-failsafe-plugin + ${maven.failsafe.plugin.version} + + + maven-clean-plugin + ${maven.clean.plugin.version} + + + maven-install-plugin + ${maven.install.plugin.version} + + + maven-compiler-plugin + ${maven.compiler.plugin.version} + + ${maven.compiler.source} + ${maven.compiler.target} + ${maven.compiler.target} + + + + maven-deploy-plugin + ${maven.deploy.plugin.version} + + + maven-site-plugin + ${maven.site.plugin.version} + + + maven-jar-plugin + ${maven.jar.plugin.version} + + + maven-enforcer-plugin + ${maven.enforcer.plugin.version} + + + enforce-maven + + enforce + + + + + [3.8.6,) + + + + + + + + org.codehaus.mojo + versions-maven-plugin + ${maven.versions.plugin.version} + + false + .*-M.*,.*-alpha.*,.*-beta.*,.*-RC.*,.*-redhat.* + + + + + org.slf4j + + range + [2,) + + + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + ${maven.javadoc.plugin.version} + + none + 17 + + + + attach-javadocs + + jar + + + + + + org.apache.maven.plugins + maven-source-plugin + ${maven.source.plugin.version} + + + attach-sources + + jar-no-fork + + + + + + org.codehaus.mojo + flatten-maven-plugin + 1.6.0 + + + com.diffplug.spotless + spotless-maven-plugin + ${spotless.maven.plugin.version} + + + + + + + + + + + + + + spotless-apply + + apply + + process-sources + + + + + maven-resources-plugin + ${maven.resources.plugin.version} + + + maven-plugin-plugin + ${maven.plugin.plugin.version} + + + maven-invoker-plugin + ${maven.invoker.plugin.version} + + + org.jacoco + jacoco-maven-plugin + ${jacoco.version} + + + - - - maven-enforcer-plugin - - - org.codehaus.mojo - versions-maven-plugin - - - com.diffplug.spotless - spotless-maven-plugin - - - org.apache.maven.plugins - maven-source-plugin - - - org.apache.maven.plugins - maven-javadoc-plugin - + + + maven-enforcer-plugin + + + org.codehaus.mojo + versions-maven-plugin + + + com.diffplug.spotless + spotless-maven-plugin + + + org.apache.maven.plugins + maven-source-plugin + + + org.apache.maven.plugins + maven-javadoc-plugin + + + + org.codehaus.mojo + flatten-maven-plugin + + + + + + + + + + + + flatten + + flatten + + process-resources + + + flatten.clean + + clean + + clean + + + + + + org.jacoco + jacoco-maven-plugin + + + prepare-agent-ut + + prepare-agent + + + ${project.build.directory}/jacoco-ut.exec + + + + prepare-agent-it + + prepare-agent + + pre-integration-test + + ${project.build.directory}/jacoco-it.exec + + + + report-ut + + report + + + ${project.build.directory}/jacoco-ut.exec + ${project.reporting.outputDirectory}/jacoco-ut + + + + report-it + + report + + post-integration-test + + ${project.build.directory}/jacoco-it.exec + ${project.reporting.outputDirectory}/jacoco-it + + + + + + - - org.codehaus.mojo - flatten-maven-plugin - - - - - flatten - process-resources - - flatten - - - - flatten.clean - clean - - clean - - - - - - - org.jacoco - jacoco-maven-plugin - - - prepare-agent-ut - - prepare-agent - - - ${project.build.directory}/jacoco-ut.exec - - - - prepare-agent-it - pre-integration-test - - prepare-agent - - - ${project.build.directory}/jacoco-it.exec - - - - report-ut - - report - - - ${project.build.directory}/jacoco-ut.exec - ${project.reporting.outputDirectory}/jacoco-ut - - - - - report-it - post-integration-test - - report - - - ${project.build.directory}/jacoco-it.exec - ${project.reporting.outputDirectory}/jacoco-it - - - - - + + + release + + + github + GitHub Oviva Apache Maven Packages + https://maven.pkg.github.com/oviva-ag/spicegen + + + + + + org.sonatype.central + central-publishing-maven-plugin + 0.5.0 + true + + central + all + + + + org.apache.maven.plugins + maven-gpg-plugin + 3.2.4 + + + sign-artifacts + + sign + + verify + + + - + + + diff --git a/spicedb-binding/pom.xml b/spicedb-binding/pom.xml index 2d04dcf..ebfe5ae 100644 --- a/spicedb-binding/pom.xml +++ b/spicedb-binding/pom.xml @@ -1,130 +1,126 @@ - - 4.0.0 + + 4.0.0 - - com.oviva.spicegen - spicegen-parent - 1.0.0-SNAPSHOT - + + com.oviva.spicegen + spicegen-parent + 1.0.0-SNAPSHOT + + spicedb-binding - Permissions SpiceDB Implementation - spicedb-binding + Permissions SpiceDB Implementation - - - com.oviva.spicegen - api - - - org.slf4j - slf4j-api - - - com.authzed.api - authzed - - - io.grpc - grpc-protobuf - - - io.grpc - grpc-stub - - - io.grpc - grpc-netty-shaded - + + + com.oviva.spicegen + api + + + org.slf4j + slf4j-api + + + com.authzed.api + authzed + + + io.grpc + grpc-protobuf + + + io.grpc + grpc-stub + + + io.grpc + grpc-netty-shaded + - - org.junit.jupiter - junit-jupiter - test - - - org.mockito - mockito-core - test - - - org.mockito - mockito-junit-jupiter - test - - - org.slf4j - slf4j-simple - test - + + org.junit.jupiter + junit-jupiter + test + + + org.mockito + mockito-core + test + + + org.mockito + mockito-junit-jupiter + test + + + org.slf4j + slf4j-simple + test + - - org.testcontainers - testcontainers - test - - - org.testcontainers - postgresql - test - - - org.testcontainers - junit-jupiter - test - - + + org.testcontainers + testcontainers + test + + + org.testcontainers + postgresql + test + + + org.testcontainers + junit-jupiter + test + + - - - - maven-enforcer-plugin - - - org.codehaus.mojo - versions-maven-plugin - - - com.diffplug.spotless - spotless-maven-plugin - - - org.apache.maven.plugins - maven-source-plugin - - - org.apache.maven.plugins - maven-javadoc-plugin - - - org.apache.maven.plugins - maven-compiler-plugin - - - org.apache.maven.plugins - maven-surefire-plugin - - integration - - ${argLine} - - - - - integration-tests - integration-test - - test - - - !integration - integration - - - - - - + + + + maven-enforcer-plugin + + + org.codehaus.mojo + versions-maven-plugin + + + com.diffplug.spotless + spotless-maven-plugin + + + org.apache.maven.plugins + maven-source-plugin + + + org.apache.maven.plugins + maven-javadoc-plugin + + + org.apache.maven.plugins + maven-compiler-plugin + + + org.apache.maven.plugins + maven-surefire-plugin + + integration + ${argLine} + + + + integration-tests + + test + + integration-test + + !integration + integration + + + + + + -