mirror of
https://github.com/hapifhir/hapi-fhir.git
synced 2025-02-17 18:35:50 +00:00
Created Build Profiles (markdown)
parent
304041f54b
commit
3b195765b3
51
Build-Profiles.md
Normal file
51
Build-Profiles.md
Normal file
@ -0,0 +1,51 @@
|
||||
## What is a Profile?
|
||||
|
||||
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.
|
||||
|
||||
## Activating a Profile
|
||||
You can activate a profile by using `-P` followed by the profile name, after your maven command, as follows:
|
||||
```bash
|
||||
mvn clean install -P MY_PROFILE_NAME
|
||||
```
|
||||
|
||||
## Available Profiles
|
||||
|
||||
HAPI-FHIR has various profiles which change the build process. This page enumerates them and explains their purpose.
|
||||
|
||||
### FASTINSTALL
|
||||
|
||||
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
|
||||
|
||||
### CI
|
||||
|
||||
The `CI` profile is for running in a Continuous Integration Environment. It does the following:
|
||||
|
||||
* Enables the `animal-sniffer-maven-plugin` for various submodules.
|
||||
* Enables the `maven-enforcer-plugin` to run various rules
|
||||
* Heavily modifies the surefire jvm args to improve performance in a CI environment.
|
||||
|
||||
### DIST
|
||||
|
||||
The `DIST` profile is for building final release jars. It does the following:
|
||||
|
||||
* Enables the `maven-assembly-plugin` to build the HFQL JDBC Driver jar
|
||||
* Enables the `maven-javadoc-plugin` to build release documentation.
|
||||
* Enables the `maven-source-plugin` to bundle the source files into a jar.
|
||||
* Enables the `license-maven-plugin` to update license headers.
|
||||
|
||||
|
||||
### CHECKSTYLE
|
||||
|
||||
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`
|
||||
|
||||
### JACOCO
|
||||
|
||||
The `JACOCO` profile is for code coverage. It does the following:
|
||||
|
||||
* Enables the `jacoco-maven-plugin`
|
Loading…
x
Reference in New Issue
Block a user