This repository has been archived by the owner on Oct 14, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 13
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #398 from ajm01/readmeUpdate
doc updates
- Loading branch information
Showing
2 changed files
with
145 additions
and
27 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,6 @@ | ||
# Boost Maven Plugin Prototype | ||
|
||
### What is Boost? | ||
### What is the Boost Maven Plugin? | ||
|
||
This is a prototype Maven plugin to package a fully configured Java EE or MicroProfile application with a target runtime. | ||
|
||
|
@@ -11,35 +11,148 @@ When added to your pom.xml, the plugin will | |
3. Install the application to the server. | ||
4. Configure the server appropriately for the application. | ||
|
||
### Build the Boost Maven Plugin | ||
### Using the Boost Maven Plugin | ||
|
||
1. `git clone [email protected]:OpenLiberty/boost.git` | ||
2. `boost-maven.sh` | ||
Boost is an end-to-end packaging and dependency management plugin for Jakarta EE and Microprofile applications. To use Boost in your project, define the plugin and add the appropriate BOM and Booster dependencies to manage various MicroProfile features. | ||
|
||
### Use the Boost Maven Plugin | ||
## Defining the plugin | ||
|
||
Edit your project pom.xml and place the following plugin stanza into your build: | ||
Add the following to the `<plugins>` section of your project's pom.xml: | ||
```xml | ||
<plugin> | ||
<groupId>org.microshed.boost</groupId> | ||
<artifactId>boost-maven-plugin</artifactId> | ||
<version>0.2.2-SNAPSHOT</version> | ||
<executions> | ||
<execution> | ||
<goals> | ||
<goal>package</goal> | ||
</goals> | ||
</execution> | ||
</executions> | ||
</plugin> | ||
``` | ||
<plugin> | ||
<groupId>org.microshed.boost</groupId> | ||
<artifactId>boost-maven-plugin</artifactId> | ||
<version>0.2.1</version> | ||
<executions> | ||
<execution> | ||
<phase>package</phase> | ||
<goals> | ||
<goal>package</goal> | ||
</goals> | ||
</execution> | ||
</executions> | ||
</plugin> | ||
``` | ||
## Execution goals | ||
|
||
Run `mvn clean package` | ||
* Package - packages your project into an executable jar file | ||
|
||
### Tutorial | ||
## Boost BOMs | ||
|
||
For more detailed instructions on using the boost plugin, see [here](https://github.com/OpenLiberty/boost/wiki/Boosted-MicroProfile-Rest-Client-sample-app). | ||
The Boost BOMs define which version of Jakarta EE or MicroProfile is required. This will influence which features are loaded as compile and runtime dependencies. | ||
|
||
### Building and Developing Boost | ||
### EE7-BOM | ||
|
||
See [here](https://github.com/OpenLiberty/boost/wiki/Home) | ||
Defining the EE7 BOM ensures that all EE features comply with the EE7 specification. | ||
|
||
```xml | ||
<dependencyManagement> | ||
<dependencies> | ||
<dependency> | ||
<groupId>org.microshed.boost.boosters</groupId> | ||
<artifactId>ee7-bom</artifactId> | ||
<version>0.2.1</version> | ||
<scope>import</scope> | ||
<type>pom</type> | ||
</dependency> | ||
</dependencies> | ||
</dependencyManagement> | ||
``` | ||
|
||
### EE8-BOM | ||
|
||
Defining the EE8 BOM ensures that all EE features comply with the EE8 specification. | ||
|
||
```xml | ||
<dependencyManagement> | ||
<dependencies> | ||
<dependency> | ||
<groupId>org.microshed.boost.boosters</groupId> | ||
<artifactId>ee8-bom</artifactId> | ||
<version>0.2.1</version> | ||
<scope>import</scope> | ||
<type>pom</type> | ||
</dependency> | ||
</dependencies> | ||
</dependencyManagement> | ||
``` | ||
|
||
### MP20-BOM | ||
|
||
Defining the MP20 BOM ensures that all MicroProfile features comply with the 2.0 specification. | ||
|
||
```xml | ||
<dependencyManagement> | ||
<dependencies> | ||
<dependency> | ||
<groupId>org.microshed.boost.boosters</groupId> | ||
<artifactId>mp20-bom</artifactId> | ||
<version>0.2.1</version> | ||
<scope>import</scope> | ||
<type>pom</type> | ||
</dependency> | ||
</dependencies> | ||
</dependencyManagement> | ||
``` | ||
### MP21-BOM | ||
|
||
Defining the MP21 BOM ensures that all MicroProfile features comply with the 2.1 specification. | ||
|
||
```xml | ||
<dependencyManagement> | ||
<dependencies> | ||
<dependency> | ||
<groupId>org.microshed.boost.boosters</groupId> | ||
<artifactId>mp21-bom</artifactId> | ||
<version>0.2.1</version> | ||
<scope>import</scope> | ||
<type>pom</type> | ||
</dependency> | ||
</dependencies> | ||
</dependencyManagement> | ||
``` | ||
### MP22-BOM | ||
|
||
Defining the MP22 BOM ensures that all MicroProfile features comply with the 2.2 specification. | ||
|
||
```xml | ||
<dependencyManagement> | ||
<dependencies> | ||
<dependency> | ||
<groupId>org.microshed.boost.boosters</groupId> | ||
<artifactId>mp22-bom</artifactId> | ||
<version>0.2.1</version> | ||
<scope>import</scope> | ||
<type>pom</type> | ||
</dependency> | ||
</dependencies> | ||
</dependencyManagement> | ||
``` | ||
### MP30-BOM | ||
|
||
Defining the MP30 BOM ensures that all MicroProfile features comply with the 3.0 specification. | ||
|
||
```xml | ||
<dependencyManagement> | ||
<dependencies> | ||
<dependency> | ||
<groupId>org.microshed.boost.boosters</groupId> | ||
<artifactId>mp30-bom</artifactId> | ||
<version>0.2.1</version> | ||
<scope>import</scope> | ||
<type>pom</type> | ||
</dependency> | ||
</dependencies> | ||
</dependencyManagement> | ||
``` | ||
|
||
## Boosters | ||
|
||
Boost provides a set of dependencies called boosters for various Jakarta EE and MicroProfile features. These Boosters will automatically pull in the appropriate compile and runtime dependencies needed for that feature. Depending on which BOM is defined, Boost will choose the appropriate versions for each feature. | ||
|
||
For a full list of supported boosters and their usage, see [here](https://github.com/MicroShed/boost/wiki/Boosters). | ||
|
||
## Build Your Boosted Application Project | ||
Once your application project pom.xml is finalized with the Boost Plugin, Boost BOMs and booster dependencies, issue the following Maven command: | ||
|
||
`mvn clean package` |