Skip to content

Commit 9ecca14

Browse files
authored
Avoid stream() on org.gradle.api.artifacts.Configuration.getDependencies (#379)
* Avoid `stream()` on `org.gradle.api.artifacts.Configuration.getDependencies` - Pending gradle/gradle#33152 - Fixes #378 * Also add rewrite-toml to known modules
1 parent 84940bf commit 9ecca14

File tree

1 file changed

+9
-11
lines changed

1 file changed

+9
-11
lines changed

plugin/src/main/java/org/openrewrite/gradle/RewritePlugin.java

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,7 @@
3535
import org.jspecify.annotations.Nullable;
3636

3737
import java.io.File;
38-
import java.util.Comparator;
39-
import java.util.HashSet;
40-
import java.util.Set;
41-
import java.util.stream.Stream;
38+
import java.util.*;
4239

4340
import static org.gradle.api.attributes.Bundling.BUNDLING_ATTRIBUTE;
4441
import static org.gradle.api.attributes.java.TargetJvmEnvironment.TARGET_JVM_ENVIRONMENT_ATTRIBUTE;
@@ -155,14 +152,14 @@ private static void configureProject(Project project, RewriteExtension extension
155152

156153
private Set<File> getResolvedDependencies(Project project, RewriteExtension extension, Configuration rewriteConf) {
157154
if (resolvedDependencies == null) {
158-
Dependency[] dependencies = Stream.concat(
159-
knownRewriteDependencies(extension, project.getDependencies()),
160-
rewriteConf.getDependencies().stream()
161-
).toArray(Dependency[]::new);
155+
// Avoid Stream.concat here pending https://github.com/gradle/gradle/issues/33152
156+
List<Dependency> dependencies = new ArrayList<>();
157+
dependencies.addAll(knownRewriteDependencies(extension, project.getDependencies()));
158+
dependencies.addAll(rewriteConf.getDependencies());
162159
// By using a detached configuration, we separate this dependency resolution from the rest of the project's
163160
// configuration. This also means that Gradle has no criteria with which to select between variants of
164161
// dependencies which expose differing capabilities. So those must be manually configured
165-
Configuration detachedConf = project.getConfigurations().detachedConfiguration(dependencies);
162+
Configuration detachedConf = project.getConfigurations().detachedConfiguration(dependencies.toArray(new Dependency[0]));
166163

167164
try {
168165
ObjectFactory objectFactory = project.getObjects();
@@ -189,9 +186,9 @@ private Set<File> getResolvedDependencies(Project project, RewriteExtension exte
189186
return resolvedDependencies;
190187
}
191188

192-
private static Stream<Dependency> knownRewriteDependencies(RewriteExtension extension, DependencyHandler deps) {
189+
private static Collection<Dependency> knownRewriteDependencies(RewriteExtension extension, DependencyHandler deps) {
193190
String rewriteVersion = extension.getRewriteVersion();
194-
return Stream.of(
191+
return Arrays.asList(
195192
deps.create("org.openrewrite:rewrite-core:" + rewriteVersion),
196193
deps.create("org.openrewrite:rewrite-groovy:" + rewriteVersion),
197194
deps.create("org.openrewrite:rewrite-gradle:" + rewriteVersion),
@@ -206,6 +203,7 @@ private static Stream<Dependency> knownRewriteDependencies(RewriteExtension exte
206203
deps.create("org.openrewrite:rewrite-maven:" + rewriteVersion),
207204
deps.create("org.openrewrite:rewrite-properties:" + rewriteVersion),
208205
deps.create("org.openrewrite:rewrite-protobuf:" + rewriteVersion),
206+
deps.create("org.openrewrite:rewrite-toml:" + rewriteVersion),
209207
deps.create("org.openrewrite:rewrite-xml:" + rewriteVersion),
210208
deps.create("org.openrewrite:rewrite-yaml:" + rewriteVersion),
211209
deps.create("org.openrewrite:rewrite-polyglot:" + extension.getRewritePolyglotVersion()),

0 commit comments

Comments
 (0)