Avoid storing collections returned by Gradle. They may cause failures in Tooling API serialization.

See https://github.com/gradle/gradle/issues/5771
This commit is contained in:
Nikita Skvortsov
2018-07-02 15:24:05 +03:00
parent ee0796a179
commit 11ccc56c1b
4 changed files with 5 additions and 5 deletions
@@ -136,7 +136,7 @@ class ExternalProjectBuilderImpl implements ModelBuilderService {
Map<String, Set<File>> artifactsByConfiguration = new HashMap<String, Set<File>>()
for (Map.Entry<String, Configuration> configurationEntry : configurationsByName.entrySet()) {
Set<File> files = configurationEntry.getValue().getAllArtifacts().getFiles().getFiles()
artifactsByConfiguration.put(configurationEntry.getKey(), files)
artifactsByConfiguration.put(configurationEntry.getKey(), new LinkedHashSet<>(files))
}
externalProject.setArtifactsByConfiguration(artifactsByConfiguration)
}
@@ -219,7 +219,7 @@ public class ModuleExtendedModelBuilderImpl implements ModelBuilderService {
Map<String, Set<File>> artifactsByConfiguration = new HashMap<String, Set<File>>();
for (Map.Entry<String, Configuration> configurationEntry : configurationsByName.entrySet()) {
Set<File> files = configurationEntry.getValue().getAllArtifacts().getFiles().getFiles();
artifactsByConfiguration.put(configurationEntry.getKey(), files);
artifactsByConfiguration.put(configurationEntry.getKey(), new LinkedHashSet<File>(files));
}
moduleVersionModel.setArtifactsByConfiguration(artifactsByConfiguration);
@@ -69,8 +69,8 @@ class ScalaModelBuilderImpl implements ModelBuilderService {
ScalaCompile scalaCompile = (ScalaCompile)task
ScalaModelImpl scalaModel = new ScalaModelImpl()
scalaModel.scalaClasspath = scalaCompile.scalaClasspath.files
scalaModel.zincClasspath = scalaCompile.zincClasspath.files
scalaModel.scalaClasspath = new LinkedHashSet<>(scalaCompile.scalaClasspath.files)
scalaModel.zincClasspath = new LinkedHashSet<>(scalaCompile.zincClasspath.files)
scalaModel.scalaCompileOptions = create(scalaCompile.scalaCompileOptions)
scalaModel.targetCompatibility = scalaCompile.targetCompatibility
scalaModel.sourceCompatibility = scalaCompile.sourceCompatibility
@@ -90,7 +90,7 @@ class WarModelBuilderImpl implements ModelBuilderService {
}
}
})
warModel.classpath = warTask.classpath.files
warModel.classpath = new LinkedHashSet<>(warTask.classpath.files)
}
catch (Exception ignore) {
ErrorMessageBuilder builderError = getErrorMessageBuilder(project, ignore)