diff --git a/build-tools/src/main/java/org/elasticsearch/gradle/transportversion/TransportVersionTask.java b/build-tools/src/main/java/org/elasticsearch/gradle/transportversion/TransportVersionTask.java new file mode 100644 index 0000000000000..06846b0540a0c --- /dev/null +++ b/build-tools/src/main/java/org/elasticsearch/gradle/transportversion/TransportVersionTask.java @@ -0,0 +1,34 @@ +/* + * 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 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 or the Server + * Side Public License, v 1. + */ + +package org.elasticsearch.gradle.transportversion; + +import org.elasticsearch.gradle.LoggedExec; +import org.gradle.api.DefaultTask; +import org.gradle.api.Project; +import org.gradle.api.tasks.CacheableTask; +import org.gradle.api.tasks.TaskAction; + +import java.io.FileWriter; +import java.io.IOException; +import java.io.PrintWriter; + +@CacheableTask +public class TransportVersionTask extends DefaultTask { + private static final String NAME = "generate-transport-version"; + + @TaskAction + public void run() throws IOException { + System.out.println("TransportVersionTask run"); + try(var output = new PrintWriter(new FileWriter("server/src/main/java/org/elasticsearch/TransportVersion.java", true))){ + output.println("heee"); + } catch (IOException e) { + throw new RuntimeException(e); + } + } +} diff --git a/build.gradle b/build.gradle index e1e11e60e110e..35c60f3fa9873 100644 --- a/build.gradle +++ b/build.gradle @@ -16,6 +16,7 @@ import org.elasticsearch.gradle.Version import org.elasticsearch.gradle.internal.BaseInternalPluginBuildPlugin import org.elasticsearch.gradle.internal.ResolveAllDependencies import org.elasticsearch.gradle.internal.info.BuildParams +import org.elasticsearch.gradle.transportversion.TransportVersionTask import org.elasticsearch.gradle.util.GradleUtils import org.gradle.plugins.ide.eclipse.model.AccessRule import org.gradle.plugins.ide.eclipse.model.ProjectDependency @@ -219,6 +220,8 @@ allprojects { } } + + /* * Remove assemble/dependenciesInfo on all qa projects because we don't * need to publish artifacts for them. diff --git a/server/build.gradle b/server/build.gradle index 9e1985d5643c5..b64b742d48f9f 100644 --- a/server/build.gradle +++ b/server/build.gradle @@ -7,6 +7,7 @@ */ import org.elasticsearch.gradle.internal.info.BuildParams +import org.elasticsearch.gradle.transportversion.TransportVersionTask apply plugin: 'elasticsearch.build' apply plugin: 'elasticsearch.publish' @@ -250,3 +251,5 @@ tasks.named("licenseHeaders").configure { } tasks.withType(Checkstyle.class).configureEach { t -> t.getMaxHeapSize().set("2g") } + +tasks.register(TransportVersionTask.NAME, TransportVersionTask.class)