Project Setup
If you are interested in developing and building the project please read the following the instructions carefully.
Version control#
To get sources of the project, please execute:
git clone https://github.com/camunda-communit-hub/camunda-platform-7-rest-client-spring-boot.git
cd camunda-platform-7-rest-client-spring-boot
We are using gitflow in our git SCM for naming b ranches. That means that you should start from master
branch,
create a feature/<name>
out of it and once it is completed create a pull request containing
it. Please squash your commits before submitting and use semantic commit messages, if possible.
Project Build#
Perform the following steps to get a development setup up and running.
./mvnw clean install
Integration Tests#
By default, the build command will ignore the run of failsafe
Maven plugin executing the integration tests
(usual JUnit tests with class names ending with ITest). In order to run integration tests, please
call from your command line:
./mvnw -Pitest failsafe:verify
Project build modes and profiles#
Camunda Version#
You can choose the used Camunda version by specifying the profile camunda-ee
or camunda-ce
. The default
version is a Community Edition. Specify -Pcamunda-ee
to switch to Camunda Enterprise edition. This will
require a valid Camunda license. You can put it into a file ~/.camunda/license.txt
and it will be detected
automatically.
Documentation#
We are using MkDocs for generation of a static site documentation and rely on markdown as much as possible.
Note
If you want to develop your docs in 'live' mode, run mkdocs serve
and access
the http://localhost:8000/ from your browser.
For creation of documentation, please run:
Generation of JavaDoc and Sources#
By default, the sources and javadoc API documentation are not generated from the source code. To enable this:
./mvnw clean install -Pcommunity-action-maven-release -Dgpg.skip=true
Starting example applications#
To start applications, either use your IDE and create run configuration for the class:
org.camunda.community.rest.example.standalone.CamundaRestClientExampleApplication
org.camunda.community.rest.example.processapplication.CamundaRestClientExampleApplicationWithEngineProvided
Alternatively, you can run them from the command line:
./mvn spring-boot:run -f examples/example
./mvn spring-boot:run -f examples/example-provided
Continuous Integration#
GitHub Actions are building all branches on commit hook (for codecov). In addition, a GitHub Actions are used to build PRs and all branches.
Release Management#
The release is produced by using the GitHub feature to "Publish a Release". To do so, please "close a milestone" and a special action will generate automatically collected issues and PRs to generate the Release notes. It will create a tag, which will be built if this release get published. Now "Publish release" and the GH action will create a new release and publish it into Camunda Artifactory and Maven Central Staging. To release it to the public, please create an issue and assign it to someone of Camunda @camunda-community-hub/devrel
What modules get deployed to repository#
Every Maven module is enabled by default. If you want to change this, please provide the property
<maven.deploy.skip>true</maven.deploy.skip>
inside the corresponding pom.xml
. Currently, all examples
are EXCLUDED from publication into Maven Central.