Skip to content

Commit ea1b9ed

Browse files
committed
build: Move configurations and dependencies to plugin
1 parent 9abf527 commit ea1b9ed

File tree

2 files changed

+74
-72
lines changed

2 files changed

+74
-72
lines changed

build.gradle

Lines changed: 3 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
import org.example.JenkinsPlugins
2-
3-
41
plugins {
52
id 'jenkins-plugin-resolver'
63
}
@@ -28,80 +25,14 @@ sourceSets {
2825
}
2926
}
3027

28+
configurations {
29+
}
30+
3131
dependencies {
32-
implementationDependencies delegate
33-
testImplementationDependencies delegate
34-
jenkinsPluginDependencies delegate
35-
junit5Dependencies delegate
3632
}
3733

3834
/* Tasks */
3935

4036
tasks.named('test') {
4137
maxParallelForks = 4
4238
}
43-
44-
45-
/* Helpers */
46-
47-
static void implementationDependencies(DependencyHandler context) {
48-
List<String> dependencies = [
49-
"org.codehaus.groovy:groovy-all:2.4.21",
50-
"org.jenkins-ci.main:jenkins-core:${JenkinsPlugins.get().jenkinsVersion}",
51-
JenkinsPlugins.get()['job-dsl-core'],
52-
]
53-
switch (JenkinsPlugins.get().jenkinsVersion) {
54-
case '2.277.4':
55-
dependencies << 'com.cloudbees:groovy-cps:1.22'
56-
break
57-
case '2.346.3':
58-
dependencies << JenkinsPlugins.get()['workflow-cps']
59-
break
60-
default:
61-
throw new IllegalArgumentException("Unrecognized Jenkins version: ${JenkinsPlugins.get().jenkinsVersion}")
62-
}
63-
64-
dependencies.each { String dependency ->
65-
context.implementation dependency
66-
}
67-
}
68-
69-
static void jenkinsPluginDependencies(DependencyHandler context) {
70-
JenkinsPlugins.get().each { String dependency ->
71-
context.testPlugins dependency
72-
}
73-
}
74-
75-
static void junit5Dependencies(DependencyHandler context) {
76-
context.with {
77-
testImplementation platform('org.junit:junit-bom:5.9.2')
78-
testImplementation 'org.junit.jupiter:junit-jupiter'
79-
testRuntimeOnly 'org.junit.vintage:junit-vintage-engine'
80-
}
81-
}
82-
83-
static void testImplementationDependencies(DependencyHandler context) {
84-
List<String> dependencies = [
85-
"com.lesfurets:jenkins-pipeline-unit:1.19",
86-
"org.spockframework:spock-core:1.3-groovy-2.4",
87-
"org.jenkins-ci.main:jenkins-test-harness:${JenkinsPlugins.get().testHarnessVersion}",
88-
"org.jenkins-ci.main:jenkins-war:${JenkinsPlugins.get().jenkinsVersion}",
89-
JenkinsPlugins.get()['job-dsl'],
90-
"${JenkinsPlugins.get()['job-dsl']}@jar",
91-
"${JenkinsPlugins.get()['structs']}@jar",
92-
]
93-
switch (JenkinsPlugins.get().jenkinsVersion) {
94-
case '2.277.4':
95-
dependencies << 'cglib:cglib-nodep:2.2.2'
96-
dependencies << "${JenkinsPlugins.get()['script-security']}@jar"
97-
break
98-
case '2.346.3':
99-
break
100-
default:
101-
throw new IllegalArgumentException("Unrecognized Jenkins version: ${JenkinsPlugins.get().jenkinsVersion}")
102-
}
103-
104-
dependencies.each { String dependency ->
105-
context.testImplementation dependency
106-
}
107-
}

buildSrc/src/main/groovy/jenkins-plugin-resolver.gradle

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,28 @@ configurations {
2626
testPlugins
2727
}
2828

29+
dependencies {
30+
/* Project's Shared library code dependencies */
31+
implementation 'org.codehaus.groovy:groovy-all:2.4.21'
32+
implementation "org.jenkins-ci.main:jenkins-core:${JenkinsPlugins.get().jenkinsVersion}"
33+
implementationDependencies delegate
34+
35+
/* JUnit5 dependencies */
36+
testImplementation platform('org.junit:junit-bom:5.9.2')
37+
testImplementation 'org.junit.jupiter:junit-jupiter'
38+
testRuntimeOnly 'org.junit.vintage:junit-vintage-engine'
39+
40+
/* Jenkins plugins dependencies */
41+
JenkinsPlugins.get().each { String dependency ->
42+
testPlugins dependency
43+
}
44+
45+
/* Dependencies of tests of Shared library and pipeline code */
46+
testImplementation 'com.lesfurets:jenkins-pipeline-unit:1.19'
47+
testImplementation 'org.spockframework:spock-core:1.3-groovy-2.4'
48+
testImplementationDependencies delegate
49+
}
50+
2951
tasks.named('test') {
3052
dependsOn tasks.resolveTestPlugins
3153
inputs.files sourceSets.main.allSource.files
@@ -83,3 +105,52 @@ tasks.named('wrapper') {
83105
gradleVersion = project.gradleVersion
84106
distributionType = Wrapper.DistributionType.BIN
85107
}
108+
109+
110+
/* Dependency helpers */
111+
112+
static void implementationDependencies(DependencyHandler context) {
113+
List<String> dependencies = [
114+
JenkinsPlugins.get()['job-dsl-core'],
115+
]
116+
117+
switch (JenkinsPlugins.get().jenkinsVersion) {
118+
case '2.277.4':
119+
dependencies << 'com.cloudbees:groovy-cps:1.22'
120+
break
121+
case '2.346.3':
122+
dependencies << JenkinsPlugins.get()['workflow-cps']
123+
break
124+
default:
125+
throw new IllegalArgumentException("Unrecognized Jenkins version: ${JenkinsPlugins.get().jenkinsVersion}")
126+
}
127+
128+
dependencies.each { String dependency ->
129+
context.implementation dependency
130+
}
131+
}
132+
133+
static void testImplementationDependencies(DependencyHandler context) {
134+
List<String> dependencies = [
135+
"org.jenkins-ci.main:jenkins-test-harness:${JenkinsPlugins.get().testHarnessVersion}",
136+
"org.jenkins-ci.main:jenkins-war:${JenkinsPlugins.get().jenkinsVersion}",
137+
JenkinsPlugins.get()['job-dsl'],
138+
"${JenkinsPlugins.get()['job-dsl']}@jar",
139+
"${JenkinsPlugins.get()['structs']}@jar",
140+
]
141+
142+
switch (JenkinsPlugins.get().jenkinsVersion) {
143+
case '2.277.4':
144+
dependencies << 'cglib:cglib-nodep:2.2.2'
145+
dependencies << "${JenkinsPlugins.get()['script-security']}@jar"
146+
break
147+
case '2.346.3':
148+
break
149+
default:
150+
throw new IllegalArgumentException("Unrecognized Jenkins version: ${JenkinsPlugins.get().jenkinsVersion}")
151+
}
152+
153+
dependencies.each { String dependency ->
154+
context.testImplementation dependency
155+
}
156+
}

0 commit comments

Comments
 (0)