The RESTEasy MicroProfile project contains implementations and utilities for the Eclipse MicroProfile.
Building requires Maven and Java 25.
./mvnw clean install
The simplest way to use these dependencies is to import the BOM.
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.jboss.resteasy.microprofile</groupId>
<artifactId>resteasy-microprofile-bom</artifactId>
<version>${version.org.jboss.resteasy.microprofile}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>This is an implementation of the MicroProfile REST Client.
<dependency>
<groupId>org.jboss.resteasy.microprofile</groupId>
<artifactId>microprofile-rest-client</artifactId>
</dependency>This uses the MicroProfile Config to define some ConfigSource options.
The current sources for finding properties are:
-
ServletConfig -
FilterConfig -
ServletContext
<dependency>
<groupId>org.jboss.resteasy.microprofile</groupId>
<artifactId>microprofile-config</artifactId>
</dependency>This adds a context provider for RESTEasy which works with MicroProfile Context Propagation.
<dependency>
<groupId>org.jboss.resteasy.microprofile</groupId>
<artifactId>microprofile-context-propagation</artifactId>
</dependency>The MicroProfile REST Client implementation and MicroProfile Config sources are already provided in WildFly. If you’d like to upgrade or add all the modules to a provisioned WildFly server, you can use the Galleon tooling to do so.
<plugin>
<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-maven-plugin</artifactId>
<configuration>
<provisioning-dir>${jboss.home}</provisioning-dir>
<galleon-options>
<jboss-fork-embedded>true</jboss-fork-embedded>
<jboss-maven-dist/>
</galleon-options>
<feature-packs>
<feature-pack>
<groupId>org.wildfly</groupId>
<artifactId>wildfly-galleon-pack</artifactId>
<inherit-configs>false</inherit-configs>
<included-configs>
<config>
<model>standalone</model>
<name>standalone.xml</name>
</config>
</included-configs>
</feature-pack>
</feature-packs>
<channels>
<channel>
<manifest>
<groupId>org.wildfly</groupId>
<artifactId>wildfly</artifactId>
</manifest>
</channel>
<!-- Not required, but will get you the latest version of RESTEasy -->
<channel>
<manifest>
<groupId>org.jboss.resteasy.channels</groupId>
<artifactId>resteasy-6.2</artifactId>
</manifest>
</channel>
<channel>
<manifest>
<groupId>org.jboss.channels</groupId>
<artifactId>resteasy-microprofile-3.0</artifactId>
</manifest>
</channel>
</channels>
<layers>
<layer>cdi</layer>
<layer>jaxrs-server</layer>
<layer>microprofile-config</layer>
</layers>
</configuration>
<executions>
<execution>
<id>server-provisioning</id>
<goals>
<goal>provision</goal>
</goals>
</execution>
</executions>
</plugin>Releasing the project requires permission to deploy to Maven Central see Maven Central Release Requirements.
Once everything is setup, you simply need to run the ./release.sh script. There are two required parameters:
-
-ror--releasewhich is the version you want to release -
-dor--developmentwhich is the next development version.
By default the release version cannot contain SNAPSHOT and the development version, must container SNAPSHOT.
./release -r 1.0.0.Final -d 1.0.1.Final-SNAPSHOT| Argument | Requires Value | Description |
|---|---|---|
|
Yes |
The next version for the development cycle. |
|
No |
Forces to allow a SNAPSHOT suffix in release version and not require one for the development version. |
|
N/A |
Displays this help |
|
Unused |
Passes the |
|
Unused |
Passes the |
|
Yes |
The version to be released. Also used for the tag. |
|
No |
Executes the release in as a dry-run. Nothing will be updated or pushed. |
|
No |
Executes the release in, but doesn’t actually push the changes to GitHub or publish the release on Maven Central. Any next steps should you want to continue the release will need to be manual. |
|
No |
Prints verbose output. |
Any additional arguments are considered arguments for the Maven command.