diff --git a/.github/workflows/default.yml b/.github/workflows/default.yml index a4e9bd5..dfd2ee1 100644 --- a/.github/workflows/default.yml +++ b/.github/workflows/default.yml @@ -14,19 +14,13 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v2 - - - name: Cache .m2 - uses: actions/cache@v1 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-maven + uses: actions/checkout@v3 - name: Set up JDK 11 - uses: actions/setup-java@v1 + uses: actions/setup-java@v3 with: + distribution: zulu + cache: maven java-version: 11 - name: Prepare mvnw diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index 719f542..fdc7832 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -11,30 +11,25 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v2 + uses: actions/checkout@v3 - - name: Cache .m2 - uses: actions/cache@v1 + - name: Set up JDK 11 + uses: actions/setup-java@v3 with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-maven- + distribution: zulu + cache: maven + java-version: 11 + server-id: ossrh + 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: Set up JDK 11 - uses: actions/setup-java@v1 - with: - java-version: 11.0.5 - server-id: ossrh - server-username: OSS_CENTRAL_USERNAME # env variable for Maven Central - server-password: OSS_CENTRAL_PASSWORD # env variable for Maven Central - - name: Prepare mvnw run: chmod +x ./mvnw diff --git a/README.md b/README.md index d1f8d1b..7290436 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,20 @@ -[![Build Status](https://github.com/holunda-io/camunda-bpm-api/actions/workflows/default.yml/badge.svg)](https://github.com/holunda-io/camunda-bpm-api/actions/workflows/default.yml) -[![Maven Central](https://maven-badges.herokuapp.com/maven-central/io.holunda/camunda-bpm-api/badge.svg)](https://maven-badges.herokuapp.com/maven-central/io.holunda/camunda-bpm-api) +# Camunda Platform 7 Engine API -## Camunda BPM Engine API +A small extract of the API layer from the greatest process engine ever. -> A small extract of the API layer from the greatest process engine ever. +[![stable](https://img.shields.io/badge/lifecycle-STABLE-green.svg)](https://github.com/holisticon#open-source-lifecycle) +[![Build Status](https://github.com/holunda-io/camunda-bpm-api/actions/workflows/default.yml/badge.svg)](https://github.com/holunda-io/camunda-bpm-api/actions/workflows/default.yml) +[![Maven Central](https://maven-badges.herokuapp.com/maven-central/io.holunda.camunda-api/camunda-bpm-engine-api/badge.svg)](https://maven-badges.herokuapp.com/maven-central/io.holunda.camunda-api/camunda-bpm-engine-api) ## What is this? -Sometimes for building libraries it is useful to have the API only, without the implementation. This library extracts the official Java Camunda Engine API -from Camunda JAR and packages it as a small JAR. By doing so, we had to provide very few own classes, to cut the track to implementation. It is by **NO MEANS** a replacement, but just a bunch of classes which may be required on the classpath, if -you use a library referencing Camunda BPM classes (but not using them). +Sometimes for building libraries it is useful to have the API only, without the implementation. This library extracts the official Java Camunda Engine API from Camunda JAR and packages it as a small JAR. By doing so, we had to provide very few own classes, to cut the track to implementation. It is by **NO MEANS** a replacement, but just a bunch of classes which may be required on the classpath, if you use a library referencing Camunda BPM classes (but not using them). + +## Why do you need this + +Imagine you are implementing a remote-communication library like Camunda REST Client Spring Boot that implements the Camunda Plattform 7 Engine API by calling a remote process engine. Or you are building a library that wants to use different artifacts of the Camunda API, without puting them on a compile +dependency. Then - consider to use this lib... + Short facts: @@ -28,7 +33,7 @@ If you just want to start using the library, put the following dependency into y io.holunda.camunda-api camunda-bpm-engine-api - 7.15.0 + 7.17.0 ``` @@ -38,7 +43,7 @@ If you are interested in using the DMN engine API only, put the following depend io.holunda.camunda-api camunda-dmn-engine-api - 7.15.0 + 7.17.0 ``` @@ -46,26 +51,26 @@ If you are interested in using the DMN engine API only, put the following depend If you are using Gradle Kotlin DSL add to your `build.gradle.kts`: ```kotlin -implementation("io.holunda.camunda-api:camunda-bpm-engine-api:7.15.0") +implementation("io.holunda.camunda-api:camunda-bpm-engine-api:7.17.0") ``` and for DMN only: ```kotlin -implementation("io.holunda.camunda-api:camunda-dmn-engine-api:7.15.0") +implementation("io.holunda.camunda-api:camunda-dmn-engine-api:7.17.0") ``` For Gradle Groovy DSL add to your `build.gradle`: ```groovy -implementation 'io.holunda.camunda-api:camunda-bpm-engine-api:7.15.0' +implementation 'io.holunda.camunda-api:camunda-bpm-engine-api:7.17.0' ``` and for DMN only: ```groovy -implementation 'io.holunda.camunda-api:camunda-bpm-engine-api:7.15.0' +implementation 'io.holunda.camunda-api:camunda-bpm-engine-api:7.17.0' ``` Please note that the version of this library is tightly-coupled to the version of original Camunda API. @@ -76,6 +81,8 @@ Please note that the version of this library is tightly-coupled to the version o | ------------------------ |------------------------:| | 7.14 | 7.14.0 | | 7.15 | 7.15.0 | +| 7.16 | 7.16.0 | +| 7.17 | 7.17.0 | diff --git a/dmn-engine/pom.xml b/dmn-engine/pom.xml index 0840609..3ec4483 100644 --- a/dmn-engine/pom.xml +++ b/dmn-engine/pom.xml @@ -5,7 +5,7 @@ io.holunda.camunda-api camunda-api-parent - 7.17.0 + 7.18.0 4.0.0 diff --git a/pom.xml b/pom.xml index d5ffacb..623537a 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ io.holunda.camunda-api camunda-api-parent - 7.17.0 + 7.18.0 ${project.artifactId} Camunda BPM Engine API https://github.com/holunda-io/camunda-bpm-api/ @@ -18,7 +18,7 @@ ${java.version} ${java.version} - 7.17.0 + 7.18.0 @@ -127,7 +127,7 @@ org.apache.maven.plugins maven-resources-plugin - 3.2.0 + 3.3.0 ${project.build.sourceEncoding} @@ -137,7 +137,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.4.0 + 3.4.1 false false @@ -173,7 +173,7 @@ com.amashchenko.maven.plugin gitflow-maven-plugin - 1.18.0 + 1.19.0 master @@ -218,7 +218,7 @@ maven-deploy-plugin - 2.8.2 + 3.0.0 true @@ -250,14 +250,14 @@ maven-install-plugin - 2.5.2 + 3.0.1 org.apache.maven.plugins maven-enforcer-plugin - 3.0.0 + 3.1.0 enforce-maven diff --git a/process-engine/pom.xml b/process-engine/pom.xml index 56250b1..6b5f620 100644 --- a/process-engine/pom.xml +++ b/process-engine/pom.xml @@ -5,7 +5,7 @@ io.holunda.camunda-api camunda-api-parent - 7.17.0 + 7.18.0 4.0.0 @@ -102,6 +102,8 @@ org/camunda/bpm/engine/impl/bpmn/parser/Error.java, org/camunda/bpm/engine/impl/core/variable/mapping/value/ParameterValueProvider.java, + org/camunda/bpm/engine/impl/errorcode/BuiltinExceptionCode.java, + org/camunda/bpm/engine/impl/errorcode/ExceptionCodeProvider.java, org/camunda/bpm/engine/impl/identity/Account.java, org/camunda/bpm/engine/impl/identity/Authentication.java, diff --git a/process-engine/src/main/java/org/camunda/bpm/engine/impl/util/ExceptionUtil.java b/process-engine/src/main/java/org/camunda/bpm/engine/impl/util/ExceptionUtil.java new file mode 100644 index 0000000..48972dd --- /dev/null +++ b/process-engine/src/main/java/org/camunda/bpm/engine/impl/util/ExceptionUtil.java @@ -0,0 +1,23 @@ +package org.camunda.bpm.engine.impl.util; + +import org.camunda.bpm.engine.impl.__NotImplemented; + +import java.sql.SQLException; + +/** + * Referenced from {@link org.camunda.bpm.engine.impl.errorcode.ExceptionCodeProvider} + * Real implementation has dependencies to parts of persistence. + */ +public class ExceptionUtil { + public static boolean checkDeadlockException(SQLException sqlException) { + throw __NotImplemented.EXCEPTION; + } + + public static boolean checkForeignKeyConstraintViolation(SQLException sqlException, boolean b) { + throw __NotImplemented.EXCEPTION; + } + + public static boolean checkValueTooLongException(SQLException sqlException) { + throw __NotImplemented.EXCEPTION; + } +}