Skip to content

Commit b1e398d

Browse files
committed
Update to Gradle 8.1
Signed-off-by: Andriy Redko <andriy.redko@aiven.io>
1 parent 4d78bbf commit b1e398d

File tree

7 files changed

+52
-9
lines changed

7 files changed

+52
-9
lines changed

buildSrc/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ Properties props = VersionPropertiesLoader.loadBuildSrcVersion(project.file('ver
6161
version = props.getProperty("opensearch")
6262

6363
def generateVersionProperties = tasks.register("generateVersionProperties", WriteProperties) {
64-
outputFile = "${buildDir}/version.properties"
64+
destinationFile = file("${buildDir}/version.properties")
6565
comment = 'Generated version properties'
6666
properties(props)
6767
}

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

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,15 +38,19 @@
3838
import org.opensearch.gradle.test.ErrorReportingTestListener;
3939
import org.opensearch.gradle.util.Util;
4040
import org.gradle.api.Action;
41+
import org.gradle.api.ExtensiblePolymorphicDomainObjectContainer;
4142
import org.gradle.api.JavaVersion;
4243
import org.gradle.api.Plugin;
4344
import org.gradle.api.Project;
4445
import org.gradle.api.Task;
4546
import org.gradle.api.artifacts.Configuration;
4647
import org.gradle.api.file.FileCollection;
48+
import org.gradle.api.plugins.jvm.JvmTestSuite;
4749
import org.gradle.api.tasks.SourceSet;
4850
import org.gradle.api.tasks.SourceSetContainer;
4951
import org.gradle.api.tasks.testing.Test;
52+
import org.gradle.testing.base.TestingExtension;
53+
import org.gradle.testing.base.TestSuite;
5054

5155
import java.io.File;
5256
import java.util.HashMap;
@@ -223,7 +227,24 @@ public void execute(Task t) {
223227
// Add the shadow JAR artifact itself
224228
FileCollection shadowJar = project.files(project.getTasks().named("shadowJar"));
225229

226-
test.setClasspath(test.getClasspath().minus(mainRuntime).plus(shadowConfig).plus(shadowJar));
230+
// See please https://docs.gradle.org/8.1-rc-1/userguide/upgrading_version_8.html#test_task_default_classpath
231+
boolean isClasspathSet = false;
232+
final TestingExtension testing = project.getExtensions().findByType(TestingExtension.class);
233+
if (testing != null) {
234+
final ExtensiblePolymorphicDomainObjectContainer<TestSuite> testSuites = testing.getSuites();
235+
final TestSuite suite = testSuites.findByName("test");
236+
if (suite != null && suite instanceof JvmTestSuite) {
237+
final JvmTestSuite jvmTestSuite = (JvmTestSuite) suite;
238+
test.setClasspath(
239+
jvmTestSuite.getSources().getRuntimeClasspath().minus(mainRuntime).plus(shadowConfig).plus(shadowJar)
240+
);
241+
isClasspathSet = true;
242+
}
243+
}
244+
245+
if (!isClasspathSet) {
246+
test.setClasspath(test.getClasspath().minus(mainRuntime).plus(shadowConfig).plus(shadowJar));
247+
}
227248
});
228249
});
229250
}

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

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,17 +35,21 @@
3535
import org.opensearch.gradle.util.GradleUtils;
3636
import org.opensearch.gradle.util.Util;
3737
import org.gradle.api.DefaultTask;
38+
import org.gradle.api.ExtensiblePolymorphicDomainObjectContainer;
3839
import org.gradle.api.NamedDomainObjectContainer;
3940
import org.gradle.api.Task;
4041
import org.gradle.api.file.FileCollection;
4142
import org.gradle.api.file.FileTree;
43+
import org.gradle.api.plugins.jvm.JvmTestSuite;
4244
import org.gradle.api.tasks.Classpath;
4345
import org.gradle.api.tasks.Input;
4446
import org.gradle.api.tasks.OutputFile;
4547
import org.gradle.api.tasks.SourceSet;
4648
import org.gradle.api.tasks.SourceSetContainer;
4749
import org.gradle.api.tasks.TaskAction;
4850
import org.gradle.api.tasks.testing.Test;
51+
import org.gradle.testing.base.TestSuite;
52+
import org.gradle.testing.base.TestingExtension;
4953

5054
import java.io.File;
5155
import java.io.IOException;
@@ -91,7 +95,23 @@ public Map<String, Set<File>> getClassFilesPerEnabledTask() {
9195
.withType(Test.class)
9296
.stream()
9397
.filter(Task::getEnabled)
94-
.collect(Collectors.toMap(Task::getPath, task -> task.getCandidateClassFiles().getFiles()));
98+
.collect(Collectors.toMap(Task::getPath, task -> {
99+
// See please https://docs.gradle.org/8.1-rc-1/userguide/upgrading_version_8.html#test_task_default_classpath
100+
final TestingExtension testing = task.getProject().getExtensions().findByType(TestingExtension.class);
101+
if (testing != null) {
102+
final ExtensiblePolymorphicDomainObjectContainer<TestSuite> testSuites = testing.getSuites();
103+
final TestSuite suite = testSuites.findByName("test");
104+
if (suite != null && suite instanceof JvmTestSuite) {
105+
final JvmTestSuite jvmTestSuite = (JvmTestSuite) suite;
106+
final Set<File> files = jvmTestSuite.getSources().getOutput().getClassesDirs().getAsFileTree().getFiles();
107+
if (!files.isEmpty()) {
108+
return files;
109+
}
110+
}
111+
}
112+
113+
return task.getCandidateClassFiles().getFiles();
114+
}));
95115
}
96116

97117
@Input

gradle/wrapper/gradle-wrapper.jar

468 Bytes
Binary file not shown.

gradle/wrapper/gradle-wrapper.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
distributionBase=GRADLE_USER_HOME
1313
distributionPath=wrapper/dists
14-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.2-all.zip
14+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.1-rc-1-all.zip
1515
zipStoreBase=GRADLE_USER_HOME
1616
zipStorePath=wrapper/dists
17-
distributionSha256Sum=47a5bfed9ef814f90f8debcbbb315e8e7c654109acd224595ea39fca95c5d4da
17+
distributionSha256Sum=8deb6070b6b84977e80e1605d4ac4f3a7fe6681e788f8295bc4d4f087dcdee30

gradlew

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,9 +85,6 @@ done
8585
APP_BASE_NAME=${0##*/}
8686
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
8787

88-
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
89-
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
90-
9188
# Use the maximum available, or set MAX_FD != -1 to use that value.
9289
MAX_FD=maximum
9390

@@ -197,6 +194,10 @@ if "$cygwin" || "$msys" ; then
197194
done
198195
fi
199196

197+
198+
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
199+
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
200+
200201
# Collect all arguments for the java command;
201202
# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
202203
# shell script including quotes and variable substitutions, so put them in

plugins/repository-hdfs/build.gradle

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,8 @@ for (String integTestTaskName : ['integTestHa', 'integTestSecure', 'integTestSec
227227
.resolve("ports")
228228
}
229229
nonInputProperties.systemProperty "test.hdfs-fixture.ports", file("$portsFileDir/ports")
230-
classpath += files(portsFileDir)
230+
// See please https://docs.gradle.org/8.1-rc-1/userguide/upgrading_version_8.html#test_task_default_classpath
231+
classpath = testing.suites.test.sources.runtimeClasspath + files(portsFileDir)
231232
// Copy ports file to separate location which is placed on the test classpath
232233
doFirst {
233234
mkdir(portsFileDir)

0 commit comments

Comments
 (0)