Skip to content

Commit e9f236f

Browse files
authored
Upgrade gradle api (#382)
* Upgrade to Gradle 7.6 API * Run tests on JDK 17 but always compile with JDK 8
1 parent 388645c commit e9f236f

File tree

9 files changed

+69
-122
lines changed

9 files changed

+69
-122
lines changed

.github/workflows/nebula.yml

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,18 @@ jobs:
2626
name: Gradle Build without Publish
2727
steps:
2828
- uses: actions/checkout@v1
29-
- name: Set up JDK 1.8
30-
uses: actions/setup-java@v1
29+
- name: Set up JDK 8
30+
uses: actions/setup-java@v2
3131
with:
32-
java-version: 1.8
32+
distribution: 'zulu'
33+
java-version: '8'
34+
java-package: jdk
3335
- name: Setup jdk
34-
uses: actions/setup-java@v1
36+
uses: actions/setup-java@v2
3537
with:
38+
distribution: 'zulu'
3639
java-version: ${{ matrix.java }}
40+
java-package: jdk
3741
- uses: actions/cache@v1
3842
id: gradle-cache
3943
with:
@@ -49,16 +53,9 @@ jobs:
4953
restore-keys: |
5054
- ${{ runner.os }}-gradlewrapper-
5155
- name: Gradle build
52-
run: ./gradlew --info --stacktrace build
53-
- name: Post-success actions
54-
if: success()
55-
run: ./gradlew jacocoTestReport coveralls
56+
run: ./gradlew --stacktrace build
5657
env:
57-
CI_NAME: github_actions
58-
CI_BUILD_NUMBER: ${{ github.sha }}
59-
CI_BUILD_URL: 'https://github.com/${{ github.repository }}'
60-
CI_BRANCH: ${{ github.ref }}
61-
COVERALLS_REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }}
58+
JDK_VERSION_FOR_TESTS: ${{ matrix.java }}
6259
publish:
6360
if: startsWith(github.ref, 'refs/tags/v')
6461
needs: validation

build.gradle

Lines changed: 31 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@ buildscript {
2525
}
2626

2727
plugins {
28-
id 'nebula.plugin-plugin' version '16.3.0'
29-
id "org.jetbrains.kotlin.jvm" version "1.7.21"
30-
id 'com.github.johnrengelman.shadow' version '7.0.0'
28+
id 'com.netflix.nebula.plugin-plugin' version '20.3.0'
29+
id "org.jetbrains.kotlin.jvm" version "1.8.0"
30+
id 'com.github.johnrengelman.shadow' version '7.1.2'
3131
id 'java-gradle-plugin'
3232
}
3333

@@ -40,24 +40,12 @@ contacts {
4040
}
4141
}
4242

43-
facets {
44-
gradle6Test {
45-
parentSourceSet = 'main'
46-
}
47-
}
48-
4943
configurations {
5044
plugin.description = 'The compile dependencies for the plugin, excluding the local dependencies to avoid problems with Shadow'
5145
compileClasspath.extendsFrom plugin
5246
runtimeClasspath.extendsFrom plugin
5347
testCompileClasspath.extendsFrom plugin
5448
testRuntimeClasspath.extendsFrom plugin
55-
gradle6TestCompileClasspath.extendsFrom plugin
56-
gradle6TestRuntimeClasspath.extendsFrom plugin
57-
}
58-
59-
gradle6Test {
60-
useJUnit()
6149
}
6250

6351
def jgitVersion = '5.0.1.201806211838-r'
@@ -69,7 +57,7 @@ configurations.all {
6957
}
7058

7159
dependencies {
72-
compileOnly 'dev.gradleplugins:gradle-api:6.8.3'
60+
compileOnly 'dev.gradleplugins:gradle-api:7.6'
7361
api 'com.netflix.nebula:nebula-gradle-interop:latest.release'
7462
api 'org.apache.maven:maven-model-builder:3.8.3'
7563
api 'org.codehaus.gpars:gpars:1.2.1'
@@ -96,15 +84,11 @@ dependencies {
9684
}
9785
plugin 'org.eclipse.jdt:core:3.1.1'
9886

99-
compileOnly "com.netflix.nebula:nebula-test:9.+"
87+
compileOnly "com.netflix.nebula:nebula-test:10.+"
10088

10189
testImplementation 'org.ow2.asm:asm-util:5.2'
10290
testImplementation 'joda-time:joda-time:latest.release'
10391
testImplementation 'com.netflix.nebula:gradle-info-plugin:latest.release'
104-
105-
gradle6TestImplementation "com.netflix.nebula:nebula-test:9.+"
106-
gradle6TestRuntimeOnly project.getLayout().files(pluginUnderTestMetadata)
107-
gradle6TestImplementation "dev.gradleplugins:gradle-test-kit:6.8.3"
10892
}
10993

11094
afterEvaluate {
@@ -113,27 +97,32 @@ afterEvaluate {
11397
}
11498
}
11599

116-
pluginBundle {
117-
website = 'https://github.com/nebula-plugins/gradle-lint-plugin'
118-
vcsUrl = 'https://github.com/nebula-plugins/gradle-lint-plugin.git'
119-
description = 'Pluggable and configurable linter tool for identifying and reporting on patterns of misuse or deprecations in Gradle scripts'
120-
100+
gradlePlugin {
121101
plugins {
122-
gradeLint {
102+
legacyNebulaLint {
123103
id = 'nebula.lint'
124104
displayName = 'Nebula Lint plugin'
125105
description = 'Pluggable and configurable linter tool for identifying and reporting on patterns of misuse or deprecations in Gradle scripts'
126-
tags = ['nebula', 'lint']
106+
implementationClass = 'com.netflix.nebula.lint.plugin.GradleLintPlugin'
107+
tags.set(['nebula', 'lint'])
108+
}
109+
nebulaLint {
110+
id = 'com.netflix.nebula.lint'
111+
displayName = 'Nebula Lint plugin'
112+
description = 'Pluggable and configurable linter tool for identifying and reporting on patterns of misuse or deprecations in Gradle scripts'
113+
implementationClass = 'com.netflix.nebula.lint.plugin.GradleLintPlugin'
114+
tags.set(['nebula', 'lint'])
127115
}
128116
}
129117
}
130118

119+
131120
// Relocate jgit dependency not available in Maven Central
132121
// Replaces the main artifact by removing the classifier for the shadow jar, and replacing jar with shadowJar
133122
// Relocated dependencies are removed from the generated pom
134123
shadowJar {
135124
configurations = [project.configurations.plugin]
136-
classifier = null
125+
archiveClassifier.set(null)
137126
dependencies {
138127
include(dependency('com.google.guava:guava'))
139128
include(dependency('org.eclipse.jdt:core'))
@@ -158,9 +147,21 @@ shadowJar {
158147
jar.enabled = false
159148
jar.dependsOn shadowJar
160149

150+
java {
151+
toolchain {
152+
languageVersion.set(JavaLanguageVersion.of(8))
153+
}
154+
}
155+
161156
tasks.withType(Test) {
162157
maxHeapSize = '512m'
163-
maxParallelForks = 4
158+
maxParallelForks = Runtime.runtime.availableProcessors().intdiv(2) ?: 1
159+
javaLauncher = javaToolchains.launcherFor {
160+
languageVersion = JavaLanguageVersion.of(System.getenv("JDK_VERSION_FOR_TESTS")?.toInteger() ?: 8)
161+
}
162+
doFirst {
163+
logger.lifecycle("Executing tests with JDK: ${System.getenv("JDK_VERSION_FOR_TESTS")?.toInteger() ?: 8}")
164+
}
164165
testLogging {
165166
events "PASSED", "FAILED", "SKIPPED"
166167
afterSuite { desc, result ->
@@ -183,8 +184,6 @@ tasks.named('compileKotlin') {
183184
classpath += files(sourceSets.main.groovy.classesDirectory)
184185
}
185186

186-
targetCompatibility = JavaVersion.VERSION_1_8
187-
sourceCompatibility = JavaVersion.VERSION_1_8
188187

189188
['compileClasspath', 'runtimeClasspath', 'testCompileClasspath', 'testRuntimeClasspath'].each { confName ->
190189
tasks.register("dependencyReport${confName.capitalize()}", DependencyReportTask) {

gradle.lockfile

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -16,19 +16,17 @@ com.jcraft:jzlib:1.1.2=integTestRuntimeClasspath,testRuntimeClasspath
1616
com.netflix.nebula:gradle-contacts-plugin:7.0.0=integTestRuntimeClasspath,testRuntimeClasspath
1717
com.netflix.nebula:gradle-info-plugin:12.0.0=integTestCompileClasspath,integTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
1818
com.netflix.nebula:nebula-gradle-interop:2.1.1=compileClasspath,integTestCompileClasspath,integTestRuntimeClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
19-
com.netflix.nebula:nebula-test:10.3.0=integTestCompileClasspath,integTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
20-
com.netflix.nebula:nebula-test:9.0.1=compileClasspath
19+
com.netflix.nebula:nebula-test:10.3.0=compileClasspath,integTestCompileClasspath,integTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
2120
com.perforce:p4java:2015.2.1365273=integTestRuntimeClasspath,testRuntimeClasspath
2221
com.trilead:trilead-ssh2:1.0.0-build220=integTestRuntimeClasspath,testRuntimeClasspath
2322
commons-codec:commons-codec:1.9=integTestRuntimeClasspath,testRuntimeClasspath
2423
commons-lang:commons-lang:2.6=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
2524
commons-logging:commons-logging:1.2=integTestRuntimeClasspath,testRuntimeClasspath
2625
de.regnis.q.sequence:sequence-library:1.0.3=integTestRuntimeClasspath,testRuntimeClasspath
27-
dev.gradleplugins:gradle-api:6.8.3=compileClasspath
26+
dev.gradleplugins:gradle-api:7.6=compileClasspath
2827
javax.inject:javax.inject:1=compileClasspath,integTestCompileClasspath,integTestRuntimeClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
2928
joda-time:joda-time:2.12.2=integTestCompileClasspath,integTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
30-
junit:junit:4.12=compileClasspath
31-
junit:junit:4.13.2=integTestCompileClasspath,integTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
29+
junit:junit:4.13.2=compileClasspath,integTestCompileClasspath,integTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
3230
net.java.dev.jna:jna-platform:5.7.0=integTestRuntimeClasspath,testRuntimeClasspath
3331
net.java.dev.jna:jna:5.7.0=integTestRuntimeClasspath,testRuntimeClasspath
3432
net.java.dev.jna:platform:3.4.0=integTestRuntimeClasspath,testRuntimeClasspath
@@ -40,9 +38,9 @@ org.apache.maven:maven-artifact:3.8.3=compileClasspath,integTestCompileClasspath
4038
org.apache.maven:maven-builder-support:3.8.3=compileClasspath,integTestCompileClasspath,integTestRuntimeClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
4139
org.apache.maven:maven-model-builder:3.8.3=compileClasspath,integTestCompileClasspath,integTestRuntimeClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
4240
org.apache.maven:maven-model:3.8.3=compileClasspath,integTestCompileClasspath,integTestRuntimeClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
43-
org.apiguardian:apiguardian-api:1.1.2=integTestCompileClasspath,integTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
41+
org.apiguardian:apiguardian-api:1.1.2=compileClasspath,integTestCompileClasspath,integTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
4442
org.codehaus.gpars:gpars:1.2.1=compileClasspath,integTestCompileClasspath,integTestRuntimeClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
45-
org.codehaus.groovy:groovy:2.5.12=compileClasspath
43+
org.codehaus.groovy:groovy:3.0.13=compileClasspath
4644
org.codehaus.groovy:groovy:3.0.9=integTestCompileClasspath,integTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
4745
org.codehaus.jsr166-mirror:jsr166y:1.7.0=compileClasspath,integTestCompileClasspath,integTestRuntimeClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
4846
org.codehaus.plexus:plexus-interpolation:1.26=compileClasspath,integTestCompileClasspath,integTestRuntimeClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
@@ -52,27 +50,26 @@ org.eclipse.jdt:core:3.1.1=compileClasspath,runtimeClasspath,testCompileClasspat
5250
org.eclipse.jgit:org.eclipse.jgit:5.0.1.201806211838-r=compileClasspath,integTestRuntimeClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
5351
org.eclipse.sisu:org.eclipse.sisu.inject:0.3.5=compileClasspath,integTestCompileClasspath,integTestRuntimeClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
5452
org.hamcrest:hamcrest-core:1.3=compileClasspath,integTestCompileClasspath,integTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
55-
org.hamcrest:hamcrest:2.2=integTestCompileClasspath,integTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
53+
org.hamcrest:hamcrest:2.2=compileClasspath,integTestCompileClasspath,integTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
5654
org.jetbrains.kotlin:kotlin-stdlib-common:1.8.0=compileClasspath,integTestCompileClasspath,integTestRuntimeClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
5755
org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0=compileClasspath,integTestCompileClasspath,integTestRuntimeClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
5856
org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0=compileClasspath,integTestCompileClasspath,integTestRuntimeClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
5957
org.jetbrains.kotlin:kotlin-stdlib:1.8.0=compileClasspath,integTestCompileClasspath,integTestRuntimeClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
6058
org.jetbrains:annotations:13.0=compileClasspath,integTestCompileClasspath,integTestRuntimeClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
61-
org.junit.platform:junit-platform-commons:1.8.1=integTestCompileClasspath,integTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
62-
org.junit.platform:junit-platform-engine:1.8.1=integTestCompileClasspath,integTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
59+
org.junit.platform:junit-platform-commons:1.8.1=compileClasspath,integTestCompileClasspath,integTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
60+
org.junit.platform:junit-platform-engine:1.8.1=compileClasspath,integTestCompileClasspath,integTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
6361
org.multiverse:multiverse-core:0.7.0=compileClasspath,integTestCompileClasspath,integTestRuntimeClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
6462
org.objenesis:objenesis:2.4=integTestRuntimeClasspath,testRuntimeClasspath
65-
org.opentest4j:opentest4j:1.2.0=integTestCompileClasspath,integTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
63+
org.opentest4j:opentest4j:1.2.0=compileClasspath,integTestCompileClasspath,integTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
6664
org.ow2.asm:asm-commons:9.4=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
6765
org.ow2.asm:asm-tree:5.2=integTestCompileClasspath,integTestRuntimeClasspath
6866
org.ow2.asm:asm-tree:9.4=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
6967
org.ow2.asm:asm-util:5.2=integTestCompileClasspath,integTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
7068
org.ow2.asm:asm:5.2=integTestCompileClasspath,integTestRuntimeClasspath
7169
org.ow2.asm:asm:9.4=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
7270
org.slf4j:slf4j-api:1.7.2=integTestRuntimeClasspath,testRuntimeClasspath
73-
org.spockframework:spock-core:1.3-groovy-2.4=compileClasspath
74-
org.spockframework:spock-core:2.1-M2-groovy-3.0=integTestCompileClasspath,integTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
75-
org.spockframework:spock-junit4:2.1-M2-groovy-3.0=integTestCompileClasspath,integTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
71+
org.spockframework:spock-core:2.1-M2-groovy-3.0=compileClasspath,integTestCompileClasspath,integTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
72+
org.spockframework:spock-junit4:2.1-M2-groovy-3.0=compileClasspath,integTestCompileClasspath,integTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
7673
org.tmatesoft.sqljet:sqljet:1.1.10=integTestRuntimeClasspath,testRuntimeClasspath
7774
org.tmatesoft.svnkit:svnkit:1.8.12=integTestRuntimeClasspath,testRuntimeClasspath
7875
empty=annotationProcessor,compile,integTestAnnotationProcessor,integTestCompile,integTestCompileOnly,integTestRuntime,runtime,shadow,testAnnotationProcessor,testCompile,testCompileOnly,testRuntime
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-rc-1-bin.zip
44
networkTimeout=10000
55
zipStoreBase=GRADLE_USER_HOME
66
zipStorePath=wrapper/dists

src/main/groovy/com/netflix/nebula/lint/rule/GroovyAstVisitor.groovy

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,4 +76,6 @@ abstract class GroovyAstVisitor implements GroovyClassVisitor, GroovyCodeVisitor
7676
@Override void visitArgumentlistExpression(ArgumentListExpression argumentListExpression) {}
7777
@Override void visitClosureListExpression(ClosureListExpression closureListExpression) {}
7878
@Override void visitBytecodeExpression(BytecodeExpression bytecodeExpression) {}
79+
@Override void visitLambdaExpression(LambdaExpression lambdaExpression) {}
80+
@Override void visitMethodReferenceExpression(MethodReferenceExpression methodReferenceExpression) {}
7981
}

src/main/resources/META-INF/gradle-plugins/nebula.lint.properties

Lines changed: 0 additions & 17 deletions
This file was deleted.

src/test/groovy/com/netflix/nebula/lint/issues/Issue39Spec.groovy

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ class Issue39Spec extends IntegrationTestKitSpec {
1111
buildFile.text = """
1212
plugins {
1313
id 'nebula.lint'
14-
id 'nebula.integtest' version '7.0.7'
14+
id 'com.netflix.nebula.integtest' version '10.1.2'
1515
id 'java'
1616
}
1717

0 commit comments

Comments
 (0)