Skip to content

Commit 633ff12

Browse files
committed
Add workaround for bug in detachedconfiguration handling in 8.13-rc-1
1 parent 52dd30f commit 633ff12

File tree

3 files changed

+12
-4
lines changed

3 files changed

+12
-4
lines changed

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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import org.gradle.api.Project;
1313
import org.gradle.api.Task;
1414
import org.gradle.api.artifacts.Configuration;
15+
import org.gradle.api.artifacts.Dependency;
1516
import org.gradle.api.file.Directory;
1617
import org.gradle.api.provider.Provider;
1718
import org.gradle.api.tasks.SourceSet;
@@ -37,7 +38,9 @@ void impl(String implName, Project implProject) {
3738
String projectName = implProject.getName();
3839
String capitalName = capitalize(projectName);
3940

40-
Configuration implConfig = project.getConfigurations().detachedConfiguration(project.getDependencies().create(implProject));
41+
Dependency implDependency = project.getDependencies().create(implProject);
42+
Configuration implConfig = project.getConfigurations().detachedConfiguration();
43+
implConfig.getDependencies().add(implDependency);
4144
implConfig.attributes(attrs -> {
4245
attrs.attribute(ARTIFACT_TYPE_ATTRIBUTE, DIRECTORY_TYPE);
4346
attrs.attribute(EmbeddedProviderPlugin.IMPL_ATTR, true);

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,9 @@ public ElasticsearchDistributionExtension(Project project) {
3434
private Configuration moduleZip(Project module) {
3535
var moduleConfigurationCoords = Map.of("path", module.getPath(), "configuration", EXPLODED_BUNDLE_CONFIG);
3636
var dep = project.getDependencies().project(moduleConfigurationCoords);
37-
return project.getConfigurations().detachedConfiguration(dep);
37+
Configuration detachedConfiguration = project.getConfigurations().detachedConfiguration();
38+
detachedConfiguration.getDependencies().add(dep);
39+
return detachedConfiguration;
3840
}
3941

4042
public void copyModule(TaskProvider<? extends AbstractCopyTask> copyTask, Project module) {

build-tools/src/main/java/org/elasticsearch/gradle/testclusters/ElasticsearchCluster.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,8 @@ public void setTestDistribution(TestDistribution distribution) {
247247

248248
private void registerExtractedConfig(Provider<RegularFile> pluginProvider) {
249249
Dependency pluginDependency = this.project.getDependencies().create(project.files(pluginProvider));
250-
Configuration extractedConfig = project.getConfigurations().detachedConfiguration(pluginDependency);
250+
Configuration extractedConfig = project.getConfigurations().detachedConfiguration();
251+
extractedConfig.getDependencies().add(pluginDependency);
251252
extractedConfig.getAttributes().attribute(ArtifactTypeDefinition.ARTIFACT_TYPE_ATTRIBUTE, ArtifactTypeDefinition.DIRECTORY_TYPE);
252253
extractedConfig.getAttributes().attribute(BUNDLE_ATTRIBUTE, true);
253254
pluginAndModuleConfiguration.from(extractedConfig);
@@ -296,7 +297,9 @@ Collection<Configuration> getPluginAndModuleConfigurations() {
296297
private Provider<RegularFile> maybeCreatePluginOrModuleDependency(String path, String consumingConfiguration) {
297298
var configuration = pluginAndModuleConfigurations.computeIfAbsent(path, key -> {
298299
var bundleDependency = this.project.getDependencies().project(Map.of("path", path, "configuration", consumingConfiguration));
299-
return project.getConfigurations().detachedConfiguration(bundleDependency);
300+
Configuration detachedConfiguration = project.getConfigurations().detachedConfiguration();
301+
detachedConfiguration.getDependencies().add(bundleDependency);
302+
return detachedConfiguration;
300303
});
301304

302305
Provider<File> fileProvider = configuration.getElements()

0 commit comments

Comments
 (0)