Browse Source

Avoid eager task realization (#103343)

* Avoid eager task realization in esql qa projects
* Fix eager task realization in PomValidationPrecommitPlugin
* Make loadCsvSpecData task lazy created
* Fix test task reference
Rene Groeschke 1 năm trước cách đây
mục cha
commit
209b655d0c

+ 3 - 3
build-conventions/src/main/java/org/elasticsearch/gradle/internal/conventions/precommit/PomValidationPrecommitPlugin.java

@@ -30,11 +30,11 @@ public class PomValidationPrecommitPlugin extends PrecommitPlugin {
                 .register("validate" + publicationName + "Pom", PomValidationTask.class);
             validatePom.configure(t -> t.dependsOn(validateTask));
             validateTask.configure(task -> {
-                GenerateMavenPom generateMavenPom = project.getTasks()
+                TaskProvider<GenerateMavenPom> generateMavenPom = project.getTasks()
                     .withType(GenerateMavenPom.class)
-                    .getByName("generatePomFileFor" + publicationName + "Publication");
+                    .named("generatePomFileFor" + publicationName + "Publication");
                 task.dependsOn(generateMavenPom);
-                task.getPomFile().fileValue(generateMavenPom.getDestination());
+                task.getPomFile().fileProvider(generateMavenPom.map(GenerateMavenPom::getDestination));
             });
         });
 

+ 1 - 1
x-pack/plugin/esql/build.gradle

@@ -59,7 +59,7 @@ sourceSets.main.java {
   exclude 'generated/**'
 }
 
-tasks.getByName('test') {
+tasks.named("test").configure {
   if (BuildParams.isCi() == false) {
     systemProperty 'generateDocs', true
     doFirst {

+ 1 - 1
x-pack/plugin/esql/qa/build.gradle

@@ -1,5 +1,5 @@
 description = 'Integration tests for ESQL'
 
 subprojects {
-  tasks.withType(Javadoc).all { enabled = false }
+  tasks.withType(Javadoc).configureEach { enabled = false }
 }

+ 1 - 1
x-pack/plugin/esql/qa/testFixtures/build.gradle

@@ -23,7 +23,7 @@ dependencies {
  * If no arguments are specified, the default URL is http://localhost:9200 without authentication.
  * It also supports HTTPS.
  */
-task loadCsvSpecData(type: JavaExec) {
+tasks.register("loadCsvSpecData", JavaExec) {
   group = "Execution"
   description = "Loads ESQL CSV Spec Tests data on a running stand-alone instance"
   classpath = sourceSets.main.runtimeClasspath