This repository contains the different modules that define the Bonita Runtime model. Which are:
bonita-application-modelbonita-bdm-access-control-modelbonita-business-archivebonita-business-object-modelbonita-connector-modelbonita-form-mapping-modelbonita-organization-modelbonita-process-definition-modelbonita-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 compileto 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
buildsection with the classes/packages you want to regenerate. E.g., inapplication-model/pom.xmladd:
<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-fto your project) - Remove the
@javax.annotation.Generatedannotation from the generated classes and the generatedAssertions.javafile. - 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-pluginto 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.