Skip to content

Commit 586936d

Browse files
Merge branch 'main' into issue_225
2 parents db0c836 + 67a6786 commit 586936d

File tree

25 files changed

+621
-258
lines changed

25 files changed

+621
-258
lines changed

.github/project.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
release:
2+
current-version: 5.0.0
3+
next-version: 6.0.0-SNAPSHOT

.github/workflows/maven-deploy.yml

Lines changed: 0 additions & 26 deletions
This file was deleted.

.github/workflows/maven-verify.yml

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# This workflow will build a Java project with Maven
22
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
33

4-
name: Verify JAVA SDK
4+
name: sdk-java Verify
55

66
on:
77
push:
@@ -14,17 +14,15 @@ jobs:
1414
build:
1515
runs-on: ubuntu-latest
1616
steps:
17-
- uses: actions/checkout@v2
18-
- name: Set up JDK 11
19-
uses: actions/setup-java@v1
20-
with:
21-
java-version: 11
22-
- name: Cache Maven packages
23-
uses: actions/cache@v2
24-
with:
25-
path: ~/.m2
26-
key: ${{ runner.os }}-m2-${{ hashFiles('pom.xml') }}
27-
restore-keys: ${{ runner.os }}-m2
28-
- name: Verify with Maven
29-
run: |
30-
mvn -B -f pom.xml clean install verify
17+
- uses: actions/checkout@v2
18+
19+
- name: Set up JDK 11
20+
uses: actions/setup-java@v3
21+
with:
22+
distribution: temurin
23+
java-version: 11
24+
cache: 'maven'
25+
26+
- name: Verify with Maven
27+
run: |
28+
mvn -B -f pom.xml clean install verify

.github/workflows/pre-release.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: sdk-java Pre Release
2+
3+
on:
4+
pull_request:
5+
paths:
6+
- '.github/project.yml'
7+
8+
jobs:
9+
release:
10+
runs-on: ubuntu-latest
11+
name: pre release
12+
13+
steps:
14+
- uses: radcortez/project-metadata-action@master
15+
name: retrieve project metadata
16+
id: metadata
17+
with:
18+
github-token: ${{secrets.GITHUB_TOKEN}}
19+
metadata-file-path: '.github/project.yml'
20+
21+
- name: Validate version
22+
if: contains(steps.metadata.outputs.current-version, 'SNAPSHOT')
23+
run: |
24+
echo '::error::Cannot release a SNAPSHOT version.'
25+
exit 1

.github/workflows/release.yml

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
name: sdk-java Release
2+
3+
on:
4+
pull_request:
5+
types: [closed]
6+
paths:
7+
- '.github/project.yml'
8+
9+
jobs:
10+
release:
11+
runs-on: ubuntu-latest
12+
name: release
13+
if: ${{github.event.pull_request.merged == true}}
14+
15+
steps:
16+
- uses: radcortez/project-metadata-action@main
17+
name: Retrieve project metadata
18+
id: metadata
19+
with:
20+
github-token: ${{secrets.GITHUB_TOKEN}}
21+
metadata-file-path: '.github/project.yml'
22+
23+
- uses: actions/checkout@v3
24+
25+
- name: Import GPG key
26+
id: import_gpg
27+
uses: crazy-max/ghaction-import-gpg@v5
28+
with:
29+
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
30+
passphrase: ${{ secrets.GPG_PASSPHRASE }}
31+
32+
- name: Set up JDK 11
33+
uses: actions/setup-java@v3
34+
with:
35+
distribution: temurin
36+
java-version: 11
37+
cache: 'maven'
38+
server-id: ossrh
39+
server-username: MAVEN_USERNAME
40+
server-password: MAVEN_PASSWORD
41+
42+
- name: Configure Git author
43+
run: |
44+
git config --local user.email "action@github.com"
45+
git config --local user.name "GitHub Action"
46+
47+
- name: Maven release ${{steps.metadata.outputs.current-version}}
48+
run: |
49+
git checkout -b release
50+
mvn -B release:prepare -Prelease -DreleaseVersion=${{steps.metadata.outputs.current-version}} -DdevelopmentVersion=${{steps.metadata.outputs.next-version}}
51+
cat release.properties
52+
git checkout ${{github.base_ref}}
53+
git rebase release
54+
mvn -B release:perform -Darguments=-DperformRelease -DperformRelease -Prelease
55+
env:
56+
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
57+
MAVEN_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
58+
59+
- name: Push tags
60+
run: git push && git push --tags

README.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,7 @@ to parse and validate workflow definitions as well as generate the workflow diag
2020

2121
| Latest Releases | Conformance to spec version |
2222
| :---: | :---: |
23-
| [4.0.4.Final](https://github.com/serverlessworkflow/sdk-java/releases/tag/4.0.4.Final) | [v0.8](https://github.com/serverlessworkflow/specification/tree/0.8.x) |
24-
| [4.0.3.Final](https://github.com/serverlessworkflow/sdk-java/releases/tag/4.0.3.Final) | [v0.8](https://github.com/serverlessworkflow/specification/tree/0.8.x) |
23+
| [4.0.5.Final](https://github.com/serverlessworkflow/sdk-java/releases/tag/4.0.5.Final) | [v0.8](https://github.com/serverlessworkflow/specification/tree/0.8.x) |
2524
| [3.0.0.Final](https://github.com/serverlessworkflow/sdk-java/releases/tag/3.0.0.Final) | [v0.7](https://github.com/serverlessworkflow/specification/tree/0.7.x) |
2625
| [2.0.0.Final](https://github.com/serverlessworkflow/sdk-java/releases/tag/2.0.0.Final) | [v0.6](https://github.com/serverlessworkflow/specification/tree/0.6.x) |
2726
| [1.0.3.Final](https://github.com/serverlessworkflow/sdk-java/releases/tag/1.0.3.Final) | [v0.5](https://github.com/serverlessworkflow/specification/tree/0.5.x) |

api/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@
145145
</executions>
146146
</plugin>
147147
<plugin>
148-
<groupId>com.coveo</groupId>
148+
<groupId>com.spotify.fmt</groupId>
149149
<artifactId>fmt-maven-plugin</artifactId>
150150
<configuration>
151151
<sourceDirectory>src/main/java</sourceDirectory>

api/src/main/java/io/serverlessworkflow/api/workflow/Auth.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,11 @@
1717
package io.serverlessworkflow.api.workflow;
1818

1919
import io.serverlessworkflow.api.auth.AuthDefinition;
20+
import java.io.Serializable;
2021
import java.util.ArrayList;
2122
import java.util.List;
2223

23-
public class Auth {
24+
public class Auth implements Serializable {
2425
private String refValue;
2526
private List<AuthDefinition> authDefs;
2627

api/src/main/java/io/serverlessworkflow/api/workflow/Constants.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,9 @@
1616
package io.serverlessworkflow.api.workflow;
1717

1818
import com.fasterxml.jackson.databind.JsonNode;
19+
import java.io.Serializable;
1920

20-
public class Constants {
21+
public class Constants implements Serializable {
2122
private String refValue;
2223
private JsonNode constantsDef;
2324

api/src/main/java/io/serverlessworkflow/api/workflow/DataInputSchema.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,9 @@
1616
package io.serverlessworkflow.api.workflow;
1717

1818
import com.fasterxml.jackson.databind.JsonNode;
19+
import java.io.Serializable;
1920

20-
public class DataInputSchema {
21+
public class DataInputSchema implements Serializable {
2122
private String refValue;
2223
private JsonNode schemaDef;
2324
private boolean failOnValidationErrors = true;

api/src/main/java/io/serverlessworkflow/api/workflow/Errors.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,10 @@
1616
package io.serverlessworkflow.api.workflow;
1717

1818
import io.serverlessworkflow.api.error.ErrorDefinition;
19+
import java.io.Serializable;
1920
import java.util.List;
2021

21-
public class Errors {
22+
public class Errors implements Serializable {
2223
private String refValue;
2324
private List<ErrorDefinition> errorDefs;
2425

api/src/main/java/io/serverlessworkflow/api/workflow/Events.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,10 @@
1616
package io.serverlessworkflow.api.workflow;
1717

1818
import io.serverlessworkflow.api.events.EventDefinition;
19+
import java.io.Serializable;
1920
import java.util.List;
2021

21-
public class Events {
22+
public class Events implements Serializable {
2223
private String refValue;
2324
private List<EventDefinition> eventDefs;
2425

api/src/main/java/io/serverlessworkflow/api/workflow/Functions.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,10 @@
1616
package io.serverlessworkflow.api.workflow;
1717

1818
import io.serverlessworkflow.api.functions.FunctionDefinition;
19+
import java.io.Serializable;
1920
import java.util.List;
2021

21-
public class Functions {
22+
public class Functions implements Serializable {
2223
private String refValue;
2324
private List<FunctionDefinition> functionDefs;
2425

api/src/main/java/io/serverlessworkflow/api/workflow/Retries.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,10 @@
1616
package io.serverlessworkflow.api.workflow;
1717

1818
import io.serverlessworkflow.api.retry.RetryDefinition;
19+
import java.io.Serializable;
1920
import java.util.List;
2021

21-
public class Retries {
22+
public class Retries implements Serializable {
2223
private String refValue;
2324
private List<RetryDefinition> retryDefs;
2425

api/src/main/java/io/serverlessworkflow/api/workflow/Secrets.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,10 @@
1515
*/
1616
package io.serverlessworkflow.api.workflow;
1717

18+
import java.io.Serializable;
1819
import java.util.List;
1920

20-
public class Secrets {
21+
public class Secrets implements Serializable {
2122
private String refValue;
2223
private List<String> secretDefs;
2324

api/src/main/resources/schema/states/switchstate.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,6 @@
3636
}
3737
},
3838
"required": [
39-
"default"
39+
"defaultCondition"
4040
]
4141
}

api/src/main/resources/schema/workflow.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@
1111
"properties": {
1212
"id": {
1313
"type": "string",
14-
"description": "Workflow unique identifier"
14+
"description": "Workflow unique identifier",
15+
"minLength": 1
1516
},
1617
"key": {
1718
"type": "string",
@@ -160,6 +161,7 @@
160161
}
161162
},
162163
"required": [
164+
"id",
163165
"name",
164166
"version",
165167
"states"

api/src/test/java/io/serverlessworkflow/api/test/MarkupToWorkflowTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@
4141
import io.serverlessworkflow.api.workflow.*;
4242
import java.util.List;
4343
import java.util.Map;
44-
4544
import org.junit.jupiter.params.ParameterizedTest;
4645
import org.junit.jupiter.params.provider.ValueSource;
4746

@@ -263,7 +262,8 @@ public void testTransitions(String workflowLocation) {
263262
assertNotNull(cond2.getTransition().getProduceEvents());
264263
assertEquals(1, cond2.getTransition().getProduceEvents().size());
265264
assertNotNull(cond2.getTransition().getProduceEvents().get(0).getContextAttributes());
266-
Map<String, String> contextAttributes = cond2.getTransition().getProduceEvents().get(0).getContextAttributes();
265+
Map<String, String> contextAttributes =
266+
cond2.getTransition().getProduceEvents().get(0).getContextAttributes();
267267
assertEquals(2, contextAttributes.size());
268268
assertEquals("IN", contextAttributes.get("order_location"));
269269
assertEquals("online", contextAttributes.get("order_type"));

diagram/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@
130130
</executions>
131131
</plugin>
132132
<plugin>
133-
<groupId>com.coveo</groupId>
133+
<groupId>com.spotify.fmt</groupId>
134134
<artifactId>fmt-maven-plugin</artifactId>
135135
<configuration>
136136
<sourceDirectory>src/main/java</sourceDirectory>

0 commit comments

Comments
 (0)