Gradle plugin for building a prim and proper Lookout service artifact
Go to file
R. Tyler Croy 293803bf7e
Support enabling/disabling default jar tasks, default is for them to be disabled
Fixes #19
2015-07-09 13:01:49 -07:00
examples Ensure we're only creating a List of String objects for serialization 2015-07-08 16:33:08 -07:00
gradle Add codenarc support for making sure the code continues to look nice 2015-04-23 11:42:47 -07:00
src Support enabling/disabling default jar tasks, default is for them to be disabled 2015-07-09 13:01:49 -07:00
.gitignore Add intellij project files 2015-04-18 21:00:03 -07:00
.travis.yml Run default tasks in Travis 2015-05-19 17:53:17 -07:00
LICENSE
README.md Update the README to reflect recent changes in the API 2015-07-08 17:32:39 -07:00
build.gradle Re-enable gradleTest across the various distributions 2015-07-08 17:24:42 -07:00
gradle.properties Upgrade to 0.3 versions of the jruby-gradle plugins 2015-06-06 15:19:48 -07:00
gradlew Add the gradle wrapper scripts 2015-03-25 08:24:07 -07:00
gradlew.bat Add the gradle wrapper scripts 2015-03-25 08:24:07 -07:00
service-artifact-gradle-plugin.iml Refactor the generation of the VERSION file to live in ServiceArtifactExtension 2015-07-08 16:32:46 -07:00
service-artifact-plugin.iml Start using the nebula-test plugin for integration testing 2015-07-08 16:33:08 -07:00
settings.gradle Clean up support for generating service.version {} 2015-04-18 21:36:16 -07:00

README.md

Service Artifact Gradle Plugin

BuildStatus Download

Gradle plugin for building a prim and proper service artifact. This plugin is meant to codify some standards and conventions around building service artifacts that can be easily built, tested and deployed

Dependencies

This plugin will include the appropriate versions of the following plugins:

  • jruby-gradle base
  • jruby-gradle jar
  • asciidoctor

Usage

Example

plugins {
    id "com.github.lookout.service-artifact" version "0.4.0"
}

/* serviceVersion is a helper method which will add SNAPSHOT when appropriate,
 * but also introduce the appropriate Gerrit or Travis meta-data into the version
 * number (e.g. 1.0.{GERRIT_CHANGE}.{GERRIT_PATCH})
 */
version = service.version('1.0')
description = 'A sample Service to be built with Gradle'
group = 'com.github.lookout'

/* The following is an example of what a Gradle file might look like
 * for a JRuby-based service artifact.
 *
 * A service artifact is a self-contained artifact containing everything
 * execute a service. An artifact will take the form of a .tar.gz file,
 * and inside would be:
 *
 *  my-fancy-service.tar.gz
 *      - bin/ # managmeent scripts, as determined by @mbbx6spp
 *          - start
 *          - stop
 *      - my-fancy-service.jar
 */

service {
    name "amazingserv"

    component("app", type: JRuby) {
        /* Include these directories into the service jar.
         *
         * By default everything in src/main/ruby will be included
         */
        include 'backend', 'lib'
        mainScript 'backend/main'
    }
}

dependencies {
    gems "rubygems:faraday:1.0"
    gems "rubygems:sinatra:1.4.6"
}

Tasks

(NOTE: many of these tasks are not yet implemented)

Build

  • assemble prepare all the service artifacts

Test

  • check

Publish

  • publish

Documentation

  • docs
  • (asciidoctor) asciidoctor