Skip to content

Commit 8916213

Browse files
authored
Separate minimum compiler and runtime Java version properties (#79108)
1 parent 4717fbb commit 8916213

File tree

4 files changed

+18
-19
lines changed

4 files changed

+18
-19
lines changed

build-conventions/src/main/java/org/elasticsearch/gradle/internal/conventions/VersionPropertiesBuildService.java

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,11 @@
1515
import org.gradle.api.provider.ProviderFactory;
1616
import org.gradle.api.services.BuildService;
1717
import org.gradle.api.services.BuildServiceParameters;
18-
import org.gradle.initialization.layout.BuildLayout;
19-
import org.gradle.initialization.layout.BuildLayoutFactory;
2018

21-
import javax.inject.Inject;
2219
import java.io.File;
2320
import java.io.IOException;
2421
import java.util.Properties;
22+
import javax.inject.Inject;
2523

2624
abstract class VersionPropertiesBuildService implements BuildService<VersionPropertiesBuildService.Params>, AutoCloseable {
2725

@@ -33,15 +31,24 @@ public VersionPropertiesBuildService(ProviderFactory providerFactory) {
3331
try {
3432
File propertiesInputFile = new File(infoPath, "version.properties");
3533
properties = VersionPropertiesLoader.loadBuildSrcVersion(propertiesInputFile, providerFactory);
36-
properties.computeIfAbsent("minimumJava", s -> resolveMinimumJavaVersion(infoPath));
34+
properties.computeIfAbsent("minimumRuntimeJava", s -> resolveMinimumRuntimeJavaVersion(infoPath));
35+
properties.computeIfAbsent("minimumCompilerJava", s -> resolveMinimumCompilerJavaVersion(infoPath));
3736
} catch (IOException e) {
3837
throw new GradleException("Cannot load VersionPropertiesBuildService", e);
3938
}
4039
}
4140

42-
private JavaVersion resolveMinimumJavaVersion(File infoPath) {
41+
private JavaVersion resolveMinimumRuntimeJavaVersion(File infoPath) {
42+
return resolveJavaVersion(infoPath, "src/main/resources/minimumRuntimeVersion");
43+
}
44+
45+
private JavaVersion resolveMinimumCompilerJavaVersion(File infoPath) {
46+
return resolveJavaVersion(infoPath, "src/main/resources/minimumCompilerVersion");
47+
}
48+
49+
private JavaVersion resolveJavaVersion(File infoPath, String path) {
4350
final JavaVersion minimumJavaVersion;
44-
File minimumJavaInfoSource = new File(infoPath, "src/main/resources/minimumRuntimeVersion");
51+
File minimumJavaInfoSource = new File(infoPath, path);
4552
try {
4653
String versionString = FileUtils.readFileToString(minimumJavaInfoSource);
4754
minimumJavaVersion = JavaVersion.toVersion(versionString);

build-tools-internal/build.gradle

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,6 @@
66
* Side Public License, v 1.
77
*/
88

9-
10-
import org.elasticsearch.gradle.internal.conventions.VersionPropertiesLoader
11-
import org.apache.tools.ant.taskdefs.condition.Os
12-
import org.gradle.plugins.ide.eclipse.model.AccessRule
13-
import org.gradle.plugins.ide.eclipse.model.SourceFolder
14-
import org.gradle.plugins.ide.eclipse.model.ProjectDependency
15-
169
plugins {
1710
id 'java-gradle-plugin'
1811
id 'groovy-gradle-plugin'
@@ -170,7 +163,7 @@ gradlePlugin {
170163
* Java version *
171164
*****************************************************************************/
172165

173-
def minCompilerJava = versions.get("minimumJava")
166+
def minCompilerJava = versions.get("minimumCompilerJava")
174167
targetCompatibility = minCompilerJava
175168
sourceCompatibility = minCompilerJava
176169

build-tools/build.gradle

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
* in compliance with, at your election, the Elastic License 2.0 or the Server
66
* Side Public License, v 1.
77
*/
8-
import org.elasticsearch.gradle.internal.conventions.VersionPropertiesLoader
98

109
plugins {
1110
id 'java-gradle-plugin'
@@ -22,8 +21,8 @@ description = "The elasticsearch build tools"
2221

2322
group = "org.elasticsearch.gradle"
2423
version = versions.getProperty("elasticsearch")
25-
targetCompatibility = versions.get("minimumJava")
26-
sourceCompatibility = versions.get("minimumJava")
24+
targetCompatibility = versions.get("minimumRuntimeJava")
25+
sourceCompatibility = versions.get("minimumRuntimeJava")
2726

2827
gradlePlugin {
2928
// We already configure publication and we don't need or want the one that comes

build-tools/reaper/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ plugins {
77

88
group = "org.elasticsearch.gradle"
99
version = versions.getProperty("elasticsearch")
10-
targetCompatibility = versions.get("minimumJava")
11-
sourceCompatibility = versions.get("minimumJava")
10+
targetCompatibility = versions.get("minimumRuntimeJava")
11+
sourceCompatibility = versions.get("minimumRuntimeJava")
1212

1313
tasks.named("jar").configure {
1414
archiveFileName = "${project.name}.jar"

0 commit comments

Comments
 (0)