Tools
- Maven is used for Java compilation and constructing the .war files
- Grunt tasks are used for watching and refreshing static resources (i.e. JavaScript, CSS, and HTML) without having to restart the Sprint Boot Java server.
- NPM and Bower are used to manage frontend dependencies (i.e. JavaScript libraries, mostly). These are automatically run in the Maven process-sources phase.
Maven Modules
Find consists of four modules:
corecontains the core application components which are not specific to either Haven OnDemand or IDOL. When built, it created a jar file that is imported by theidolandhodmodulesidolcontains the IDOL-specific code. When built, it creates an executable war file for running against IDOL.hodcontains the Haven OnDemand-specific code. When built, it creates an executable war file for running against Haven OnDemand.on-prem-distis responsible for packaging the IDOL artifacts into a zip file for distribution.hsod-distbuilds a zip file containing the HOD war file and the mysql schema migrations for deployment into Haven Search OnDemand.
Maven Profiles
During development, the develop profile should be used. Running with the production profile will minify the JavaScript and CSS, and bless the CSS for older versions of Internet Explorer.