Skip to content
This repository has been archived by the owner on Oct 14, 2020. It is now read-only.

Commit

Permalink
Merge pull request #398 from ajm01/readmeUpdate
Browse files Browse the repository at this point in the history
doc updates
  • Loading branch information
scottkurz authored Sep 20, 2019
2 parents 34c24b9 + 28455db commit 1b616d3
Show file tree
Hide file tree
Showing 2 changed files with 145 additions and 27 deletions.
11 changes: 8 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,17 @@ There are two, separate active Boost projects.

with a Boost Gradle project under development.

### Developing Boost
### Using the Boost Maven Plugin
Please see the [boost-maven plugin documentation](https://github.com/MicroShed/boost/tree/master/boost-maven#boost-maven-plugin-prototype) for details on using boost in your maven application project.

To see an example of Boost in use in a maven application project, please see our sample application project [here](https://github.com/OpenLiberty/boosted-microprofile-rest-client)

If you are interested in contributing to Boost, read the [wiki](https://github.com/dev-tools-for-enterprise-java/boost/wiki) for more information.
### Developing Boost

If you are interested in the Boost runtime adapter mechanism, it is described in greater detail in the [Boost Runtimes](https://github.com/dev-tools-for-enterprise-java/boost/wiki/Boost-Runtimes) page of the wiki.
If you are interested in contributing to Boost, read the [wiki](https://github.com/MicroShed/boost/wiki) for more information.

If you are interested in the Boost runtime adapter SPI, it is described in greater detail in the [Boost Runtimes Adapter SPI](https://github.com/MicroShed/boost/wiki/Boost-Runtime-Adapter-SPI) page of the wiki.
git
### Building Boost

You will need to build the `boost-common` project before building the `boost-maven` project. We provide some scripts below to simplify this process.
Expand Down
161 changes: 137 additions & 24 deletions boost-maven/README.md
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.

Expand All @@ -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`

0 comments on commit 1b616d3

Please sign in to comment.