This repository contains the different modules that define the Bonita Runtime model. Which are:
bonita-application-model
bonita-bdm-access-control-model
bonita-business-archive
bonita-business-object-model
bonita-connector-model
bonita-form-mapping-model
bonita-organization-model
bonita-process-definition-model
bonita-profile-model
- Java 11 for compilation
- Build it using maven
./mvnw clean verify
If you want to report an issue or a bug use our official bugtracker.
Before contributing, read the guidelines.
This repository follows the GitFlow branching strategy.
You may want to regenerate Assert classes after modifying a model element. To do so, you can use the AssertJ plugin.
- First, run
./mvnw clean compile
to make sure the classes are found. - Delete the classes you want to regenerate.
- Then edit the project's pom.xml and add the plugin configuration in the
build
section with the classes/packages you want to regenerate. E.g., inapplication-model/pom.xml
add:
<plugin>
<groupId>org.assertj</groupId>
<artifactId>assertj-assertions-generator-maven-plugin</artifactId>
<version>2.2.0</version>
<configuration>
<classes>
<param>org.bonitasoft.engine.business.application.impl.ApplicationLinkImpl</param>
<param>org.bonitasoft.engine.business.application.xml.ApplicationLinkNode</param>
<param>org.bonitasoft.engine.business.application.xml.ApplicationNodeContainer</param>
</classes>
<generateAssertions>true</generateAssertions>
<generateBddAssertions>false</generateBddAssertions>
<generateSoftAssertions>false</generateSoftAssertions>
<generateJUnitSoftAssertions>false</generateJUnitSoftAssertions>
<hierarchical>false</hierarchical>
<targetDir>application-model/src/test/java</targetDir>
<generateAssertionsForAllFields>true</generateAssertionsForAllFields>
</configuration>
</plugin>
- Then run the following command to regenerate the Assert classes:
./mvnw assertj:generate-assertions -f application-model/pom.xml
(adapt-f
to your project) - Remove the
@javax.annotation.Generated
annotation from the generated classes and the generatedAssertions.java
file. - Format with
./mvnw spotless:apply
. - Make sure the generated classes satisfy your needs and that you did not corrupt other classes.
- Restore the original state of the project's pom.xml file.
To release a new version, maintainers may use the Release and Publication GitHub actions.
- Release action will invoke the
gitflow-maven-plugin
to perform all required merges, version updates and tag creation. - Publication action will build and deploy a given tag to Maven Central.
- A GitHub release should be created and associated to the tag.