Java JDK 1.8 or higher
This project bundles the Maven Wrapper, so the mvnw
script is available at the project root.
The project depends on bonita-engine artifacts so if you want to build a branch in a SNAPSHOT version, you must build the bonita-engine first (install artifacts in your local repository).
If you build a tag, you don't need to build the bonita-engine as its artifacts are available on Maven Central.
I you want to contribute, ask questions about the project, report bug, see the contributing guide.
At root level (same location as the parent pom.xml) :
./mvnw clean install
For develoment purpose use the dev profile (don't compile every gwt permutations)
./mvnw clean install -Pdev
In server module, to build and launch a tomcat hosting the app :
./mvnw clean verify org.codehaus.cargo:cargo-maven2-plugin:run -DskipTests -Pdev
H2 database is created (if it does not already exist) in ${user.home}/bonita/community/database When you checkout a different branch you need to clean this directory because the database schema may have changed.
Hot reload is not supported, but when you update a class in portal/, server/ or common/ in your IDE all you need to do is to restart the tomcat with the previous command (classes will be retrieved from the projects target/classes directory)
In portal module :
Super dev mode: ./mvnw -Pdev process-classes gwt:run-codeserver
Visit the indicated URL and bookmark the Dev Mode On/Off links Then visit http://localhost:8080/bonita, login with install/install and click on the Dev Mode On link click on the portal module link to re-generate the portal Javascript
Contains the common maven configuration such as:
- the definition of all the dependencies version, e.g., junit.version, bonita.engine.version, gwt.version, ...
- the maven repositories
Contains the back-end business logic, i.e., the code executed on the server side. But also contains shared code between back end and front (e.g. model) and the implement of the REST API.
Contains integration tests utils
Module containing portal implementation Contains the source code of the client, i.e., the code cross-compiled to javascript and all the resources; Build the portal web application
Contains the server side code of portal
Module containing 6.x forms implementation
Contains customizable theme shared between form's web application & studio.
Contains the source code of the model definition.
Contains the source code of the client-server communication.
Contains the back-end business logic, i.e., the code executed on the server side.
Contains the source code of the client, i.e., the code cross-compiled to javascript and all the resources;