https://github.com/bonitasoft/bonita-artifacts-model
This repository contains the Bonita Runtime models modules.
https://github.com/bonitasoft/bonita-artifacts-model
delivery-central lifecycle-independent published-full
Last synced: 10 months ago
JSON representation
This repository contains the Bonita Runtime models modules.
- Host: GitHub
- URL: https://github.com/bonitasoft/bonita-artifacts-model
- Owner: bonitasoft
- License: lgpl-2.1
- Created: 2023-06-28T12:47:09.000Z (almost 3 years ago)
- Default Branch: develop
- Last Pushed: 2025-07-01T14:36:12.000Z (11 months ago)
- Last Synced: 2025-07-01T15:41:31.856Z (11 months ago)
- Topics: delivery-central, lifecycle-independent, published-full
- Language: Java
- Homepage:
- Size: 698 KB
- Stars: 0
- Watchers: 12
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Bonita Runtime Model
[](https://github.com/bonitasoft/bonita-artifacts-model/actions/workflows/build.yml)
[](https://sonarcloud.io/dashboard?id=bonitasoft_bonita-artifacts-model)
[](https://github.com/bonitasoft/bonita-artifacts-model/releases)
[](https://central.sonatype.com/artifact/org.bonitasoft.engine/bonita-artifacts-model-dependencies/)
[](https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html)
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`
## Quick start
### Pre-requisite
* [Java 11][java] for compilation
### Build
#### Using Maven
* Build it using maven `./mvnw clean verify`
## Contribute
### Report issues
If you want to report an issue or a bug use our [official bugtracker](https://bonita.atlassian.net/projects/BBPMC).
### How to contribute
Before contributing, read the [guidelines](CONTRIBUTING.md).
### Branching strategy
This repository follows the [GitFlow branching strategy](https://gitversion.net/docs/learn/branching-strategies/gitflow/examples).
### Regenerate Assert classes
You may want to regenerate Assert classes after modifying a model element. To do so, you can use the [AssertJ](https://joel-costigliola.github.io/assertj/assertj-assertions-generator-maven-plugin.html#quickstart) plugin.
1. First, run `./mvnw clean compile` to make sure the classes are found.
2. Delete the classes you want to regenerate.
3. 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., in `application-model/pom.xml` add:
```xml
org.assertj
assertj-assertions-generator-maven-plugin
2.2.0
org.bonitasoft.engine.business.application.impl.ApplicationLinkImpl
org.bonitasoft.engine.business.application.xml.ApplicationLinkNode
org.bonitasoft.engine.business.application.xml.ApplicationNodeContainer
true
false
false
false
false
application-model/src/test/java
true
```
4. Then run the following command to regenerate the Assert classes: `./mvnw assertj:generate-assertions -f application-model/pom.xml` (adapt `-f` to your project)
5. Remove the `@javax.annotation.Generated` annotation from the generated classes and the generated `Assertions.java` file.
6. Format with `./mvnw spotless:apply`.
7. Make sure the generated classes satisfy your needs and that you did not corrupt other classes.
8. Restore the original state of the project's pom.xml file.
### Release
To release a new version, maintainers may use the Release and Publication GitHub actions.
1. [Release action](https://github.com/bonitasoft/bonita-artifacts-model/actions/workflows/release.yml) will invoke the `gitflow-maven-plugin` to perform all required merges, version updates and tag creation.
2. [Publication action](https://github.com/bonitasoft/bonita-artifacts-model/actions/workflows/publish.yml) will build and deploy a given tag to Maven Central.
3. A GitHub release should be created and associated to the tag.
## Resources
* [Documentation][documentation]
[java]: https://adoptium.net/temurin/releases/?version=11
[documentation]: https://documentation.bonitasoft.com