mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Gradle: ServiceLoader instance isn't required
This commit is contained in:
+7
-6
@@ -15,6 +15,7 @@
|
||||
*/
|
||||
package org.jetbrains.plugins.gradle.tooling.internal;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
import org.gradle.api.Project;
|
||||
import org.gradle.tooling.provider.model.ToolingModelBuilder;
|
||||
import org.gradle.util.GradleVersion;
|
||||
@@ -25,6 +26,7 @@ import org.jetbrains.plugins.gradle.tooling.ModelBuilderService;
|
||||
import org.jetbrains.plugins.gradle.tooling.annotation.TargetVersions;
|
||||
import org.jetbrains.plugins.gradle.tooling.util.VersionMatcher;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.ServiceLoader;
|
||||
|
||||
/**
|
||||
@@ -33,25 +35,24 @@ import java.util.ServiceLoader;
|
||||
*/
|
||||
@SuppressWarnings("UnusedDeclaration")
|
||||
public class ExtraModelBuilder implements ToolingModelBuilder {
|
||||
|
||||
private ServiceLoader<ModelBuilderService> buildersLoader =
|
||||
ServiceLoader.load(ModelBuilderService.class, ExtraModelBuilder.class.getClassLoader());
|
||||
private final List<ModelBuilderService> modelBuilderServices;
|
||||
|
||||
@NotNull
|
||||
private final GradleVersion myCurrentGradleVersion;
|
||||
|
||||
public ExtraModelBuilder() {
|
||||
this.myCurrentGradleVersion = GradleVersion.current();
|
||||
this(GradleVersion.current());
|
||||
}
|
||||
|
||||
@TestOnly
|
||||
public ExtraModelBuilder(@NotNull GradleVersion gradleVersion) {
|
||||
this.myCurrentGradleVersion = gradleVersion;
|
||||
this.modelBuilderServices = Lists.newArrayList(ServiceLoader.load(ModelBuilderService.class, ExtraModelBuilder.class.getClassLoader()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canBuild(String modelName) {
|
||||
for (ModelBuilderService service : buildersLoader) {
|
||||
for (ModelBuilderService service : modelBuilderServices) {
|
||||
if (service.canBuild(modelName) && isVersionMatch(service)) return true;
|
||||
}
|
||||
return false;
|
||||
@@ -59,7 +60,7 @@ public class ExtraModelBuilder implements ToolingModelBuilder {
|
||||
|
||||
@Override
|
||||
public Object buildAll(String modelName, Project project) {
|
||||
for (ModelBuilderService service : buildersLoader) {
|
||||
for (ModelBuilderService service : modelBuilderServices) {
|
||||
if (service.canBuild(modelName) && isVersionMatch(service)) {
|
||||
final long startTime = System.currentTimeMillis();
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user