-
Notifications
You must be signed in to change notification settings - Fork 0
Module setup for the app
--
Here are instructions from Henri that are useful to know. Maybe one day I'll clean this up.
Instead if running mvn spring-boot:run in the root of the project, now you need to run it in the 'pathmind-webapp' sub-module.
Now we have the following modules
- pathmind-parent
- pathmind-shared
- pathmind-database
- pathmind-services
- pathmind-updater
- pathmind-updater
This is the parent module. Running mvn clean install here builds all sub-modules.
This module should contain all dependency versions. Dependencies in sub-modules should not contain version numbers, version numbers are defined here in the <dependencyManagement> section.
Also, dependencies defined in the <dependencies> section are applied to every sub-module.
Shared code for every module.
Contains
- Entities (data classes)
- generated JOQ classes (the plugin to generate these classes is still in the
pathmind-webappsub-module) - Liquibase migrations (the plugin to generate these classes is still in the
pathmind-webappsub-module) - DAOs
- Repositories
- Some util classes used by DAOs
- Event bus implementations which need data classes from this module.
Contains all service classes and util and DTO classes used by service classes,
UI code goes here. This is the only module which can contain Vaadin UI code.
This is the module for a standalone updater app but because we don't have a mechanism to push updates from this app to the webapp yet (and also to avoid too many changes at once) this is just another jar module on the project right now.
Configurations from application.properties have been moved to 'pathmind-shared' (shared.properties). Property values defined in shared.properties can be overridden in application.properties in the pathmind-webapp module. Also, after pathmind-updater is its own independent app, it will have its own application.properties which inherits shared.properties.