Skip to content

Commit 32f10b0

Browse files
committed
Replace BuildParams usages
1 parent 10b70e4 commit 32f10b0

File tree

12 files changed

+115
-75
lines changed

12 files changed

+115
-75
lines changed

build-tools-internal/src/integTest/groovy/org/elasticsearch/gradle/internal/InternalDistributionBwcSetupPluginFuncTest.groovy

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,10 @@
99

1010
package org.elasticsearch.gradle.internal
1111

12-
import org.elasticsearch.gradle.Architecture
1312
import org.elasticsearch.gradle.fixtures.AbstractGitAwareGradleFuncTest
1413
import org.gradle.testkit.runner.TaskOutcome
15-
import spock.lang.IgnoreIf
1614
import spock.lang.Unroll
1715

18-
/*
19-
* Test is ignored on ARM since this test case tests the ability to build certain older BWC branches that we don't support on ARM
20-
*/
21-
@IgnoreIf({ Architecture.current() == Architecture.AARCH64 })
2216
class InternalDistributionBwcSetupPluginFuncTest extends AbstractGitAwareGradleFuncTest {
2317

2418
def setup() {

build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/InternalDistributionBwcSetupPlugin.java

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

1212
import org.elasticsearch.gradle.Version;
1313
import org.elasticsearch.gradle.internal.info.BuildParameterExtension;
14-
import org.elasticsearch.gradle.internal.info.BuildParams;
1514
import org.elasticsearch.gradle.internal.info.GlobalBuildInfoPlugin;
1615
import org.gradle.api.Action;
1716
import org.gradle.api.InvalidUserDataException;
@@ -40,6 +39,7 @@
4039

4140
import static java.util.Arrays.asList;
4241
import static java.util.Arrays.stream;
42+
import static org.elasticsearch.gradle.internal.util.ParamsUtils.loadBuildParams;
4343

4444
/**
4545
* We want to be able to do BWC tests for unreleased versions without relying on and waiting for snapshots.
@@ -63,12 +63,14 @@ public InternalDistributionBwcSetupPlugin(ObjectFactory objectFactory, ProviderF
6363
@Override
6464
public void apply(Project project) {
6565
project.getRootProject().getPluginManager().apply(GlobalBuildInfoPlugin.class);
66-
Boolean isCi = project.getRootProject().getExtensions().getByType(BuildParameterExtension.class).isCi();
6766
project.getPlugins().apply(JvmToolchainsPlugin.class);
6867
toolChainService = project.getExtensions().getByType(JavaToolchainService.class);
69-
BuildParams.getBwcVersions().forPreviousUnreleased((BwcVersions.UnreleasedVersionInfo unreleasedVersion) -> {
68+
BuildParameterExtension buildParams = loadBuildParams(project).get();
69+
Boolean isCi = buildParams.isCi();
70+
buildParams.getBwcVersions().forPreviousUnreleased((BwcVersions.UnreleasedVersionInfo unreleasedVersion) -> {
7071
configureBwcProject(
7172
project.project(unreleasedVersion.gradleProjectPath()),
73+
buildParams,
7274
unreleasedVersion,
7375
providerFactory,
7476
objectFactory,
@@ -80,6 +82,7 @@ public void apply(Project project) {
8082

8183
private static void configureBwcProject(
8284
Project project,
85+
BuildParameterExtension buildParams,
8386
BwcVersions.UnreleasedVersionInfo versionInfo,
8487
ProviderFactory providerFactory,
8588
ObjectFactory objectFactory,
@@ -127,6 +130,7 @@ private static void configureBwcProject(
127130
for (DistributionProject distributionProject : distributionProjects) {
128131
createBuildBwcTask(
129132
bwcSetupExtension,
133+
buildParams,
130134
project,
131135
bwcVersion,
132136
distributionProject.name,
@@ -149,6 +153,7 @@ private static void configureBwcProject(
149153

150154
createBuildBwcTask(
151155
bwcSetupExtension,
156+
buildParams,
152157
project,
153158
bwcVersion,
154159
"jdbc",
@@ -177,6 +182,7 @@ private static void configureBwcProject(
177182

178183
createBuildBwcTask(
179184
bwcSetupExtension,
185+
buildParams,
180186
project,
181187
bwcVersion,
182188
stableApiProject.getName(),
@@ -296,6 +302,7 @@ public static String buildBwcTaskName(String projectName) {
296302

297303
static void createBuildBwcTask(
298304
BwcSetupExtension bwcSetupExtension,
305+
BuildParameterExtension buildParams,
299306
Project project,
300307
Provider<Version> bwcVersion,
301308
String projectName,
@@ -316,7 +323,7 @@ static void createBuildBwcTask(
316323
} else {
317324
c.getOutputs().files(expectedOutputFile);
318325
}
319-
c.getOutputs().doNotCacheIf("BWC distribution caching is disabled for local builds", task -> BuildParams.isCi() == false);
326+
c.getOutputs().doNotCacheIf("BWC distribution caching is disabled for local builds", task -> buildParams.isCi() == false);
320327
c.getArgs().add(projectPath.replace('/', ':') + ":" + assembleTaskName);
321328
if (project.getGradle().getStartParameter().isBuildCacheEnabled()) {
322329
c.getArgs().add("--build-cache");

build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/MrjarPlugin.java

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@
99

1010
package org.elasticsearch.gradle.internal;
1111

12-
import org.elasticsearch.gradle.internal.info.BuildParams;
12+
import org.elasticsearch.gradle.internal.info.BuildParameterExtension;
13+
import org.elasticsearch.gradle.internal.info.GlobalBuildInfoPlugin;
1314
import org.elasticsearch.gradle.internal.precommit.CheckForbiddenApisTask;
1415
import org.elasticsearch.gradle.util.GradleUtils;
1516
import org.gradle.api.JavaVersion;
@@ -47,6 +48,7 @@
4748
import javax.inject.Inject;
4849

4950
import static de.thetaphi.forbiddenapis.gradle.ForbiddenApisPlugin.FORBIDDEN_APIS_TASK_NAME;
51+
import static org.elasticsearch.gradle.internal.util.ParamsUtils.loadBuildParams;
5052
import static org.objectweb.asm.Opcodes.V_PREVIEW;
5153

5254
public class MrjarPlugin implements Plugin<Project> {
@@ -64,6 +66,8 @@ public class MrjarPlugin implements Plugin<Project> {
6466
@Override
6567
public void apply(Project project) {
6668
project.getPluginManager().apply(ElasticsearchJavaBasePlugin.class);
69+
project.getRootProject().getPlugins().apply(GlobalBuildInfoPlugin.class);
70+
var buildParams = loadBuildParams(project).get();
6771
var javaExtension = project.getExtensions().getByType(JavaPluginExtension.class);
6872
var isIdeaSync = System.getProperty("idea.sync.active", "false").equals("true");
6973
var ideaSourceSetsEnabled = project.hasProperty(MRJAR_IDEA_ENABLED) && project.property(MRJAR_IDEA_ENABLED).equals("true");
@@ -89,7 +93,7 @@ public void apply(Project project) {
8993
String testSourceSetName = SourceSet.TEST_SOURCE_SET_NAME + javaVersion;
9094
SourceSet testSourceSet = addSourceSet(project, javaExtension, testSourceSetName, testSourceSets, javaVersion);
9195
testSourceSets.add(testSourceSetName);
92-
createTestTask(project, testSourceSet, javaVersion, mainSourceSets);
96+
createTestTask(project, buildParams, testSourceSet, javaVersion, mainSourceSets);
9397
}
9498
}
9599

@@ -163,7 +167,13 @@ private void configureSourceSetInJar(Project project, SourceSet sourceSet, int j
163167
jarTask.configure(task -> task.into("META-INF/versions/" + javaVersion, copySpec -> copySpec.from(sourceSet.getOutput())));
164168
}
165169

166-
private void createTestTask(Project project, SourceSet sourceSet, int javaVersion, List<String> mainSourceSets) {
170+
private void createTestTask(
171+
Project project,
172+
BuildParameterExtension buildParams,
173+
SourceSet sourceSet,
174+
int javaVersion,
175+
List<String> mainSourceSets
176+
) {
167177
var jarTask = project.getTasks().withType(Jar.class).named(JavaPlugin.JAR_TASK_NAME);
168178
var testTaskProvider = project.getTasks().register(JavaPlugin.TEST_TASK_NAME + javaVersion, Test.class);
169179
testTaskProvider.configure(testTask -> {
@@ -180,9 +190,9 @@ private void createTestTask(Project project, SourceSet sourceSet, int javaVersio
180190

181191
// only set the jdk if runtime java isn't set because setting the toolchain is incompatible with
182192
// runtime java setting the executable directly
183-
if (BuildParams.getIsRuntimeJavaHomeSet()) {
193+
if (buildParams.getIsRuntimeJavaHomeSet()) {
184194
testTask.onlyIf("runtime java must support java " + javaVersion, t -> {
185-
JavaVersion runtimeJavaVersion = BuildParams.getRuntimeJavaVersion();
195+
JavaVersion runtimeJavaVersion = buildParams.getRuntimeJavaVersion().get();
186196
return runtimeJavaVersion.isCompatibleWith(JavaVersion.toVersion(javaVersion));
187197
});
188198
} else {

build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/docker/DockerSupportPlugin.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
*/
99
package org.elasticsearch.gradle.internal.docker;
1010

11+
import org.elasticsearch.gradle.internal.info.GlobalBuildInfoPlugin;
1112
import org.gradle.api.Plugin;
1213
import org.gradle.api.Project;
1314
import org.gradle.api.Task;
@@ -17,6 +18,8 @@
1718
import java.util.List;
1819
import java.util.stream.Collectors;
1920

21+
import static org.elasticsearch.gradle.internal.util.ParamsUtils.loadBuildParams;
22+
2023
/**
2124
* Plugin providing {@link DockerSupportService} for detecting Docker installations and determining requirements for Docker-based
2225
* Elasticsearch build tasks.
@@ -30,11 +33,14 @@ public void apply(Project project) {
3033
if (project != project.getRootProject()) {
3134
throw new IllegalStateException(this.getClass().getName() + " can only be applied to the root project.");
3235
}
36+
project.getPlugins().apply(GlobalBuildInfoPlugin.class);
37+
var buildParams = loadBuildParams(project).get();
3338

3439
Provider<DockerSupportService> dockerSupportServiceProvider = project.getGradle()
3540
.getSharedServices()
3641
.registerIfAbsent(DOCKER_SUPPORT_SERVICE_NAME, DockerSupportService.class, spec -> spec.parameters(params -> {
3742
params.setExclusionsFile(new File(project.getRootDir(), DOCKER_ON_LINUX_EXCLUSIONS_FILE));
43+
params.getIsCI().set(buildParams.isCi());
3844
}));
3945

4046
// Ensure that if we are trying to run any DockerBuildTask tasks, we assert an available Docker installation exists

build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/docker/DockerSupportService.java

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@
1313
import org.elasticsearch.gradle.Architecture;
1414
import org.elasticsearch.gradle.OS;
1515
import org.elasticsearch.gradle.Version;
16-
import org.elasticsearch.gradle.internal.info.BuildParams;
1716
import org.gradle.api.GradleException;
1817
import org.gradle.api.logging.Logger;
1918
import org.gradle.api.logging.Logging;
19+
import org.gradle.api.provider.Property;
2020
import org.gradle.api.provider.ProviderFactory;
2121
import org.gradle.api.services.BuildService;
2222
import org.gradle.api.services.BuildServiceParameters;
@@ -59,7 +59,6 @@ public abstract class DockerSupportService implements BuildService<DockerSupport
5959

6060
private final ProviderFactory providerFactory;
6161
private DockerAvailability dockerAvailability;
62-
private Map<String, ServiceInfo> serviceInfos;
6362
private Map<String, Map<Integer, Integer>> tcpPorts;
6463
private Map<String, Map<Integer, Integer>> udpPorts;
6564

@@ -228,7 +227,7 @@ private boolean isExcludedOs() {
228227
// We don't attempt to check the current flavor and version of Linux unless we're
229228
// running in CI, because we don't want to stop people running the Docker tests in
230229
// their own environments if they really want to.
231-
if (BuildParams.isCi() == false) {
230+
if (getParameters().getIsCI().get().booleanValue() == false) {
232231
return false;
233232
}
234233

@@ -356,10 +355,6 @@ public Map<String, Map<Integer, Integer>> getUdpPorts() {
356355
return udpPorts;
357356
}
358357

359-
public void setServiceInfos(Map<String, ServiceInfo> serviceInfos) {
360-
this.serviceInfos = serviceInfos;
361-
}
362-
363358
/**
364359
* An immutable class that represents the results of a Docker search from {@link #getDockerAvailability()}}.
365360
*/
@@ -402,5 +397,7 @@ interface Parameters extends BuildServiceParameters {
402397
File getExclusionsFile();
403398

404399
void setExclusionsFile(File exclusionsFile);
400+
401+
Property<Boolean> getIsCI();
405402
}
406403
}

build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/info/GlobalBuildInfoPlugin.java

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -152,38 +152,38 @@ public void apply(Project project) {
152152
spec.getParameters().getBuildParams().set(buildParams);
153153
});
154154

155-
BuildParams.init(params -> {
156-
params.reset();
157-
params.setRuntimeJavaHome(actualRuntimeJavaHome);
158-
params.setJavaToolChainSpec(resolveToolchainSpecFromEnv());
159-
params.setRuntimeJavaVersion(
160-
actualRuntimeJavaHome.map(
161-
javaHome -> determineJavaVersion(
162-
"runtime java.home",
163-
javaHome,
164-
isRuntimeJavaHomeExplicitlySet
165-
? minimumRuntimeVersion
166-
: JavaVersion.toVersion(VersionProperties.getBundledJdkMajorVersion())
167-
)
168-
)
169-
);
170-
params.setIsRuntimeJavaHomeSet(isRuntimeJavaHomeExplicitlySet);
171-
params.setRuntimeJavaDetails(runtimeJdkMetaData.map(m -> formatJavaVendorDetails(m)));
172-
params.setJavaVersions(getAvailableJavaVersions());
173-
params.setMinimumCompilerVersion(minimumCompilerVersion);
174-
params.setMinimumRuntimeVersion(minimumRuntimeVersion);
175-
params.setGradleJavaVersion(Jvm.current().getJavaVersion());
176-
params.setGitRevision(gitInfo.getRevision());
177-
params.setGitOrigin(gitInfo.getOrigin());
178-
params.setBuildDate(ZonedDateTime.now(ZoneOffset.UTC));
179-
params.setTestSeed(getTestSeed());
180-
params.setIsCi(
181-
System.getenv("JENKINS_URL") != null || System.getenv("BUILDKITE_BUILD_URL") != null || System.getProperty("isCI") != null
182-
);
183-
params.setDefaultParallel(ParallelDetector.findDefaultParallel(project));
184-
params.setIsSnapshotBuild(Util.getBooleanProperty("build.snapshot", true));
185-
params.setBwcVersions(bwcVersionsProvider);
186-
});
155+
// BuildParams.init(params -> {
156+
// params.reset();
157+
// params.setRuntimeJavaHome(actualRuntimeJavaHome);
158+
// params.setJavaToolChainSpec(resolveToolchainSpecFromEnv());
159+
// params.setRuntimeJavaVersion(
160+
// actualRuntimeJavaHome.map(
161+
// javaHome -> determineJavaVersion(
162+
// "runtime java.home",
163+
// javaHome,
164+
// isRuntimeJavaHomeExplicitlySet
165+
// ? minimumRuntimeVersion
166+
// : JavaVersion.toVersion(VersionProperties.getBundledJdkMajorVersion())
167+
// )
168+
// )
169+
// );
170+
// params.setIsRuntimeJavaHomeSet(isRuntimeJavaHomeExplicitlySet);
171+
// params.setRuntimeJavaDetails(runtimeJdkMetaData.map(m -> formatJavaVendorDetails(m)));
172+
// params.setJavaVersions(getAvailableJavaVersions());
173+
// params.setMinimumCompilerVersion(minimumCompilerVersion);
174+
// params.setMinimumRuntimeVersion(minimumRuntimeVersion);
175+
// params.setGradleJavaVersion(Jvm.current().getJavaVersion());
176+
// params.setGitRevision(gitInfo.getRevision());
177+
// params.setGitOrigin(gitInfo.getOrigin());
178+
// params.setBuildDate(ZonedDateTime.now(ZoneOffset.UTC));
179+
// params.setTestSeed(getTestSeed());
180+
// params.setIsCi(
181+
// System.getenv("JENKINS_URL") != null || System.getenv("BUILDKITE_BUILD_URL") != null || System.getProperty("isCI") != null
182+
// );
183+
// params.setDefaultParallel(ParallelDetector.findDefaultParallel(project));
184+
// params.setIsSnapshotBuild(Util.getBooleanProperty("build.snapshot", true));
185+
// params.setBwcVersions(bwcVersionsProvider);
186+
// });
187187

188188
// Enforce the minimum compiler version
189189
assertMinimumCompilerVersion(minimumCompilerVersion);

build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/test/DistroTestPlugin.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@
1616
import org.elasticsearch.gradle.ElasticsearchDistributionType;
1717
import org.elasticsearch.gradle.Version;
1818
import org.elasticsearch.gradle.VersionProperties;
19+
import org.elasticsearch.gradle.internal.BwcVersions;
1920
import org.elasticsearch.gradle.internal.InternalDistributionDownloadPlugin;
2021
import org.elasticsearch.gradle.internal.JdkDownloadPlugin;
2122
import org.elasticsearch.gradle.internal.docker.DockerSupportPlugin;
2223
import org.elasticsearch.gradle.internal.docker.DockerSupportService;
23-
import org.elasticsearch.gradle.internal.info.BuildParams;
2424
import org.elasticsearch.gradle.test.SystemPropertyCommandLineArgumentProvider;
2525
import org.elasticsearch.gradle.util.GradleUtils;
2626
import org.gradle.api.Action;
@@ -55,6 +55,7 @@
5555
import static org.elasticsearch.gradle.internal.distribution.InternalElasticsearchDistributionTypes.DOCKER_UBI;
5656
import static org.elasticsearch.gradle.internal.distribution.InternalElasticsearchDistributionTypes.DOCKER_WOLFI;
5757
import static org.elasticsearch.gradle.internal.distribution.InternalElasticsearchDistributionTypes.RPM;
58+
import static org.elasticsearch.gradle.internal.util.ParamsUtils.loadBuildParams;
5859

5960
/**
6061
* This class defines gradle tasks for testing our various distribution artifacts.
@@ -73,6 +74,7 @@ public void apply(Project project) {
7374
project.getPlugins().apply(InternalDistributionDownloadPlugin.class);
7475
project.getPlugins().apply(JdkDownloadPlugin.class);
7576
project.getPluginManager().apply("elasticsearch.java");
77+
var buildParams = loadBuildParams(project).get();
7678

7779
Provider<DockerSupportService> dockerSupport = GradleUtils.getBuildService(
7880
project.getGradle().getSharedServices(),
@@ -85,7 +87,7 @@ public void apply(Project project) {
8587
List<ElasticsearchDistribution> testDistributions = configureDistributions(project);
8688

8789
Map<ElasticsearchDistributionType, TaskProvider<?>> lifecycleTasks = lifecycleTasks(project, "destructiveDistroTest");
88-
Map<String, TaskProvider<?>> versionTasks = versionTasks(project, "destructiveDistroUpgradeTest");
90+
Map<String, TaskProvider<?>> versionTasks = versionTasks(project, "destructiveDistroUpgradeTest", buildParams.getBwcVersions());
8991
TaskProvider<Task> destructiveDistroTest = project.getTasks().register("destructiveDistroTest");
9092

9193
Configuration examplePlugin = configureExamplePlugin(project);
@@ -116,7 +118,7 @@ public void apply(Project project) {
116118
lifecycleTask.configure(t -> t.dependsOn(destructiveTask));
117119

118120
if ((type == DEB || type == RPM) && distribution.getBundledJdk()) {
119-
for (Version version : BuildParams.getBwcVersions().getIndexCompatible()) {
121+
for (Version version : buildParams.getBwcVersions().getIndexCompatible()) {
120122
final ElasticsearchDistribution bwcDistro;
121123
if (version.equals(Version.fromString(distribution.getVersion()))) {
122124
// this is the same as the distribution we are testing
@@ -158,10 +160,10 @@ private static Map<ElasticsearchDistributionType, TaskProvider<?>> lifecycleTask
158160
return lifecyleTasks;
159161
}
160162

161-
private static Map<String, TaskProvider<?>> versionTasks(Project project, String taskPrefix) {
163+
private static Map<String, TaskProvider<?>> versionTasks(Project project, String taskPrefix, BwcVersions bwcVersions) {
162164
Map<String, TaskProvider<?>> versionTasks = new HashMap<>();
163165

164-
for (Version version : BuildParams.getBwcVersions().getIndexCompatible()) {
166+
for (Version version : bwcVersions.getIndexCompatible()) {
165167
versionTasks.put(version.toString(), project.getTasks().register(taskPrefix + ".v" + version));
166168
}
167169

0 commit comments

Comments
 (0)