From 0941cb03c2d0f896f869ae71b290a18b111282f2 Mon Sep 17 00:00:00 2001 From: Rene Groeschke Date: Mon, 23 Dec 2024 23:39:19 +0100 Subject: [PATCH 1/3] [Gradle] Make CopyCheckStyleConfTask usage cc compatible in serverless --- .../precommit/CheckstylePrecommitPlugin.java | 3 +- .../precommit/CopyCheckStyleConfTask.java | 29 +++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/precommit/CopyCheckStyleConfTask.java diff --git a/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/precommit/CheckstylePrecommitPlugin.java b/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/precommit/CheckstylePrecommitPlugin.java index dbbe35905d208..dc8ea4424ba89 100644 --- a/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/precommit/CheckstylePrecommitPlugin.java +++ b/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/precommit/CheckstylePrecommitPlugin.java @@ -42,7 +42,8 @@ public TaskProvider createTask(Project project) { File checkstyleDir = new File(project.getBuildDir(), "checkstyle"); File checkstyleSuppressions = new File(checkstyleDir, "checkstyle_suppressions.xml"); File checkstyleConf = new File(checkstyleDir, "checkstyle.xml"); - TaskProvider copyCheckstyleConf = project.getTasks().register("copyCheckstyleConf"); + TaskProvider copyCheckstyleConf = project.getTasks() + .register("copyCheckstyleConf", CopyCheckStyleConfTask.class); // configure inputs and outputs so up to date works properly copyCheckstyleConf.configure(t -> t.getOutputs().files(checkstyleSuppressions, checkstyleConf)); if ("jar".equals(checkstyleConfUrl.getProtocol())) { diff --git a/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/precommit/CopyCheckStyleConfTask.java b/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/precommit/CopyCheckStyleConfTask.java new file mode 100644 index 0000000000000..e133aaa9e13d5 --- /dev/null +++ b/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/precommit/CopyCheckStyleConfTask.java @@ -0,0 +1,29 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the "Elastic License + * 2.0", the "GNU Affero General Public License v3.0 only", and the "Server Side + * Public License v 1"; you may not use this file except in compliance with, at + * your election, the "Elastic License 2.0", the "GNU Affero General Public + * License v3.0 only", or the "Server Side Public License, v 1". + */ + +package org.elasticsearch.gradle.internal.precommit; + +import org.gradle.api.DefaultTask; +import org.gradle.api.file.BuildLayout; +import org.gradle.api.file.FileSystemOperations; +import org.gradle.api.file.ProjectLayout; + +import javax.inject.Inject; + +public abstract class CopyCheckStyleConfTask extends DefaultTask { + + @Inject + public abstract FileSystemOperations getFileSystemOperations(); + + @Inject + public abstract BuildLayout getBuildLayout(); + + @Inject + public abstract ProjectLayout getProjectLayout(); +} From e58a539d06c28d030f0ff1044a97eca0f5a0acc7 Mon Sep 17 00:00:00 2001 From: Rene Groeschke Date: Mon, 23 Dec 2024 23:54:17 +0100 Subject: [PATCH 2/3] Simplify CopyCheckStyleConfTask --- .../internal/precommit/CopyCheckStyleConfTask.java | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/precommit/CopyCheckStyleConfTask.java b/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/precommit/CopyCheckStyleConfTask.java index e133aaa9e13d5..9e0f9c24bcef8 100644 --- a/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/precommit/CopyCheckStyleConfTask.java +++ b/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/precommit/CopyCheckStyleConfTask.java @@ -10,20 +10,12 @@ package org.elasticsearch.gradle.internal.precommit; import org.gradle.api.DefaultTask; -import org.gradle.api.file.BuildLayout; import org.gradle.api.file.FileSystemOperations; -import org.gradle.api.file.ProjectLayout; import javax.inject.Inject; public abstract class CopyCheckStyleConfTask extends DefaultTask { @Inject - public abstract FileSystemOperations getFileSystemOperations(); - - @Inject - public abstract BuildLayout getBuildLayout(); - - @Inject - public abstract ProjectLayout getProjectLayout(); + public abstract FileSystemOperations getFs(); } From 737beef11e27dc57232a1ad667b19351d1598c61 Mon Sep 17 00:00:00 2001 From: Rene Groeschke Date: Tue, 31 Dec 2024 11:48:52 +0100 Subject: [PATCH 3/3] Tweak archive extension properties --- .../internal/InternalDistributionArchiveSetupPlugin.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/InternalDistributionArchiveSetupPlugin.java b/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/InternalDistributionArchiveSetupPlugin.java index f7e2f3d0d6c30..c2547b72e21fa 100644 --- a/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/InternalDistributionArchiveSetupPlugin.java +++ b/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/InternalDistributionArchiveSetupPlugin.java @@ -134,14 +134,14 @@ private void registerEmptyDirectoryTasks(Project project) { }); File pluginsDir = new File(project.getBuildDir(), "plugins-hack/plugins"); - project.getExtensions().add("pluginsDir", pluginsDir); + project.getExtensions().getExtraProperties().set("pluginsDir", pluginsDir); project.getTasks().register("createPluginsDir", EmptyDirTask.class, t -> { t.setDir(pluginsDir); t.setDirMode(0755); }); File jvmOptionsDir = new File(project.getBuildDir(), "jvm-options-hack/jvm.options.d"); - project.getExtensions().add("jvmOptionsDir", jvmOptionsDir); + project.getExtensions().getExtraProperties().set("jvmOptionsDir", jvmOptionsDir); project.getTasks().register("createJvmOptionsDir", EmptyDirTask.class, t -> { t.setDir(jvmOptionsDir); t.setDirMode(0750);