Source code for the Thorntail project
Branch: master
Clone or download
TomasHofman and sberyozkin THORN-2313: Gradle plugin: provide tasks to run|start|stop the applic…
…ation (#1216)

Motivation
----------
The ability to run Thorntail app directly from gradle would (1.) simplify running
functional tests in gradle projects and (2.) improve user experience.

Modifications
-------------
* Tasks "thorntail-[run|start|stop]" were added to the gradle plugin.
* Configuration properties relevant for running the app were added to
  ThorntailExtension of the gradle plugin.

Result
------
It is now possible to run the Thorntail application via "thorntail-run" gradle
task. The "thorntail-start" gradle task can be used to start the application
before integration tests are executed. User should arrange for the
"thorntail-stop" task to be run after integration tests to terminate the
application process. If the stop task is not invoked, the application process
will be terminated at the end of the build.
Latest commit 97c2ed9 Feb 14, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Fixes #1188 Jan 2, 2019
.mvn/wrapper Add maven wrapper Apr 27, 2016
arquillian [maven-release-plugin] prepare for next development iteration Jan 16, 2019
boms Set version to 2.3.1.Final-SNAPSHOT in bom-certified/pom.xml Jan 16, 2019
build-parent [THORN-2297] update to Keycloak 4.8.3.Final Jan 30, 2019
build-resources [maven-release-plugin] prepare for next development iteration Jan 16, 2019
cli [maven-release-plugin] prepare for next development iteration Jan 16, 2019
client-apis [maven-release-plugin] prepare for next development iteration Jan 16, 2019
core [maven-release-plugin] prepare for next development iteration Jan 16, 2019
docs documented filterWebInfLib option Feb 1, 2019
fractions THORN-2335: Invalid META-INF/services record in microprofile-restclie… Feb 14, 2019
meta THORN-2315: upgraded to ASM 7 for Java 11 support Jan 19, 2019
plugins THORN-2313: Gradle plugin: provide tasks to run|start|stop the applic… Feb 14, 2019
release fix 2 little bugs in fetch-contributors.js Jan 17, 2019
standalone-servers [maven-release-plugin] prepare for next development iteration Jan 16, 2019
swarmtool [maven-release-plugin] prepare for next development iteration Jan 16, 2019
testsuite THORN-2327: JSF fraction doesn't transitively bring in the JSF API Feb 6, 2019
thorntail-runner [maven-release-plugin] prepare for next development iteration Jan 16, 2019
tools THORN-2313: Gradle plugin: provide tasks to run|start|stop the applic… Feb 14, 2019
.gitignore Gradle plugin improvements (#1149) Oct 16, 2018
LICENSE.txt Compilation ok, test fails Jun 7, 2016
README.md Messed up image name Oct 10, 2018
module-rewrite.conf THORN-2311: conflicting definitions of the org.eclipse.microprofile.r… Jan 18, 2019
mvnw Add maven wrapper Apr 27, 2016
mvnw.bat Add maven wrapper Apr 27, 2016
pom.xml [maven-release-plugin] prepare for next development iteration Jan 16, 2019

README.md

Build Status License Maven Central Join the chat at freenode:thorntail

Thorntail: Rightsize your JavaEE Applications

Issues for v2/master are being tracked using the JBoss issue tracking system (JIRA). Issues for v4 are being tracked in GitHub Issues. Bug reports and feature requests are greatly appreciated.

Thorntail Core

Thorntail provides a mechanism for building applications as uber jars, with just enough of the WildFly application server wrapped around it to support each application's use-case.

Note: Thorntail requires Maven 3.2.5 or higher for building your application.

Note: Thorntail requires JDK 8 or higher for building your application or for building Thorntail itself.

Project Configuration

In a normal WAR-based maven pom.xml, simply add the following

<plugin>
  <groupId>io.thorntail</groupId>
  <artifactId>thorntail-maven-plugin</artifactId>
  <version>${version.thorntail}</version>
  <executions>
    <execution>
      <phase>package</phase>
      <goals>
        <goal>package</goal>
      </goals>
    </execution>
  </executions>
</plugin>

This will take the .war file normally created by your build, and wrap it in the wildfly-swarm mechanisms.

If you normally produce myapp-1.0.war, in your target/ directory will then also be present a myapp-1.0-thorntail.jar.

In order to specify the portions of the WildFly AS your application needs, your pom.xml should specify some of the following dependencies within the io.thorntail Maven group-id:

  • bean-validation
  • cdi
  • ee
  • io
  • jaxrs
  • logging
  • naming
  • request-controller
  • security
  • transactions
  • undertow
  • and many more!

How To Build Thorntail Itself

Thorntail attempts to be a well-behaved Maven project. To install to your local repository for usage:

mvn clean install

If you're running short on time:

mvn clean install -DskipTests

Documentation

For a more complete set of documentation, go to the Thorntail Guide.

Community

  • We hang out in #thorntail on irc.freenode.net.