-
Notifications
You must be signed in to change notification settings - Fork 4
/
build.gradle
87 lines (73 loc) · 2.62 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
import groovy.json.JsonOutput
plugins {
id "com.mkobit.jenkins.pipelines.shared-library"
id "jacoco"
id "java"
id "groovy"
id("org.jenkins-ci.jpi") apply false
}
// In this section you declare where to find the dependencies of your project
repositories {
// Use 'jcenter' for resolving your dependencies.
// You can declare any Maven/Ivy/file repository here.
maven { url 'http://bits.netbeans.org/maven2' }
maven { url 'https://repo.jenkins-ci.org/releases/' }
jcenter()
maven { url 'https://mvnrepository.com/artifact/' }
}
// In this section you declare the dependencies for your production and test code
dependencies {
testImplementation(group: 'junit', name: 'junit', version: '4.12')
integrationTestImplementation("org.spockframework:spock-core:1.2-groovy-2.4")
}
sharedLibrary {
coreVersion = "2.289.3"
testHarnessVersion = "2.72"
pipelineTestUnitVersion = "1.9"
pluginDependencies {
dependency("org.jenkins-ci.plugins","job-dsl","1.77")
dependency("org.jenkins-ci.plugins","cloudbees-folder","6.15")
dependency("org.jenkins-ci.plugins.workflow", "workflow-aggregator", "2.6")
dependency("org.jenkins-ci.plugins", "credentials", "2.5")
dependency("org.jenkins-ci.plugins", "git-server", "1.10")
}
}
test {
testLogging {
events "PASSED", "FAILED", "SKIPPED"
}
}
integrationTest {
testLogging {
events "PASSED", "FAILED", "SKIPPED"
}
}
allprojects {
task getJobs {
doLast { task ->
def tree = fileTree(dir: 'jobs', include: '**/config.groovy')
def gse = new GroovyScriptEngine(".")
def bindings = new Binding()
// Initialize global variables
bindings.setProperty('flavour', null)
bindings.setProperty('gradle_project_dir',task.project.projectDir)
tree.forEach{
def p = gse.run(it.getPath(),bindings)
jenkins_jobs.addAll(p.jobs)
jenkins_test_suites.addAll(p.test_suites)
}
file("${project.rootDir}/.jobs.json").text = JsonOutput.prettyPrint(JsonOutput.toJson(jenkins_jobs))
file("${project.rootDir}/.test_suites.json").text = JsonOutput.prettyPrint(JsonOutput.toJson(jenkins_test_suites))
}
}
}
task resolveIntegrationTestDependencies(type: org.jenkinsci.gradle.plugins.jpi.TestDependenciesTask) {
configuration = configurations.integrationTestRuntimeClasspath
def javaConvention = project.convention.getPlugin(JavaPluginConvention)
into file("${javaConvention.sourceSets.integrationTest.output.resourcesDir}/test-dependencies")
}
tasks.processIntegrationTestResources.dependsOn resolveIntegrationTestDependencies
ext {
jenkins_jobs =[]
jenkins_test_suites =[]
}