-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Build Profiles
A Maven profile is a way to customize the build process based on different environments, conditions, or user-defined criteria. Profiles allow you to specify alternate configurations and settings that can be activated under certain circumstances, such as different operating systems, Java versions, or user-defined properties.
You can activate a profile by using -P followed by the profile name, after your maven command, as follows:
mvn clean install -P MY_PROFILE_NAMEHAPI-FHIR has various profiles which change the build process. This page enumerates them and explains their purpose.
The FASTINSTALL profile is meant to quickly get a local build installed. It does the following:
- Disables unit tests
- Disables integration tests
- Disables code coverage
The CI profile is for running in a Continuous Integration Environment. It does the following:
- Enables the
animal-sniffer-maven-pluginfor various submodules. - Enables the
maven-enforcer-pluginto run various rules - Heavily modifies the surefire jvm args to improve performance in a CI environment.
The DIST profile is for building final release jars. It does the following:
- Enables the
maven-assembly-pluginto build the HFQL JDBC Driver jar - Enables the
maven-javadoc-pluginto build release documentation. - Enables the
maven-source-pluginto bundle the source files into a jar. - Enables the
license-maven-pluginto update license headers.
The CHECKSTYLE profile runs the configured checkstyle rules to ensure new code conforms to existing code standards. It does the following:
- Enables the
maven-checkstyle-plugin
The JACOCO profile is for code coverage. It does the following:
- Enables the
jacoco-maven-plugin