WASdev/ci.gradle

Name: ci.gradle

Owner: WASdev

Description: Gradle plugins for managing Liberty profile servers #devops

Created: 2014-04-14 14:21:22.0

Updated: 2017-12-21 18:27:17.0

Pushed: 2018-01-15 02:50:31.0

Homepage: null

Size: 554

Language: Groovy

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

ci.gradle Build Status Maven Central Latest Build status

The Liberty Gradle plugin supports install and operational control of Liberty runtime and servers. Use it to manage your application on Liberty for integration test and to create Liberty server packages.

Build

Clone this repository and then, with a JRE on the path, execute the following command in the root directory.

gradlew build

This will download Gradle and then build the plugin liberty-gradle-plugin-2.0.jar in to the build\libs directory. It is also possible to install the plugin in to your local Maven repository using gradlew install.

To build the plugin and run the integration tests execute the following commands in the root directory.

  1. To run the integration tests using an existing Liberty server installation.

    gradlew build -Prunit=offline -DwlpInstallDir=<liberty_install_directory>
    
  2. To run the integration tests against an automatically downloaded and installed Liberty server. The wlpLicense parameter is only needed for Liberty packaged as a JAR file.

    gradlew build -Prunit=online -DwlpLicense=<liberty_licesnse_code> -DwlpVersion=<liberty_version>
    
Usage
Configuring your dependencies
Adding the Ant plugin to the build script

This plugin needs the wlp-anttasks.jarfile as a dependency, this file can be downloaded from the snapshot repository or the Maven central repository.

The following code snippet shows an example for how to set up your build script correctly.

dscript {
dependencies {
    classpath files('gradle/wlp-anttasks.jar')
}

Adding the binary plugin to the build script

Within your Gradle build script, you need to set up the classpath to include the Liberty Gradle plugin. You also need to define the Maven Central repository to find the plugin or its dependencies.

If you are using a snapshot version of the plugin make sure to define the Sonatype Nexus Snapshots repository in addition to the Maven Central repository.

Your build script should look like this:

dscript {
repositories {
    mavenCentral()
    maven {
        name = 'Sonatype Nexus Snapshots'
        url = 'https://oss.sonatype.org/content/repositories/snapshots/'
    }
}
dependencies {
    classpath 'net.wasdev.wlp.gradle.plugins:liberty-gradle-plugin:2.1-SNAPSHOT'
}

Alternatively, you might choose to include the plugin JAR file. For example:

dscript {
dependencies {
    classpath files('gradle/liberty-gradle-plugin.jar')
    classpath files('gradle/wlp-anttasks.jar')
}

To use the Liberty Gradle Plugin, include the following code in your build script:

y plugin: 'liberty'
Plugin Configuration

See the Liberty extension properties reference for the properties used to configure the Liberty plugin. See each task for additional configuration and examples.

Tasks

The Liberty plugin provides the following tasks for your project:

| Task | Description | | ——— | ———— | | cleanDirs | Cleans the Liberty server logs, workarea, and applications folders.| | installLiberty | Installs the Liberty runtime from a repository. | | libertyCreate | Creates a Liberty server. | | installFeature | Installs an additional feature to the Liberty runtime. | | uninstallFeature | Remove a feature from the Liberty runtime. | | installApps | Copy applications generated by the Gradle project to a Liberty server's dropins or apps directory. The server can be stopped or started for this task. | | libertyStart | Starts the Liberty server in a background process. | | libertyStop | Stops the Liberty server. | | libertyRun | Runs a Liberty server in the Gradle foreground process. | | libertyPackage | Packages a Liberty server. | | libertyDump | Dumps diagnostic information from the Liberty server into an archive. | | libertyJavaDump | Dumps diagnostic information from the Liberty server JVM. | | libertyDebug | Runs the Liberty server in the console foreground after a debugger connects to the debug port (default: 7777). | | libertyStatus | Checks to see if the Liberty server is running. | | deploy | Deploys a supported file to a running Liberty server. | | undeploy | Removes an application from the Liberty server. | | compileJsp | Compiles the JSP files from the src/main/webapp directory into the build/classes directory. |

Task ordering

The Liberty Gradle plugin defines a built-in task order to allow a user to call an end task without worrying about calling the necessary tasks in between. By having the plugin manage tasks and their order of execution we can easily avoid some simple human errors. For example, in order to have a majority of the tasks function, the principal task installLiberty must be called, which our plugin would do for you.

The most appealing benefit from defining a task order is the ability to allow the user to call an end task directly. For example, if the user calls libertyStart out of the box, Gradle will recognize that it must call installLiberty -> libertyCreate -> installFeature -> installApps to get a server with features and apps properly running.

Click on a task to view what it depends on.


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.