Skip to content

Commit a0da953

Browse files
authored
Update to Gradle 8.2 (#8018)
Signed-off-by: Andriy Redko <andriy.redko@aiven.io>
1 parent 431b246 commit a0da953

File tree

34 files changed

+139
-78
lines changed

34 files changed

+139
-78
lines changed

benchmarks/build.gradle

+8-2
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,16 @@ import org.opensearch.gradle.info.BuildParams
3232

3333
apply plugin: 'opensearch.build'
3434
apply plugin: 'application'
35-
mainClassName = 'org.openjdk.jmh.Main'
3635

3736
assemble.enabled = false
38-
archivesBaseName = 'opensearch-benchmarks'
37+
38+
application {
39+
mainClass = 'org.openjdk.jmh.Main'
40+
}
41+
42+
base {
43+
archivesBaseName = 'opensearch-benchmarks'
44+
}
3945

4046
test.enabled = false
4147

build.gradle

+3-3
Original file line numberDiff line numberDiff line change
@@ -327,7 +327,7 @@ allprojects {
327327
javadoc.options.addStringOption('Xwerror', '-quiet')
328328
}
329329
javadoc.options.tags = ["opensearch.internal", "opensearch.api", "opensearch.experimental"]
330-
javadoc.options.addStringOption("-release", targetCompatibility.majorVersion)
330+
javadoc.options.addStringOption("-release", java.targetCompatibility.majorVersion)
331331
}
332332

333333
// support for reproducible builds
@@ -375,7 +375,7 @@ allprojects {
375375
} else {
376376
// Link to non-shadowed dependant projects
377377
project.javadoc.dependsOn "${upstreamProject.path}:javadoc"
378-
String externalLinkName = upstreamProject.archivesBaseName
378+
String externalLinkName = upstreamProject.base.archivesBaseName
379379
String artifactPath = dep.group.replaceAll('\\.', '/') + '/' + externalLinkName.replaceAll('\\.', '/') + '/' + dep.version
380380
String projectRelativePath = project.relativePath(upstreamProject.buildDir)
381381
project.javadoc.options.linksOffline artifactsHost + "/javadoc/" + artifactPath, "${projectRelativePath}/docs/javadoc/"
@@ -452,7 +452,7 @@ gradle.projectsEvaluated {
452452
testReportAggregation it
453453
}
454454
subprojects.findAll { it.pluginManager.hasPlugin('jacoco') }.forEach {
455-
jacocoAggregation it
455+
jacocoAggregation it
456456
}
457457
}
458458
}

buildSrc/build.gradle

+18-15
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ import org.gradle.util.GradleVersion
3434
plugins {
3535
id 'java-gradle-plugin'
3636
id 'groovy'
37-
id 'java-test-fixtures'
3837
}
3938

4039
group = 'org.opensearch.gradle'
@@ -79,9 +78,17 @@ if (JavaVersion.current() < JavaVersion.VERSION_11) {
7978
}
8079

8180
sourceSets {
81+
test {
82+
java {
83+
srcDirs += ['src/testFixtures/java']
84+
}
85+
}
8286
integTest {
8387
compileClasspath += sourceSets["main"].output + configurations["testRuntimeClasspath"]
8488
runtimeClasspath += output + compileClasspath
89+
java {
90+
srcDirs += ['src/testFixtures/java']
91+
}
8592
}
8693
}
8794

@@ -111,7 +118,7 @@ dependencies {
111118
api 'org.apache.rat:apache-rat:0.15'
112119
api 'commons-io:commons-io:2.13.0'
113120
api "net.java.dev.jna:jna:5.13.0"
114-
api 'gradle.plugin.com.github.johnrengelman:shadow:8.0.0'
121+
api 'com.github.johnrengelman:shadow:8.1.1'
115122
api 'org.jdom:jdom2:2.0.6.1'
116123
api "org.jetbrains.kotlin:kotlin-stdlib-jdk8:${props.getProperty('kotlin')}"
117124
api 'de.thetaphi:forbiddenapis:3.5.1'
@@ -124,10 +131,10 @@ dependencies {
124131
api "com.fasterxml.jackson.core:jackson-databind:${props.getProperty('jackson_databind')}"
125132
api "org.ajoberstar.grgit:grgit-core:5.2.0"
126133

127-
testFixturesApi "junit:junit:${props.getProperty('junit')}"
128-
testFixturesApi "com.carrotsearch.randomizedtesting:randomizedtesting-runner:${props.getProperty('randomizedrunner')}"
129-
testFixturesApi gradleApi()
130-
testFixturesApi gradleTestKit()
134+
testImplementation "junit:junit:${props.getProperty('junit')}"
135+
testImplementation "com.carrotsearch.randomizedtesting:randomizedtesting-runner:${props.getProperty('randomizedrunner')}"
136+
testRuntimeOnly gradleApi()
137+
testRuntimeOnly gradleTestKit()
131138
testImplementation 'com.github.tomakehurst:wiremock-jre8-standalone:2.35.0'
132139
testImplementation "org.mockito:mockito-core:${props.getProperty('mockito')}"
133140
integTestImplementation('org.spockframework:spock-core:2.3-groovy-3.0') {
@@ -164,8 +171,10 @@ if (project != rootProject) {
164171
apply plugin: 'opensearch.publish'
165172

166173
allprojects {
167-
targetCompatibility = JavaVersion.VERSION_11
168-
sourceCompatibility = JavaVersion.VERSION_11
174+
java {
175+
targetCompatibility = JavaVersion.VERSION_11
176+
sourceCompatibility = JavaVersion.VERSION_11
177+
}
169178
}
170179

171180
// groovydoc succeeds, but has some weird internal exception...
@@ -174,7 +183,7 @@ if (project != rootProject) {
174183
// build-tools is not ready for primetime with these...
175184
tasks.named("dependencyLicenses").configure { it.enabled = false }
176185
dependenciesInfo.enabled = false
177-
disableTasks('forbiddenApisMain', 'forbiddenApisTest', 'forbiddenApisIntegTest', 'forbiddenApisTestFixtures')
186+
disableTasks('forbiddenApisMain', 'forbiddenApisTest', 'forbiddenApisIntegTest')
178187
jarHell.enabled = false
179188
thirdPartyAudit.enabled = false
180189
if (org.opensearch.gradle.info.BuildParams.inFipsJvm) {
@@ -241,12 +250,6 @@ if (project != rootProject) {
241250
}
242251
}
243252

244-
// disable fail-on-warnings for this specific task which trips Java 11 bug
245-
// https://bugs.openjdk.java.net/browse/JDK-8209058
246-
tasks.named("compileTestFixturesJava").configure {
247-
options.compilerArgs -= '-Werror'
248-
}
249-
250253
tasks.register("integTest", Test) {
251254
inputs.dir(file("src/testKit")).withPropertyName("testkit dir").withPathSensitivity(PathSensitivity.RELATIVE)
252255
systemProperty 'test.version_under_test', version

buildSrc/reaper/build.gradle

+4-2
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,10 @@
1111

1212
apply plugin: 'java'
1313

14-
targetCompatibility = JavaVersion.VERSION_11
15-
sourceCompatibility = JavaVersion.VERSION_11
14+
java {
15+
targetCompatibility = JavaVersion.VERSION_11
16+
sourceCompatibility = JavaVersion.VERSION_11
17+
}
1618

1719
jar {
1820
archiveFileName = "${project.name}.jar"

buildSrc/src/main/groovy/org/opensearch/gradle/plugin/PluginBuildPlugin.groovy

+9-3
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ import org.gradle.api.Plugin
4444
import org.gradle.api.Project
4545
import org.gradle.api.Task
4646
import org.gradle.api.plugins.BasePlugin
47+
import org.gradle.api.plugins.BasePluginExtension
48+
import org.gradle.api.plugins.JavaPluginExtension
4749
import org.gradle.api.publish.maven.MavenPublication
4850
import org.gradle.api.publish.maven.plugins.MavenPublishPlugin
4951
import org.gradle.api.publish.maven.tasks.GenerateMavenPom
@@ -85,7 +87,9 @@ class PluginBuildPlugin implements Plugin<Project> {
8587
PluginPropertiesExtension extension1 = project.getExtensions().getByType(PluginPropertiesExtension.class)
8688
configurePublishing(project, extension1)
8789
String name = extension1.name
88-
project.archivesBaseName = name
90+
91+
BasePluginExtension base = project.getExtensions().findByType(BasePluginExtension.class)
92+
base.archivesBaseName = name
8993
project.description = extension1.description
9094

9195
if (extension1.name == null) {
@@ -98,12 +102,13 @@ class PluginBuildPlugin implements Plugin<Project> {
98102
throw new InvalidUserDataException('classname is a required setting for opensearchplugin')
99103
}
100104

105+
JavaPluginExtension java = project.getExtensions().findByType(JavaPluginExtension.class)
101106
Map<String, String> properties = [
102107
'name' : extension1.name,
103108
'description' : extension1.description,
104109
'version' : extension1.version,
105110
'opensearchVersion' : Version.fromString(VersionProperties.getOpenSearch()).toString(),
106-
'javaVersion' : project.targetCompatibility as String,
111+
'javaVersion' : java.targetCompatibility as String,
107112
'classname' : extension1.classname,
108113
'customFolderName' : extension1.customFolderName,
109114
'extendedPlugins' : extension1.extendedPlugins.join(','),
@@ -156,8 +161,9 @@ class PluginBuildPlugin implements Plugin<Project> {
156161
}
157162
// always configure publishing for client jars
158163
project.publishing.publications.nebula(MavenPublication).artifactId(extension.name + "-client")
164+
final BasePluginExtension base = project.getExtensions().findByType(BasePluginExtension.class)
159165
project.tasks.withType(GenerateMavenPom.class).configureEach { GenerateMavenPom generatePOMTask ->
160-
generatePOMTask.destination = "${project.buildDir}/distributions/${project.archivesBaseName}-client-${project.versions.opensearch}.pom"
166+
generatePOMTask.destination = "${project.buildDir}/distributions/${base.archivesBaseName}-client-${project.versions.opensearch}.pom"
161167
}
162168
} else {
163169
if (project.plugins.hasPlugin(MavenPublishPlugin)) {

buildSrc/src/main/java/org/opensearch/gradle/PublishPlugin.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
import org.gradle.api.XmlProvider;
4747
import org.gradle.api.artifacts.ProjectDependency;
4848
import org.gradle.api.plugins.BasePlugin;
49-
import org.gradle.api.plugins.BasePluginConvention;
49+
import org.gradle.api.plugins.BasePluginExtension;
5050
import org.gradle.api.plugins.JavaPlugin;
5151
import org.gradle.api.publish.PublishingExtension;
5252
import org.gradle.api.publish.maven.MavenPublication;
@@ -77,7 +77,7 @@ public void apply(Project project) {
7777
}
7878

7979
private static String getArchivesBaseName(Project project) {
80-
return project.getConvention().getPlugin(BasePluginConvention.class).getArchivesBaseName();
80+
return project.getExtensions().getByType(BasePluginExtension.class).getArchivesBaseName();
8181
}
8282

8383
/**Configuration generation of maven poms. */

buildSrc/src/main/java/org/opensearch/gradle/precommit/ForbiddenPatternsTask.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
import org.gradle.api.InvalidUserDataException;
3737
import org.gradle.api.file.FileCollection;
3838
import org.gradle.api.file.FileTree;
39-
import org.gradle.api.plugins.JavaPluginConvention;
39+
import org.gradle.api.plugins.JavaPluginExtension;
4040
import org.gradle.api.tasks.IgnoreEmptyDirectories;
4141
import org.gradle.api.tasks.Input;
4242
import org.gradle.api.tasks.InputFiles;
@@ -106,8 +106,8 @@ public ForbiddenPatternsTask() {
106106
@IgnoreEmptyDirectories
107107
@PathSensitive(PathSensitivity.RELATIVE)
108108
public FileCollection getFiles() {
109-
return getProject().getConvention()
110-
.getPlugin(JavaPluginConvention.class)
109+
return getProject().getExtensions()
110+
.getByType(JavaPluginExtension.class)
111111
.getSourceSets()
112112
.stream()
113113
.map(sourceSet -> sourceSet.getAllSource().matching(filesFilter))

buildSrc/src/main/java/org/opensearch/gradle/precommit/LoggerUsageTask.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434

3535
import org.opensearch.gradle.LoggedExec;
3636
import org.gradle.api.file.FileCollection;
37-
import org.gradle.api.plugins.JavaPluginConvention;
37+
import org.gradle.api.plugins.JavaPluginExtension;
3838
import org.gradle.api.tasks.CacheableTask;
3939
import org.gradle.api.tasks.Classpath;
4040
import org.gradle.api.tasks.IgnoreEmptyDirectories;
@@ -82,8 +82,8 @@ public void setClasspath(FileCollection classpath) {
8282
@SkipWhenEmpty
8383
@IgnoreEmptyDirectories
8484
public FileCollection getClassDirectories() {
85-
return getProject().getConvention()
86-
.getPlugin(JavaPluginConvention.class)
85+
return getProject().getExtensions()
86+
.getByType(JavaPluginExtension.class)
8787
.getSourceSets()
8888
.stream()
8989
// Don't pick up all source sets like the java9 ones as logger-check doesn't support the class format

buildSrc/src/main/java/org/opensearch/gradle/test/rest/CopyRestApiTask.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
import org.gradle.api.file.ConfigurableFileCollection;
4242
import org.gradle.api.file.FileSystemOperations;
4343
import org.gradle.api.file.FileTree;
44-
import org.gradle.api.plugins.JavaPluginConvention;
44+
import org.gradle.api.plugins.JavaPluginExtension;
4545
import org.gradle.api.provider.ListProperty;
4646
import org.gradle.api.tasks.IgnoreEmptyDirectories;
4747
import org.gradle.api.tasks.Input;
@@ -240,7 +240,7 @@ private File getTestOutputResourceDir() {
240240

241241
private Optional<SourceSet> getSourceSet() {
242242
Project project = getProject();
243-
return project.getConvention().findPlugin(JavaPluginConvention.class) == null
243+
return project.getExtensions().findByType(JavaPluginExtension.class) == null
244244
? Optional.empty()
245245
: Optional.ofNullable(GradleUtils.getJavaSourceSets(project).findByName(getSourceSetName()));
246246
}

buildSrc/src/main/java/org/opensearch/gradle/test/rest/CopyRestTestsTask.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
import org.gradle.api.file.ConfigurableFileCollection;
4242
import org.gradle.api.file.FileSystemOperations;
4343
import org.gradle.api.file.FileTree;
44-
import org.gradle.api.plugins.JavaPluginConvention;
44+
import org.gradle.api.plugins.JavaPluginExtension;
4545
import org.gradle.api.provider.ListProperty;
4646
import org.gradle.api.tasks.IgnoreEmptyDirectories;
4747
import org.gradle.api.tasks.Input;
@@ -178,7 +178,7 @@ void copy() {
178178

179179
private Optional<SourceSet> getSourceSet() {
180180
Project project = getProject();
181-
return project.getConvention().findPlugin(JavaPluginConvention.class) == null
181+
return project.getExtensions().findByType(JavaPluginExtension.class) == null
182182
? Optional.empty()
183183
: Optional.ofNullable(GradleUtils.getJavaSourceSets(project).findByName(getSourceSetName()));
184184
}

buildSrc/src/main/java/org/opensearch/gradle/util/GradleUtils.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
import org.gradle.api.artifacts.Configuration;
4141
import org.gradle.api.artifacts.Dependency;
4242
import org.gradle.api.plugins.JavaBasePlugin;
43-
import org.gradle.api.plugins.JavaPluginConvention;
43+
import org.gradle.api.plugins.JavaPluginExtension;
4444
import org.gradle.api.provider.Provider;
4545
import org.gradle.api.services.BuildService;
4646
import org.gradle.api.services.BuildServiceRegistration;
@@ -68,7 +68,7 @@ public static <T> Action<T> noop() {
6868
}
6969

7070
public static SourceSetContainer getJavaSourceSets(Project project) {
71-
return project.getConvention().getPlugin(JavaPluginConvention.class).getSourceSets();
71+
return project.getExtensions().getByType(JavaPluginExtension.class).getSourceSets();
7272
}
7373

7474
public static <T extends Task> TaskProvider<T> maybeRegister(TaskContainer tasks, String name, Class<T> clazz, Action<T> action) {

buildSrc/src/main/java/org/opensearch/gradle/util/Util.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
import org.gradle.api.GradleException;
3838
import org.gradle.api.Project;
3939
import org.gradle.api.file.FileTree;
40-
import org.gradle.api.plugins.JavaPluginConvention;
40+
import org.gradle.api.plugins.JavaPluginExtension;
4141
import org.gradle.api.tasks.SourceSet;
4242
import org.gradle.api.tasks.util.PatternFilterable;
4343

@@ -149,7 +149,7 @@ public static FileTree getJavaTestAndMainSourceResources(Project project, Action
149149
* @return An Optional that contains the Java test SourceSet if it exists.
150150
*/
151151
public static Optional<SourceSet> getJavaTestSourceSet(Project project) {
152-
return project.getConvention().findPlugin(JavaPluginConvention.class) == null
152+
return project.getExtensions().findByType(JavaPluginExtension.class) == null
153153
? Optional.empty()
154154
: Optional.ofNullable(GradleUtils.getJavaSourceSets(project).findByName(SourceSet.TEST_SOURCE_SET_NAME));
155155
}
@@ -159,7 +159,7 @@ public static Optional<SourceSet> getJavaTestSourceSet(Project project) {
159159
* @return An Optional that contains the Java main SourceSet if it exists.
160160
*/
161161
public static Optional<SourceSet> getJavaMainSourceSet(Project project) {
162-
return project.getConvention().findPlugin(JavaPluginConvention.class) == null
162+
return project.getExtensions().findByType(JavaPluginExtension.class) == null
163163
? Optional.empty()
164164
: Optional.ofNullable(GradleUtils.getJavaSourceSets(project).findByName(SourceSet.MAIN_SOURCE_SET_NAME));
165165
}

client/benchmark/build.gradle

+7-3
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,17 @@
3131
apply plugin: 'opensearch.build'
3232
apply plugin: 'application'
3333

34-
group = 'org.opensearch.client'
34+
base {
35+
group = 'org.opensearch.client'
36+
archivesBaseName = 'client-benchmarks'
37+
}
3538

3639
// Not published so no need to assemble
3740
assemble.enabled = true
3841

39-
archivesBaseName = 'client-benchmarks'
40-
mainClassName = 'org.opensearch.client.benchmark.BenchmarkMain'
42+
application {
43+
mainClass = 'org.opensearch.client.benchmark.BenchmarkMain'
44+
}
4145

4246
// never try to invoke tests on the benchmark project - there aren't any
4347
test.enabled = false

client/rest-high-level/build.gradle

+4-2
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,10 @@ apply plugin: 'opensearch.rest-test'
3737
apply plugin: 'opensearch.publish'
3838
apply plugin: 'opensearch.rest-resources'
3939

40-
group = 'org.opensearch.client'
41-
archivesBaseName = 'opensearch-rest-high-level-client'
40+
base {
41+
group = 'org.opensearch.client'
42+
archivesBaseName = 'opensearch-rest-high-level-client'
43+
}
4244

4345
restResources {
4446
//we need to copy the yaml spec so we can check naming (see RestHighlevelClientTests#testApiNamingConventions)

client/rest/build.gradle

+8-4
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,15 @@ import de.thetaphi.forbiddenapis.gradle.CheckForbiddenApis
3333
apply plugin: 'opensearch.build'
3434
apply plugin: 'opensearch.publish'
3535

36-
targetCompatibility = JavaVersion.VERSION_11
37-
sourceCompatibility = JavaVersion.VERSION_11
36+
java {
37+
targetCompatibility = JavaVersion.VERSION_11
38+
sourceCompatibility = JavaVersion.VERSION_11
39+
}
3840

39-
group = 'org.opensearch.client'
40-
archivesBaseName = 'opensearch-rest-client'
41+
base {
42+
group = 'org.opensearch.client'
43+
archivesBaseName = 'opensearch-rest-client'
44+
}
4145

4246
dependencies {
4347
api "org.apache.httpcomponents.client5:httpclient5:${versions.httpclient5}"

0 commit comments

Comments
 (0)