This plugin development now takes place here - https://github.com/getgauge/gauge-gradle-plugin
Use the gauge-gradle-plugin to execute specifications in your Gauge java project and manage dependencies using Gradle.
Apply plugin gauge and add classpath to your build.gradle. Here is a sample gradle file,
apply plugin: 'java'
apply plugin: 'gauge'
apply plugin: 'application'
group = "my-gauge-tests"
version = "1.1.0"
description = "My Gauge Tests"
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.thoughtworks.gauge.gradle:gauge-gradle-plugin:+'
}
}
repositories {
mavenCentral()
}
dependencies {
'com.thoughtworks.gauge:gauge-java:+',
}
// configure gauge task here (optional)
gauge {
specsDir = 'specs'
inParallel = true
nodes = 2
env = 'dev'
tags = 'tag1'
additionalFlags = '--verbose'
gaugeRoot = '/opt/gauge'
}
The plugin is also available at Gradle Plugin Portal. Find more details here..
To execute gauge specs,
gradle gauge
gradle gauge -PspecsDir="specs/first.spec specs/second.spec"
gradle gauge -PinParallel=true -PspecsDir=specs
gradle gauge -Ptags="!in-progress" -PspecsDir=specs
gradle gauge -Penv="dev" -PspecsDir=specs
Note : Pass specsDir parameter as the last one.
The following plugin properties can be additionally set:
Property name | Usage | Description |
---|---|---|
specsDir | -PspecsDir=specs | Gauge specs directory path. Required for executing specs |
tags | -Ptags="tag1 & tag2" | Filter specs by specified tags expression |
inParallel | -PinParallel=true | Execute specs in parallel |
nodes | -Pnodes=3 | Number of parallel execution streams. Use with parallel |
env | -Penv=qa | gauge env to run against |
additionalFlags | -PadditionalFlags="--verbose" | Add additional gauge flags to execution |
gaugeRoot | -PgaugeRoot="/opt/gauge" | Path to gauge installation root |
See gauge's command line interface for list of all flags that be used with -PadditionalFlags option.
It is possible to define new custom Gauge tasks by extending GaugePlugin
class. It can be used to create/configure tasks specific for different environments. For example,
task gaugeDev(type: GaugeTask) {
doFirst {
gauge {
specsDir = 'specs'
inParallel = true
nodes = 2
env = 'dev'
additionalFlags = '--verbose'
}
}
}
task gaugeTest(type: GaugeTask) {
doFirst {
gauge {
specsDir = 'specs'
inParallel = true
nodes = 4
env = 'test'
additionalFlags = '--verbose'
}
}
}
Gauge Gradle Plugin is released under GNU Public License Version 3.0