|
| 1 | +import org.gradle.api.tasks.compile.GroovyCompile |
| 2 | +import org.gradle.api.tasks.compile.JavaCompile |
| 3 | +import org.gradle.api.tasks.javadoc.Javadoc |
| 4 | +import org.gradle.api.tasks.testing.Test |
| 5 | + |
1 | 6 | plugins { |
2 | 7 | id 'net.researchgate.release' version '2.6.0' apply false |
3 | | - id 'com.github.johnrengelman.shadow' version '5.2.0' apply false |
| 8 | + id 'com.gradleup.shadow' version '9.3.2' apply false |
4 | 9 | id 'io.codearte.nexus-staging' version '0.22.0' |
5 | | - id "com.diffplug.spotless" version "6.11.0" apply false |
| 10 | + id 'com.diffplug.spotless' version '8.4.0' apply false |
| 11 | +} |
| 12 | + |
| 13 | +ext { |
| 14 | + junit5Version = '5.10.2' |
| 15 | + lombokVersion = '1.18.20' |
| 16 | + slf4jVersion = '2.0.0-alpha0' |
| 17 | + assertjVersion = '3.11.1' |
6 | 18 | } |
7 | 19 |
|
8 | 20 | subprojects { subproject -> |
9 | | - // FIXME this plugin is currently not working for multi-module projects even when defined at the top level only |
10 | | - // Will need to release and TAG manually for now |
11 | 21 | subproject.apply plugin: 'net.researchgate.release' |
12 | 22 | subproject.apply plugin: 'java-library' |
13 | | - subproject.apply plugin: 'com.github.johnrengelman.shadow' |
| 23 | + subproject.apply plugin: 'com.gradleup.shadow' |
14 | 24 | subproject.apply plugin: 'maven-publish' |
15 | 25 |
|
16 | | - sourceCompatibility = '1.8' |
17 | | - targetCompatibility = '1.8' |
| 26 | + java { |
| 27 | + sourceCompatibility = JavaVersion.VERSION_1_8 |
| 28 | + targetCompatibility = JavaVersion.VERSION_1_8 |
| 29 | + } |
18 | 30 |
|
19 | 31 | repositories { |
20 | 32 | mavenCentral() |
21 | 33 | } |
22 | 34 |
|
| 35 | + tasks.withType(JavaCompile).configureEach { |
| 36 | + javaCompiler = javaToolchains.compilerFor { |
| 37 | + languageVersion = JavaLanguageVersion.of(17) |
| 38 | + } |
| 39 | + } |
| 40 | + |
| 41 | + tasks.withType(Javadoc).configureEach { |
| 42 | + javadocTool = javaToolchains.javadocToolFor { |
| 43 | + languageVersion = JavaLanguageVersion.of(17) |
| 44 | + } |
| 45 | + } |
| 46 | + |
| 47 | + tasks.withType(Test).configureEach { |
| 48 | + javaLauncher = javaToolchains.launcherFor { |
| 49 | + languageVersion = JavaLanguageVersion.of(17) |
| 50 | + } |
| 51 | + } |
| 52 | + |
| 53 | + tasks.withType(GroovyCompile).configureEach { |
| 54 | + javaLauncher = javaToolchains.launcherFor { |
| 55 | + languageVersion = JavaLanguageVersion.of(17) |
| 56 | + } |
| 57 | + } |
| 58 | + |
23 | 59 | shadowJar { |
24 | | - classifier = '' |
| 60 | + archiveClassifier = '' |
25 | 61 | relocate 'org.assertj', 'shadow.org.assertj' |
26 | 62 | relocate 'org.opentest4j', 'shadow.org.opentest4j' |
27 | | - exclude "module-info.class" |
| 63 | + exclude 'module-info.class' |
| 64 | + } |
| 65 | + |
| 66 | + jar { |
| 67 | + archiveClassifier = 'thin' |
28 | 68 | } |
29 | 69 |
|
30 | 70 | dependencies { |
31 | | - // Lombok |
32 | | - compileOnly 'org.projectlombok:lombok:1.18.20' |
33 | | - annotationProcessor 'org.projectlombok:lombok:1.18.20' |
34 | | - testCompileOnly 'org.projectlombok:lombok:1.18.20' |
35 | | - testAnnotationProcessor 'org.projectlombok:lombok:1.18.20' |
36 | | - |
37 | | - // Logging implementation |
38 | | - compileOnly 'org.slf4j:slf4j-api:2.0.0-alpha0' |
| 71 | + compileOnly "org.projectlombok:lombok:${project.lombokVersion}" |
| 72 | + annotationProcessor "org.projectlombok:lombok:${project.lombokVersion}" |
| 73 | + testCompileOnly "org.projectlombok:lombok:${project.lombokVersion}" |
| 74 | + testAnnotationProcessor "org.projectlombok:lombok:${project.lombokVersion}" |
| 75 | + |
| 76 | + compileOnly "org.slf4j:slf4j-api:${project.slf4jVersion}" |
39 | 77 | } |
40 | 78 |
|
41 | 79 | // Add verbose logging for Github Actions |
|
0 commit comments