-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathbuild.gradle
109 lines (93 loc) · 3.37 KB
/
build.gradle
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
plugins {
id "com.github.hierynomus.license" version "0.14.0"
id "com.xebialabs.xldp" version "1.0.5"
id 'nebula.release' version '15.2.0'
id "com.xebialabs.xl.docker" version "1.1.0"
id "com.github.hierynomus.jython" version "0.11.0"
}
apply plugin: 'eclipse'
apply plugin: 'idea'
apply plugin: 'java'
apply plugin: 'maven'
if (!project.hasProperty('release.scope')) {
project.ext['release.scope'] = 'patch'
}
if (!project.hasProperty('release.useLastTag')) {
project.ext['release.useLastTag'] = true
}
repositories {
mavenCentral()
}
defaultTasks 'build'
version = "1.6.2"
sourceSets.main.resources.srcDirs += ["src/main/jython"]
sourceSets.main.resources.srcDirs += ["src/main/resources"]
sourceSets.test.resources.srcDirs += ["src/test/jython"]
sourceSets.test.resources.srcDirs += ["src/test/resources"]
project.ext {
jythonInterpreter = "jython"
}
test {
// Auto detected Unit tests only, exclude the end to end integration test
exclude '**/*IntegrationTest.class'
// show standard out and standard error of the test JVM(s) on the console
testLogging.showStandardStreams = true
}
task integrationTest(type: Test, dependsOn: ['build']) {
// do not automatically scan for tests
scanForTestClasses = false
// explicitly include the integration test
include '**/*IntegrationTest.class'
// To run tests -
// 1. Docker and Docker Compose must be installed
// 2. The XL-Release image expects to find a valid XL-Release license here: ~/xl-licenses/xl-release-license.lic
// 3. To run the test - ./gradlew clean integrationTest
// The test will set up a temporary xlr/mockserver testbed using docker. The mockserver
// will serve up the property or yaml files
// After testing is complete, the test docker containers are stopped and removed.
// show standard out and standard error of the test JVM(s) on the console
testLogging.showStandardStreams = true
}
dependencies {
//compile 'de.schlichtherle.truezip:truezip-file:7.7.10'
// Place rest-assured before JUnit dependency to make sure correct Hamcrest is used
testCompile 'io.rest-assured:rest-assured:3.2.0'
testCompile "junit:junit:4.11"
testCompile group: 'com.googlecode.json-simple', name: 'json-simple', version: '1.1.1'
testCompile 'org.assertj:assertj-core:3.6.2'
testCompile "org.testcontainers:testcontainers:1.11.3"
testCompile group: 'org.slf4j', name: 'slf4j-simple', version: '1.8.0-beta2'
testCompile group: 'org.skyscreamer', name: 'jsonassert', version: '1.5.0'
compile 'com.google.guava:guava:23.0'
jython ":ansible-tower-cli:3.3.9:tower_cli"
jython ":click:6.7"
jython ":colorama:0.3.9"
jython python(":six:1.11.0") {
useModuleName = false
copy {
from "six.py"
}
}
jython python(":pyyaml:3.12") {
useModuleName = false
copy {
from "PyYAML-3.12/lib/yaml"
into "yaml"
}
}
}
xlDocker {
compileImage = 'xebialabsunsupported/xlr_dev_compile'
compileVersion = '9.0.6'
runImage = 'xebialabsunsupported/xlr_dev_run'
runVersion = '9.0.6'
runPortMapping = '15516:5516'
}
license {
header rootProject.file('LICENSE.md')
strictCheck false
ignoreFailures true
ext.year = Calendar.getInstance().get(Calendar.YEAR)
ext.name = 'XEBIALABS'
excludes(["**/*.json", "**/*.min.js", "**/*.min.css"])
}