diff --git a/.github/release-notes.yml b/.github/release-notes.yml
index 4aba396c..aa225fdf 100644
--- a/.github/release-notes.yml
+++ b/.github/release-notes.yml
@@ -1,5 +1,7 @@
changelog:
sections:
+ - title: ":zap: Breaking Changes"
+ labels: [ "Type: breaking" ]
- title: ":rocket: Enhancements & Features"
labels: [ "Type: enhancement", "Type: documentation", "Type: example" ]
- title: ":bug: Bug Fixes"
diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml
index fea10552..815d7823 100644
--- a/.github/workflows/docs.yml
+++ b/.github/workflows/docs.yml
@@ -15,27 +15,16 @@ jobs:
uses: actions/checkout@v2
- name: Set up Python
- uses: actions/setup-python@v2
+ uses: actions/setup-python@v4
with:
python-version: 3.9
+ cache: pip
- name: Upgrade pip
run: |
# install pip=>20.1 to use "pip cache dir"
python3 -m pip install --upgrade pip
- - name: Get pip cache dir
- id: pip-cache
- run: echo "::set-output name=dir::$(pip cache dir)"
-
- - name: Cache dependencies
- uses: actions/cache@v2
- with:
- path: ${{ steps.pip-cache.outputs.dir }}
- key: ${{ runner.os }}-pip-${{ hashFiles('./docs/requirements.txt') }}
- restore-keys: |
- ${{ runner.os }}-pip-
-
- name: Install dependencies
run: python3 -m pip install -r ./docs/requirements.txt
@@ -48,7 +37,7 @@ jobs:
GH_USERNAME: ${{ github.actor }}
- name: Pre-fetch the gh-pages branch
- run: git fetch
+ run: git fetch --depth=1
- name: Build docs with MkDocs
run: mkdocs build
@@ -61,13 +50,13 @@ jobs:
# This is for a tagged version
- name: Create a new version of documentation and push to GH pages.
if: startsWith(github.ref, 'refs/tags/')
- run: mike deploy ${{ steps.get_tag_name.outputs.TAG_NAME }} stable --push --rebase -u
+ run: mike deploy ${{ steps.get_tag_name.outputs.TAG_NAME }} stable --push -u
- name: Make stable to default.
if: startsWith(github.ref, 'refs/tags/')
- run: mike set-default stable --push --rebase
+ run: mike set-default stable --push
# This is for develop
- name: Deploy latest develop snapshot docs to GH pages.
if: github.ref == 'refs/heads/develop'
- run: mike deploy snapshot --push --rebase -u
+ run: mike deploy snapshot --push -u
diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml
index 2e6eae24..2024121b 100644
--- a/.github/workflows/master.yml
+++ b/.github/workflows/master.yml
@@ -23,13 +23,6 @@ jobs:
server-username: OSS_CENTRAL_USERNAME # env variable for Maven Central
server-password: OSS_CENTRAL_PASSWORD # env variable for Maven Central
- # Get GPG private key into GPG
- - name: Import GPG Owner Trust
- run: echo ${{ secrets.GPG_OWNERTRUST }} | base64 --decode | gpg --import-ownertrust
-
- - name: Import GPG key
- run: echo ${{ secrets.GPG_SECRET_KEYS }} | base64 --decode | gpg --import --no-tty --batch --yes
-
- name: Prepare mvnw
run: chmod +x ./mvnw
@@ -39,12 +32,25 @@ jobs:
- name: Run integration tests and generate coverage reports
run: ./mvnw -Pitest verify failsafe:verify
+ # Get GPG private key into GPG
+ - name: Import GPG Owner Trust
+ run: echo ${{ secrets.GPG_OWNERTRUST }} | base64 --decode | gpg --import-ownertrust
+
+ - name: Import GPG key
+ run: echo ${{ secrets.GPG_SECRET_KEYS }} | base64 --decode | gpg --import --no-tty --batch --yes
+
- name: Deploy a new version to central
run: ./mvnw clean deploy -B -DskipTests -DskipExamples -Prelease -Dgpg.keyname="${{secrets.GPG_KEYNAME}}" -Dgpg.passphrase="${{secrets.GPG_PASSPHRASE}}"
env:
OSS_CENTRAL_USERNAME: "${{ secrets.SONATYPE_USERNAME }}"
OSS_CENTRAL_PASSWORD: "${{ secrets.SONATYPE_PASSWORD }}"
+ - name: Upload coverage to Codecov
+ if: github.event_name == 'push' && github.actor != 'dependabot[bot]'
+ uses: codecov/codecov-action@v3
+ with:
+ token: ${{secrets.CODECOV_TOKEN}}
+
- name: Upload test coverage to Codacy
if: github.event_name == 'push' && github.actor != 'dependabot[bot]'
run: bash <(curl -Ls https://coverage.codacy.com/get.sh)
diff --git a/README.md b/README.md
index 6b00fde9..582aa895 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,7 @@
## Camunda BPM Data
[![stable](https://img.shields.io/badge/lifecycle-STABLE-green.svg)](https://github.com/holisticon#open-source-lifecycle)
+[![Camunda 7.20](https://img.shields.io/badge/Camunda%20Version-7.20-orange.svg)](https://docs.camunda.org/manual/7.20/)
[![Build Status](https://github.com/holunda-io/camunda-bpm-data/workflows/default/badge.svg)](https://github.com/holunda-io/camunda-bpm-data/actions)
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/io.holunda.data/camunda-bpm-data/badge.svg)](https://maven-badges.herokuapp.com/maven-central/io.holunda.data/camunda-bpm-data)
[![CodeCov](https://codecov.io/gh/holunda-io/camunda-bpm-data/branch/master/graph/badge.svg)](https://codecov.io/gh/holunda-io/camunda-bpm-data)
@@ -41,20 +42,20 @@ If you just want to start using the library, put the following dependency into y
io.holunda.data
camunda-bpm-data
- 1.2.6
+ 1.4.0
```
If you are using Gradle Kotlin DSL add to your `build.gradle.kts`:
``` kotlin
-implementation("io.holunda.data:camunda-bpm-data:1.2.6")
+implementation("io.holunda.data:camunda-bpm-data:1.4.0")
```
For Gradle Groovy DSL add to your `build.gradle`:
``` groovy
-implementation 'io.holunda.data:camunda-bpm-data:1.2.6'
+implementation 'io.holunda.data:camunda-bpm-data:1.4.0'
```
### Variable declaration
Now your setup is completed, and you can declare your variables like this:
diff --git a/example/coverage-report-aggregator/pom.xml b/example/coverage-report-aggregator/pom.xml
index 19afaf4c..fff2d3ff 100644
--- a/example/coverage-report-aggregator/pom.xml
+++ b/example/coverage-report-aggregator/pom.xml
@@ -6,7 +6,7 @@
io.holunda.data.example
camunda-bpm-data-example-parent
- 1.4.0
+ 1.5.0
camunda-bpm-data-coverage-report
diff --git a/example/example-java/pom.xml b/example/example-java/pom.xml
index 5a81ff95..7affad5d 100644
--- a/example/example-java/pom.xml
+++ b/example/example-java/pom.xml
@@ -6,7 +6,7 @@
io.holunda.data.example
camunda-bpm-data-example-parent
- 1.4.0
+ 1.5.0
camunda-bpm-data-example-java
diff --git a/example/example-kotlin/pom.xml b/example/example-kotlin/pom.xml
index 5b4c0dbe..451b7a4e 100644
--- a/example/example-kotlin/pom.xml
+++ b/example/example-kotlin/pom.xml
@@ -6,7 +6,7 @@
io.holunda.data.example
camunda-bpm-data-example-parent
- 1.4.0
+ 1.5.0
camunda-bpm-data-example-kotlin
diff --git a/example/example-kotlin/src/main/kotlin/process/OrderApproval.kt b/example/example-kotlin/src/main/kotlin/process/OrderApproval.kt
index 3bcae1fb..a0942504 100644
--- a/example/example-kotlin/src/main/kotlin/process/OrderApproval.kt
+++ b/example/example-kotlin/src/main/kotlin/process/OrderApproval.kt
@@ -42,9 +42,9 @@ class OrderApproval {
}
object Variables {
- val ORDER_ID = stringVariable("orderId")
+ val ORDER_ID = stringVariable("orderId").nonNull
+ val ORDER_APPROVED = booleanVariable("orderApproved").nonNull
val ORDER: VariableFactory = customVariable("order")
- val ORDER_APPROVED = booleanVariable("orderApproved")
val ORDER_POSITION: VariableFactory = customVariable("orderPosition")
val ORDER_TOTAL: VariableFactory = customVariable("orderTotal")
}
diff --git a/example/example-no-engine/pom.xml b/example/example-no-engine/pom.xml
index dc006387..6f7fc14c 100644
--- a/example/example-no-engine/pom.xml
+++ b/example/example-no-engine/pom.xml
@@ -6,7 +6,7 @@
io.holunda.data.example
camunda-bpm-data-example-parent
- 1.4.0
+ 1.5.0
camunda-bpm-data-example-no-engine
@@ -20,13 +20,6 @@
io.holunda.data
camunda-bpm-data
-
-
-
- org.camunda.bpm
- camunda-engine
-
-
diff --git a/example/itest/pom.xml b/example/itest/pom.xml
index e9c561e3..9fbc2da9 100644
--- a/example/itest/pom.xml
+++ b/example/itest/pom.xml
@@ -6,7 +6,7 @@
io.holunda.data.example
camunda-bpm-data-example-parent
- 1.4.0
+ 1.5.0
camunda-bpm-data-integration-test
diff --git a/example/itest/src/test/kotlin/itest/CamundaBpmDataITestBase.kt b/example/itest/src/test/kotlin/itest/CamundaBpmDataITestBase.kt
index 1f7d6061..7f5d1696 100644
--- a/example/itest/src/test/kotlin/itest/CamundaBpmDataITestBase.kt
+++ b/example/itest/src/test/kotlin/itest/CamundaBpmDataITestBase.kt
@@ -77,13 +77,13 @@ abstract class CamundaBpmDataITestBase : SpringScenarioTest = stringVariable("String Variable")
- val DATE_VAR: VariableFactory = dateVariable("Date Variable")
- val SHORT_VAR: VariableFactory = shortVariable("Short Variable")
- val INT_VAR: VariableFactory = intVariable("Int Variable")
- val LONG_VAR: VariableFactory = longVariable("Long Variable")
- val DOUBLE_VAR: VariableFactory = doubleVariable("Double Variable")
- val BOOLEAN_VAR: VariableFactory = booleanVariable("Boolean Variable")
+ val STRING_VAR: VariableFactory = stringVariable("String Variable").nonNull
+ val DATE_VAR: VariableFactory = dateVariable("Date Variable").nonNull
+ val SHORT_VAR: VariableFactory = shortVariable("Short Variable").nonNull
+ val INT_VAR: VariableFactory = intVariable("Int Variable").nonNull
+ val LONG_VAR: VariableFactory = longVariable("Long Variable").nonNull
+ val DOUBLE_VAR: VariableFactory = doubleVariable("Double Variable").nonNull
+ val BOOLEAN_VAR: VariableFactory = booleanVariable("Boolean Variable").nonNull
val COMPLEX_VAR: VariableFactory = customVariable("Complex Variable")
val LIST_STRING_VAR: VariableFactory> = listVariable("List Of String Variable")
val SET_STRING_VAR: VariableFactory> = setVariable("Set Of String Variable")
diff --git a/example/pom.xml b/example/pom.xml
index e7ce239f..e449fa2f 100644
--- a/example/pom.xml
+++ b/example/pom.xml
@@ -6,7 +6,7 @@
io.holunda.data
camunda-bpm-data-parent
- 1.4.0
+ 1.5.0
io.holunda.data.example
diff --git a/example/spin-type-detector/pom.xml b/example/spin-type-detector/pom.xml
index d4b1df6a..67f39b9f 100644
--- a/example/spin-type-detector/pom.xml
+++ b/example/spin-type-detector/pom.xml
@@ -6,7 +6,7 @@
io.holunda.data.example
camunda-bpm-data-example-parent
- 1.4.0
+ 1.5.0
camunda-bpm-data-spin-type-detector
diff --git a/extension/c7/pom.xml b/extension/c7/pom.xml
deleted file mode 100644
index 4e13ab42..00000000
--- a/extension/c7/pom.xml
+++ /dev/null
@@ -1,123 +0,0 @@
-
-
- 4.0.0
-
-
- io.holunda.data
- camunda-bpm-data-parent
- 1.4.0
- ../../pom.xml
-
-
- camunda-bpm-data-c7
- ${project.artifactId}
- jar
-
-
- false
- false
-
-
-
-
-
-
- org.camunda.bpm
- camunda-engine
- provided
-
-
- org.camunda.spin
- camunda-spin-core
- provided
-
-
- org.camunda.spin
- camunda-spin-dataformat-json-jackson
- provided
-
-
-
- com.fasterxml.jackson.core
- jackson-annotations
-
-
- com.fasterxml.jackson.core
- jackson-databind
-
-
-
-
- org.slf4j
- slf4j-api
-
-
-
-
-
- org.camunda.bpm
- camunda-bpm-assert
- test
-
-
- org.mockito.kotlin
- mockito-kotlin
- test
-
-
- org.slf4j
- slf4j-simple
- test
-
-
- com.h2database
- h2
- test
-
-
- org.hibernate.validator
- hibernate-validator
- 8.0.1.Final
- test
-
-
- jakarta.el
- jakarta.el-api
- 4.0.0
- test
-
-
- org.glassfish
- jakarta.el
- 4.0.2
- test
-
-
-
-
- com.fasterxml.jackson.datatype
- jackson-datatype-jdk8
- test
-
-
- com.fasterxml.jackson.datatype
- jackson-datatype-jsr310
- test
-
-
- com.fasterxml.jackson.module
- jackson-module-kotlin
- test
-
-
-
-
-
-
- org.jetbrains.kotlin
- kotlin-maven-plugin
-
-
-
-
diff --git a/extension/core/pom.xml b/extension/core/pom.xml
index fa9ebfdb..f54ecf52 100644
--- a/extension/core/pom.xml
+++ b/extension/core/pom.xml
@@ -6,7 +6,7 @@
io.holunda.data
camunda-bpm-data-parent
- 1.4.0
+ 1.5.0
../../pom.xml
@@ -20,14 +20,6 @@
-
-
org.jetbrains.kotlin
@@ -103,7 +95,7 @@
jakarta.el
jakarta.el-api
- 4.0.0
+ 5.0.1
test
diff --git a/extension/core/src/main/kotlin/io/holunda/camunda/bpm/data/CamundaBpmDataKotlin.kt b/extension/core/src/main/kotlin/io/holunda/camunda/bpm/data/CamundaBpmDataKotlin.kt
index 78414341..091e6e12 100644
--- a/extension/core/src/main/kotlin/io/holunda/camunda/bpm/data/CamundaBpmDataKotlin.kt
+++ b/extension/core/src/main/kotlin/io/holunda/camunda/bpm/data/CamundaBpmDataKotlin.kt
@@ -15,7 +15,7 @@ object CamundaBpmDataKotlin {
*
* @return variable factory for string.
*/
- fun stringVariable(variableName: String): VariableFactory = BasicVariableFactory(variableName, String::class.java)
+ fun stringVariable(variableName: String): VariableFactory = BasicVariableFactory.forType(variableName)
/**
* Creates a date variable factory.
@@ -24,7 +24,7 @@ object CamundaBpmDataKotlin {
*
* @return variable factory for date.
*/
- fun dateVariable(variableName: String): VariableFactory = BasicVariableFactory(variableName, Date::class.java)
+ fun dateVariable(variableName: String): VariableFactory = BasicVariableFactory.forType(variableName)
/**
* Creates an integer variable factory.
@@ -33,7 +33,7 @@ object CamundaBpmDataKotlin {
*
* @return variable factory for integer.
*/
- fun intVariable(variableName: String): VariableFactory = BasicVariableFactory(variableName, Int::class.java)
+ fun intVariable(variableName: String): VariableFactory = BasicVariableFactory.forType(variableName)
/**
* Creates a long variable factory.
@@ -42,7 +42,7 @@ object CamundaBpmDataKotlin {
*
* @return variable factory for long.
*/
- fun longVariable(variableName: String): VariableFactory = BasicVariableFactory(variableName, Long::class.java)
+ fun longVariable(variableName: String): VariableFactory = BasicVariableFactory.forType(variableName)
/**
* Creates a short variable factory.
@@ -51,7 +51,7 @@ object CamundaBpmDataKotlin {
*
* @return variable factory for short.
*/
- fun shortVariable(variableName: String): VariableFactory = BasicVariableFactory(variableName, Short::class.java)
+ fun shortVariable(variableName: String): VariableFactory = BasicVariableFactory.forType(variableName)
/**
* Creates a double variable factory.
@@ -60,7 +60,7 @@ object CamundaBpmDataKotlin {
*
* @return variable factory for double.
*/
- fun doubleVariable(variableName: String): VariableFactory = BasicVariableFactory(variableName, Double::class.java)
+ fun doubleVariable(variableName: String): VariableFactory = BasicVariableFactory.forType(variableName)
/**
* Creates a boolean variable factory.
@@ -69,7 +69,7 @@ object CamundaBpmDataKotlin {
*
* @return variable factory for boolean.
*/
- fun booleanVariable(variableName: String): VariableFactory = BasicVariableFactory(variableName, Boolean::class.java)
+ fun booleanVariable(variableName: String): VariableFactory = BasicVariableFactory.forType(variableName)
/**
* Creates an uuid variable factory.
@@ -77,7 +77,7 @@ object CamundaBpmDataKotlin {
* @param variableName name of the variable.
* @return variable factory for uuid.
*/
- fun uuidVariable(variableName: String): VariableFactory = BasicVariableFactory(variableName, UUID::class.java)
+ fun uuidVariable(variableName: String): VariableFactory = BasicVariableFactory.forType(variableName)
/**
* Reified version of the basic variable factory.
@@ -85,7 +85,7 @@ object CamundaBpmDataKotlin {
* @param T The type of the variable.
* @return instance of [VariableFactory]
*/
- inline fun customVariable(name: String): VariableFactory = BasicVariableFactory(name, T::class.java)
+ inline fun customVariable(name: String): VariableFactory = BasicVariableFactory.forType(name)
/**
* Reified version of list variable factory.
@@ -93,7 +93,7 @@ object CamundaBpmDataKotlin {
* @param T The type of the variable.
* @return instance of [VariableFactory]
*/
- inline fun listVariable(name: String): VariableFactory> = ListVariableFactory(name, T::class.java)
+ inline fun listVariable(name: String): VariableFactory> = ListVariableFactory.forType(name)
/**
* Reified version of list variable factory.
@@ -101,7 +101,7 @@ object CamundaBpmDataKotlin {
* @param T The type of the variable.
* @return instance of [VariableFactory]
*/
- inline fun listVariableNotNull(name: String): VariableFactory> = ListVariableFactory(name, T::class.java)
+ inline fun listVariableNotNull(name: String): VariableFactory> = ListVariableFactory.forType(name)
/**
* Reified version of set variable factory.
@@ -110,7 +110,7 @@ object CamundaBpmDataKotlin {
* @param wrap a boolean flag controlling if the serializer should wrap a list into a wrapper object. Set this flag to true, if you use complex types as T.
* @return instance of [VariableFactory]
*/
- inline fun setVariable(name: String): VariableFactory> = SetVariableFactory(name, T::class.java)
+ inline fun setVariable(name: String): VariableFactory> = SetVariableFactory.forType(name)
/**
* Reified version of set variable factory.
@@ -119,7 +119,7 @@ object CamundaBpmDataKotlin {
* @param wrap a boolean flag controlling if the serializer should wrap a list into a wrapper object. Set this flag to true, if you use complex types as T.
* @return instance of [VariableFactory]
*/
- inline fun setVariableNotNull(name: String): VariableFactory> = SetVariableFactory(name, T::class.java)
+ inline fun setVariableNotNull(name: String): VariableFactory> = SetVariableFactory.forType(name)
/**
* Reified version of map variable factory.
@@ -128,7 +128,7 @@ object CamundaBpmDataKotlin {
* @param V The type of the variable value.
* @return instance of [VariableFactory]
*/
- inline fun mapVariable(name: String): VariableFactory