diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index a9f5077c..2070974b 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -26,3 +26,7 @@ jobs: - name: Verify with Maven run: | mvn -B -f pom.xml clean install verify + + - name: Verify Examples with Maven + run: | + mvn -B -f examples/pom.xml clean install verify diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2d002124..2f6c77ef 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -51,7 +51,27 @@ jobs: cat release.properties git checkout ${{github.base_ref}} git rebase release - mvn -B release:perform -Darguments=-DperformRelease -DperformRelease -Prelease + mvn -B release:perform -Prelease -Darguments="-DperformRelease" + env: + MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} + MAVEN_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} + + - name: Create Staging Repository + run: mvn nexus-staging:deploy + env: + MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} + MAVEN_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} + + - name: Check Staging Repository + run: mvn nexus-staging:rc-list + env: + MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} + MAVEN_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} + + - name: Close & Release Staging Repository + run: | + mvn nexus-staging:rc-close + mvn nexus-staging:rc-release env: MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} MAVEN_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} diff --git a/api/pom.xml b/api/pom.xml index b8cfb953..69f8c2f5 100644 --- a/api/pom.xml +++ b/api/pom.xml @@ -112,7 +112,7 @@ io.serverlessworkflow - custom-generator + serverless-workflow-custom-generator ${project.version} diff --git a/custom-generator/pom.xml b/custom-generator/pom.xml index fb653bee..3660e286 100644 --- a/custom-generator/pom.xml +++ b/custom-generator/pom.xml @@ -1,20 +1,22 @@ - - 4.0.0 - - io.serverlessworkflow - serverlessworkflow-parent - 8.0.0-SNAPSHOT - - custom-generator - + + 4.0.0 + + io.serverlessworkflow + serverlessworkflow-parent + 8.0.0-SNAPSHOT + + serverless-workflow-custom-generator + Serverless Workflow :: Custom Generator + org.jsonschema2pojo jsonschema2pojo-core - - - - + + + + com.spotify.fmt fmt-maven-plugin @@ -34,6 +36,6 @@ - - + + \ No newline at end of file diff --git a/examples/events/pom.xml b/examples/events/pom.xml index 4ca2214a..143a7967 100644 --- a/examples/events/pom.xml +++ b/examples/events/pom.xml @@ -1,19 +1,21 @@ - - 4.0.0 - - io.serverlessworkflow - serverlessworkflow-examples - 8.0.0-SNAPSHOT - - serverlessworkflow-examples-events - - - io.serverlessworkflow - serverlessworkflow-impl-core - - - org.slf4j - slf4j-simple - - + + 4.0.0 + + io.serverlessworkflow + serverlessworkflow-examples + 8.0.0-SNAPSHOT + + Serverless Workflow :: Examples :: Events + serverlessworkflow-examples-events + + + io.serverlessworkflow + serverlessworkflow-impl-core + + + org.slf4j + slf4j-simple + + \ No newline at end of file diff --git a/examples/pom.xml b/examples/pom.xml index 941f5b1a..238ee4b1 100644 --- a/examples/pom.xml +++ b/examples/pom.xml @@ -1,33 +1,35 @@ - - 4.0.0 - - io.serverlessworkflow - serverlessworkflow-parent - 8.0.0-SNAPSHOT - - serverlessworkflow-examples - pom - - - - io.serverlessworkflow - serverlessworkflow-impl-core - ${project.version} - - - io.serverlessworkflow - serverlessworkflow-impl-http - ${project.version} - - - org.slf4j - slf4j-simple - 2.0.16 - - - - - simpleGet - events - + + 4.0.0 + + io.serverlessworkflow + serverlessworkflow-parent + 8.0.0-SNAPSHOT + + Serverless Workflow :: Examples + serverlessworkflow-examples + pom + + + + io.serverlessworkflow + serverlessworkflow-impl-core + ${project.version} + + + io.serverlessworkflow + serverlessworkflow-impl-http + ${project.version} + + + org.slf4j + slf4j-simple + ${version.org.slf4j} + + + + + simpleGet + events + \ No newline at end of file diff --git a/examples/simpleGet/pom.xml b/examples/simpleGet/pom.xml index a1418e4b..923001ae 100644 --- a/examples/simpleGet/pom.xml +++ b/examples/simpleGet/pom.xml @@ -1,23 +1,25 @@ - - 4.0.0 - - io.serverlessworkflow - serverlessworkflow-examples - 8.0.0-SNAPSHOT - - serverlessworkflow-examples-simpleGet - - - io.serverlessworkflow - serverlessworkflow-impl-core - - - io.serverlessworkflow - serverlessworkflow-impl-http - - - org.slf4j - slf4j-simple - - + + 4.0.0 + + io.serverlessworkflow + serverlessworkflow-examples + 8.0.0-SNAPSHOT + + serverlessworkflow-examples-simpleGet + Serverless Workflow :: Examples :: SimpleGet + + + io.serverlessworkflow + serverlessworkflow-impl-core + + + io.serverlessworkflow + serverlessworkflow-impl-http + + + org.slf4j + slf4j-simple + + \ No newline at end of file diff --git a/impl/core/pom.xml b/impl/core/pom.xml index 4267172e..a5fac29a 100644 --- a/impl/core/pom.xml +++ b/impl/core/pom.xml @@ -1,61 +1,63 @@ - - 4.0.0 - - io.serverlessworkflow - serverlessworkflow-impl - 8.0.0-SNAPSHOT - - serverlessworkflow-impl-core - - - io.serverlessworkflow - serverlessworkflow-api - ${project.version} - - - io.cloudevents - cloudevents-api - - - io.cloudevents - cloudevents-json-jackson - - - com.github.f4b6a3 - ulid-creator - - - com.networknt - json-schema-validator - - - net.thisptr - jackson-jq - - - org.junit.jupiter - junit-jupiter-api - test - - - org.junit.jupiter - junit-jupiter-engine - test - - - org.junit.jupiter - junit-jupiter-params - test - - - org.assertj - assertj-core - test - - - ch.qos.logback - logback-classic - test - - + + 4.0.0 + + io.serverlessworkflow + serverlessworkflow-impl + 8.0.0-SNAPSHOT + + serverlessworkflow-impl-core + Serverless Workflow :: Impl :: Core + + + io.serverlessworkflow + serverlessworkflow-api + ${project.version} + + + io.cloudevents + cloudevents-api + + + io.cloudevents + cloudevents-json-jackson + + + com.github.f4b6a3 + ulid-creator + + + com.networknt + json-schema-validator + + + net.thisptr + jackson-jq + + + org.junit.jupiter + junit-jupiter-api + test + + + org.junit.jupiter + junit-jupiter-engine + test + + + org.junit.jupiter + junit-jupiter-params + test + + + org.assertj + assertj-core + test + + + ch.qos.logback + logback-classic + test + + diff --git a/impl/http/pom.xml b/impl/http/pom.xml index 998ff945..fdf2a168 100644 --- a/impl/http/pom.xml +++ b/impl/http/pom.xml @@ -1,43 +1,45 @@ - - 4.0.0 - - io.serverlessworkflow - serverlessworkflow-impl - 8.0.0-SNAPSHOT - - serverlessworkflow-impl-http - - - org.glassfish.jersey.core - jersey-client - - - org.glassfish.jersey.media - jersey-media-json-jackson - - - io.serverlessworkflow - serverlessworkflow-impl-core - - - org.junit.jupiter - junit-jupiter-api - test - - - org.junit.jupiter - junit-jupiter-engine - test - - - org.junit.jupiter - junit-jupiter-params - test - - - org.assertj - assertj-core - test - - + + 4.0.0 + + io.serverlessworkflow + serverlessworkflow-impl + 8.0.0-SNAPSHOT + + serverlessworkflow-impl-http + Serverless Workflow :: Impl :: HTTP + + + org.glassfish.jersey.core + jersey-client + + + org.glassfish.jersey.media + jersey-media-json-jackson + + + io.serverlessworkflow + serverlessworkflow-impl-core + + + org.junit.jupiter + junit-jupiter-api + test + + + org.junit.jupiter + junit-jupiter-engine + test + + + org.junit.jupiter + junit-jupiter-params + test + + + org.assertj + assertj-core + test + + \ No newline at end of file diff --git a/impl/pom.xml b/impl/pom.xml index 307dcbc7..65fa9095 100644 --- a/impl/pom.xml +++ b/impl/pom.xml @@ -1,64 +1,66 @@ - - 4.0.0 - - io.serverlessworkflow - serverlessworkflow-parent - 8.0.0-SNAPSHOT - - serverlessworkflow-impl - pom - - 3.1.10 - 4.0.1 - 1.2.0 - 5.2.3 - - - - + + 4.0.0 + io.serverlessworkflow - serverlessworkflow-impl-core - ${project.version} - - - io.serverlessworkflow - serverlessworkflow-impl-http - ${project.version} - - - org.glassfish.jersey.core - jersey-client - ${version.org.glassfish.jersey} - - - org.glassfish.jersey.media - jersey-media-json-jackson - ${version.org.glassfish.jersey} - - - io.cloudevents - cloudevents-api - ${version.io.cloudevents} - - - io.cloudevents - cloudevents-json-jackson - ${version.io.cloudevents} - - - net.thisptr - jackson-jq - ${version.net.thisptr} - - - com.github.f4b6a3 - ulid-creator - ${version.com.github.f4b6a3} - - - - - http - core - + serverlessworkflow-parent + 8.0.0-SNAPSHOT + + serverlessworkflow-impl + Serverless Workflow :: Impl + pom + + 3.1.10 + 4.0.1 + 1.2.0 + 5.2.3 + + + + + io.serverlessworkflow + serverlessworkflow-impl-core + ${project.version} + + + io.serverlessworkflow + serverlessworkflow-impl-http + ${project.version} + + + org.glassfish.jersey.core + jersey-client + ${version.org.glassfish.jersey} + + + org.glassfish.jersey.media + jersey-media-json-jackson + ${version.org.glassfish.jersey} + + + io.cloudevents + cloudevents-api + ${version.io.cloudevents} + + + io.cloudevents + cloudevents-json-jackson + ${version.io.cloudevents} + + + net.thisptr + jackson-jq + ${version.net.thisptr} + + + com.github.f4b6a3 + ulid-creator + ${version.com.github.f4b6a3} + + + + + http + core + \ No newline at end of file diff --git a/pom.xml b/pom.xml index 904f8353..e054f843 100644 --- a/pom.xml +++ b/pom.xml @@ -1,40 +1,41 @@ - - 4.0.0 + + 4.0.0 - io.serverlessworkflow - serverlessworkflow-parent - 8.0.0-SNAPSHOT - pom + io.serverlessworkflow + serverlessworkflow-parent + 8.0.0-SNAPSHOT + pom - Serverless Workflow :: Parent - https://serverlessworkflow.io/sdk-java/ - Java SDK for Serverless Workflow Specification - 2020 - - - serverless-workflow - Serverless Workflow Specification Authors - CNCF - - - - CNCF - https://www.cncf.io// - - - - The Apache Software License, Version 2.0 - http://www.apache.org/licenses/LICENSE-2.0.txt - repo - - - - scm:git:git@github.com:serverlessworkflow/sdk-java.git - scm:git:git@github.com:serverlessworkflow/sdk-java.git - https://github.com/serverlessworkflow/sdk-java - HEAD - + Serverless Workflow :: Parent + https://serverlessworkflow.io/sdk-java/ + Java SDK for Serverless Workflow Specification + 2020 + + + serverless-workflow + Serverless Workflow Specification Authors + CNCF + + + + CNCF + https://www.cncf.io// + + + + The Apache Software License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0.txt + repo + + + + scm:git:git@github.com:serverlessworkflow/sdk-java.git + scm:git:git@github.com:serverlessworkflow/sdk-java.git + https://github.com/serverlessworkflow/sdk-java + HEAD + api @@ -42,47 +43,48 @@ impl - - 17 - ${java.version} - ${java.version} - UTF-8 - 3.9.7 + + 17 + ${java.version} + ${java.version} + UTF-8 + 3.9.7 - - 3.2.1 - 3.6.0 - 3.13.0 - 3.1.3 - 3.5.0 - 3.5.2 - 2.25 - 3.2.7 - 3.4.2 - ${java.version} - 1.2.2 - 3.11.2 - 3.1.1 - 3.3.1 - 3.5.2 + + 3.2.1 + 3.6.0 + 3.13.0 + 3.1.3 + 3.5.0 + 3.5.2 + 2.25 + 3.2.7 + 3.4.2 + ${java.version} + 1.2.2 + 3.11.2 + 3.1.1 + 3.3.1 + 3.5.2 + 1.6.13 - - 1.5.16 - 2.18.2 - 1.5.5 - 3.1.1 - 1.5.2 - 3.27.3 - 5.11.4 - 5.15.2 - 2.0.16 - 8.0.2.Final - 5.0.0 + + 1.5.16 + 2.18.2 + 1.5.5 + 3.1.1 + 1.5.2 + 3.27.3 + 5.11.4 + 5.15.2 + 2.0.16 + 8.0.2.Final + 5.0.0 - - true - + true + - - java - true - + + java + true + - - - - org.slf4j - slf4j-api - ${version.org.slf4j} - - - com.fasterxml.jackson.core - jackson-core - ${version.com.fasterxml.jackson} - - - com.fasterxml.jackson.core - jackson-databind - ${version.com.fasterxml.jackson} - - - com.networknt - json-schema-validator - ${version.com.networknt} - - - org.hibernate.validator - hibernate-validator - ${version.org.hibernate.validator} - - - org.glassfish.expressly - expressly - ${version.org.glassfish.expressly} - + + + + org.slf4j + slf4j-api + ${version.org.slf4j} + + + com.fasterxml.jackson.core + jackson-core + ${version.com.fasterxml.jackson} + + + com.fasterxml.jackson.core + jackson-databind + ${version.com.fasterxml.jackson} + + + com.networknt + json-schema-validator + ${version.com.networknt} + + + org.hibernate.validator + hibernate-validator + ${version.org.hibernate.validator} + + + org.glassfish.expressly + expressly + ${version.org.glassfish.expressly} + - - com.fasterxml.jackson.dataformat - jackson-dataformat-yaml - ${version.com.fasterxml.jackson} - - - org.jsonschema2pojo - jsonschema2pojo-core - ${version.jsonschema2pojo-maven-plugin} - - - jakarta.validation - jakarta.validation-api - ${version.jakarta.validation} - - - - - org.junit.jupiter - junit-jupiter-api - ${version.org.junit.jupiter} - test - - - org.junit.jupiter - junit-jupiter-engine - ${version.org.junit.jupiter} - test - - - org.junit.jupiter - junit-jupiter-params - ${version.org.junit.jupiter} - test - - - org.mockito - mockito-core - ${version.org.mockito} - test - - - ch.qos.logback - logback-classic - ${version.ch.qos.logback} - test - - - org.assertj - assertj-core - ${version.org.assertj} - test - - - + + com.fasterxml.jackson.dataformat + jackson-dataformat-yaml + ${version.com.fasterxml.jackson} + + + org.jsonschema2pojo + jsonschema2pojo-core + ${version.jsonschema2pojo-maven-plugin} + + + jakarta.validation + jakarta.validation-api + ${version.jakarta.validation} + - - - - - org.codehaus.mojo - buildnumber-maven-plugin - ${version.buildnumber.plugin} - - - get-scm-revision - initialize - - create - - - false - false - UNKNOWN - true - - - - - - maven-compiler-plugin - ${version.compiler.plugin} - - true - true - ${maven.compiler.source} - ${maven.compiler.target} - ${maven.compiler.source} - ${maven.compiler.target} - true - - -Xlint:unchecked - - - - + + + org.junit.jupiter + junit-jupiter-api + ${version.org.junit.jupiter} + test + + + org.junit.jupiter + junit-jupiter-engine + ${version.org.junit.jupiter} + test + + + org.junit.jupiter + junit-jupiter-params + ${version.org.junit.jupiter} + test + + + org.mockito + mockito-core + ${version.org.mockito} + test + + + ch.qos.logback + logback-classic + ${version.ch.qos.logback} + test + + + org.assertj + assertj-core + ${version.org.assertj} + test + + + + + + + + + org.codehaus.mojo + buildnumber-maven-plugin + ${version.buildnumber.plugin} + + + get-scm-revision + initialize + + create + + + false + false + UNKNOWN + true + + + + + + maven-compiler-plugin + ${version.compiler.plugin} + + true + true + ${maven.compiler.source} + ${maven.compiler.target} + ${maven.compiler.source} + ${maven.compiler.target} + true + + -Xlint:unchecked + + + + org.apache.maven.plugins maven-checkstyle-plugin - - + + - - + + @@ -293,228 +295,239 @@ - + - - - - org.apache.maven.plugins - maven-gpg-plugin - ${version.gpg.plugin} - - - maven-deploy-plugin - ${version.deploy.plugin} - - 10 - - - - org.apache.maven.plugins - maven-enforcer-plugin - ${version.enforcer.plugin} - - - enforce-versions - - enforce - - - - - ${version.maven} - - - ${version.jdk} - - - - - - - - org.apache.maven.plugins - maven-source-plugin - ${version.source.plugin} - - - attach-sources - - jar-no-fork - - - - - - true - - - true - - - true - - - - ${project.url} - ${java.version} - ${java.vendor} - ${os.name} - ${os.arch} - ${os.version} - ${project.scm.url} - ${project.scm.connection} - ${buildNumber} - - - - - - org.apache.maven.plugins - maven-release-plugin - ${version.release.plugin} - - clean install - true - @{project.version} - false - true - false - - - - org.jsonschema2pojo - jsonschema2pojo-maven-plugin - ${version.jsonschema2pojo-maven-plugin} - - - org.apache.maven.plugins - maven-surefire-plugin - ${version.surefire.plugin} - - -Xmx1024m -XX:+IgnoreUnrecognizedVMOptions -XX:MaxPermSize=256m - - - - org.apache.maven.plugins - maven-failsafe-plugin - ${version.failsafe.plugin} - - -Xmx1024m -XX:+IgnoreUnrecognizedVMOptions -XX:MaxPermSize=256m - - - - org.apache.maven.plugins - maven-checkstyle-plugin - ${version.checkstyle.plugin} - - - com.spotify.fmt - fmt-maven-plugin - ${version.fmt-maven-plugin} - - - org.apache.maven.plugins - maven-jar-plugin - ${version.jar.plugin} - - - true - - - true - - - true - - - - ${project.url} - ${java.version} - ${java.vendor} - ${os.name} - ${os.arch} - ${os.version} - ${project.scm.url} - ${project.scm.connection} - ${buildNumber} - - - - - - org.apache.maven.plugins - maven-javadoc-plugin - ${version.javadoc.plugin} - - false - - - - - + + + + org.sonatype.plugins + nexus-staging-maven-plugin + ${version.nexus.plugin} + true + + ossrh + https://oss.sonatype.org/ + true + + + + org.apache.maven.plugins + maven-gpg-plugin + ${version.gpg.plugin} + + + maven-deploy-plugin + ${version.deploy.plugin} + + 10 + + + + org.apache.maven.plugins + maven-enforcer-plugin + ${version.enforcer.plugin} + + + enforce-versions + + enforce + + + + + ${version.maven} + + + ${version.jdk} + + + + + + + + org.apache.maven.plugins + maven-source-plugin + ${version.source.plugin} + + + attach-sources + + jar-no-fork + + + + + + true + + + true + + + true + + + + ${project.url} + ${java.version} + ${java.vendor} + ${os.name} + ${os.arch} + ${os.version} + ${project.scm.url} + ${project.scm.connection} + ${buildNumber} + + + + + + org.apache.maven.plugins + maven-release-plugin + ${version.release.plugin} + + clean install + true + @{project.version} + false + true + false + + + + org.jsonschema2pojo + jsonschema2pojo-maven-plugin + ${version.jsonschema2pojo-maven-plugin} + + + org.apache.maven.plugins + maven-surefire-plugin + ${version.surefire.plugin} + + -Xmx1024m -XX:+IgnoreUnrecognizedVMOptions -XX:MaxPermSize=256m + + + + org.apache.maven.plugins + maven-failsafe-plugin + ${version.failsafe.plugin} + + -Xmx1024m -XX:+IgnoreUnrecognizedVMOptions -XX:MaxPermSize=256m + + + + org.apache.maven.plugins + maven-checkstyle-plugin + ${version.checkstyle.plugin} + + + com.spotify.fmt + fmt-maven-plugin + ${version.fmt-maven-plugin} + + + org.apache.maven.plugins + maven-jar-plugin + ${version.jar.plugin} + + + true + + + true + + + true + + + + ${project.url} + ${java.version} + ${java.vendor} + ${os.name} + ${os.arch} + ${os.version} + ${project.scm.url} + ${project.scm.connection} + ${buildNumber} + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + ${version.javadoc.plugin} + + false + + + + + - - - ossrh-snapshots - https://oss.sonatype.org/content/repositories/snapshots - - - ossrh - https://oss.sonatype.org/service/local/staging/deploy/maven2/ - - + + + ossrh-snapshots + https://oss.sonatype.org/content/repositories/snapshots + + + ossrh + https://oss.sonatype.org/service/local/staging/deploy/maven2/ + + - - - central - Central Repository - https://repo.maven.apache.org/maven2 - default - - false - - - + + + central + Central Repository + https://repo.maven.apache.org/maven2 + default + + false + + + - - - release - - - - org.apache.maven.plugins - maven-gpg-plugin - - - --pinentry-mode - loopback - - - - - sign-artifacts - verify - - sign - - - - - - org.apache.maven.plugins - maven-javadoc-plugin - - - package - - jar - - - - - - - - + + + release + + + + org.apache.maven.plugins + maven-gpg-plugin + + + --pinentry-mode + loopback + + + + + sign-artifacts + verify + + sign + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + + + package + + jar + + + + + + + +