diff --git a/build-tools-internal/src/integTest/groovy/org/elasticsearch/gradle/internal/transport/AbstractTransportVersionFuncTest.groovy b/build-tools-internal/src/integTest/groovy/org/elasticsearch/gradle/internal/transport/AbstractTransportVersionFuncTest.groovy index 18ebfb6a314d7..d97c3747ce343 100644 --- a/build-tools-internal/src/integTest/groovy/org/elasticsearch/gradle/internal/transport/AbstractTransportVersionFuncTest.groovy +++ b/build-tools-internal/src/integTest/groovy/org/elasticsearch/gradle/internal/transport/AbstractTransportVersionFuncTest.groovy @@ -115,6 +115,9 @@ class AbstractTransportVersionFuncTest extends AbstractGradleFuncTest { include ':myserver' include ':myplugin' """ + propertiesFile << """ + org.elasticsearch.transports.upstreamRef=main + """ versionPropertiesFile.text = versionPropertiesFile.text.replace("9.1.0", "9.2.0") file("myserver/build.gradle") << """ diff --git a/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/transport/TransportVersionResourcesPlugin.java b/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/transport/TransportVersionResourcesPlugin.java index 44a00281dabb3..a08ea3be9b27c 100644 --- a/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/transport/TransportVersionResourcesPlugin.java +++ b/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/transport/TransportVersionResourcesPlugin.java @@ -49,6 +49,10 @@ public void apply(Project project) { Directory transportResources = project.getLayout().getProjectDirectory().dir("src/main/resources/" + resourceRoot); spec.getParameters().getTransportResourcesDirectory().set(transportResources); spec.getParameters().getRootDirectory().set(project.getLayout().getSettingsDirectory().getAsFile()); + Object upstreamRef = project.findProperty("org.elasticsearch.transport.upstreamRef"); + if (upstreamRef != null) { + spec.getParameters().getUpstreamRefOverride().set(upstreamRef.toString()); + } }); var depsHandler = project.getDependencies(); diff --git a/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/transport/TransportVersionResourcesService.java b/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/transport/TransportVersionResourcesService.java index fa3780a0c062a..251f514002da6 100644 --- a/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/transport/TransportVersionResourcesService.java +++ b/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/transport/TransportVersionResourcesService.java @@ -12,8 +12,10 @@ import org.gradle.api.file.DirectoryProperty; import org.gradle.api.logging.Logger; import org.gradle.api.logging.Logging; +import org.gradle.api.provider.Property; import org.gradle.api.services.BuildService; import org.gradle.api.services.BuildServiceParameters; +import org.gradle.api.tasks.Optional; import org.gradle.process.ExecOperations; import org.gradle.process.ExecResult; @@ -59,6 +61,9 @@ public interface Parameters extends BuildServiceParameters { DirectoryProperty getTransportResourcesDirectory(); DirectoryProperty getRootDirectory(); + + @Optional + Property getUpstreamRefOverride(); } @Inject @@ -79,6 +84,9 @@ public interface Parameters extends BuildServiceParameters { public TransportVersionResourcesService(Parameters params) { this.transportResourcesDir = params.getTransportResourcesDirectory().get().getAsFile().toPath(); this.rootDir = params.getRootDirectory().get().getAsFile().toPath(); + if (params.getUpstreamRefOverride().isPresent()) { + upstreamRefName.set(params.getUpstreamRefOverride().get()); + } } /**