| /* |
| * Copyright 2000-2013 JetBrains s.r.o. |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| package org.jetbrains.plugins.gradle.service.project; |
| |
| import com.intellij.execution.ExecutionException; |
| import com.intellij.execution.configurations.SimpleJavaParameters; |
| import com.intellij.externalSystem.JavaProjectData; |
| import com.intellij.openapi.externalSystem.model.DataNode; |
| import com.intellij.openapi.externalSystem.model.ExternalSystemException; |
| import com.intellij.openapi.externalSystem.model.project.ModuleData; |
| import com.intellij.openapi.externalSystem.model.project.ProjectData; |
| import com.intellij.openapi.externalSystem.model.task.TaskData; |
| import com.intellij.openapi.externalSystem.util.ExternalSystemConstants; |
| import com.intellij.openapi.externalSystem.util.Order; |
| import com.intellij.openapi.util.KeyValue; |
| import com.intellij.util.Consumer; |
| import org.gradle.tooling.model.idea.IdeaModule; |
| import org.gradle.tooling.model.idea.IdeaProject; |
| import org.jetbrains.annotations.NotNull; |
| import org.jetbrains.annotations.Nullable; |
| |
| import java.net.URL; |
| import java.util.Collection; |
| import java.util.Collections; |
| import java.util.List; |
| import java.util.Set; |
| |
| /** |
| * {@link org.jetbrains.plugins.gradle.service.project.AbstractProjectResolverExtension} provides dummy implementation of Gradle project resolver. |
| * |
| * @author Vladislav.Soroka |
| * @since 10/14/13 |
| */ |
| @Order(ExternalSystemConstants.UNORDERED) |
| public abstract class AbstractProjectResolverExtension implements GradleProjectResolverExtension { |
| |
| @NotNull protected ProjectResolverContext resolverCtx; |
| @NotNull protected GradleProjectResolverExtension nextResolver; |
| |
| @Override |
| public void setProjectResolverContext(@NotNull ProjectResolverContext projectResolverContext) { |
| resolverCtx = projectResolverContext; |
| } |
| |
| @Override |
| public void setNext(@NotNull GradleProjectResolverExtension next) { |
| // there always should be at least gradle basic resolver further in the chain |
| //noinspection ConstantConditions |
| assert next != null; |
| nextResolver = next; |
| } |
| |
| @Nullable |
| @Override |
| public GradleProjectResolverExtension getNext() { |
| return nextResolver; |
| } |
| |
| @NotNull |
| @Override |
| public ProjectData createProject() { |
| return nextResolver.createProject(); |
| } |
| |
| @NotNull |
| @Override |
| public JavaProjectData createJavaProjectData() { |
| return nextResolver.createJavaProjectData(); |
| } |
| |
| @Override |
| public void populateProjectExtraModels(@NotNull IdeaProject gradleProject, @NotNull DataNode<ProjectData> ideProject) { |
| nextResolver.populateProjectExtraModels(gradleProject, ideProject); |
| } |
| |
| @NotNull |
| @Override |
| public ModuleData createModule(@NotNull IdeaModule gradleModule, @NotNull ProjectData projectData) { |
| return nextResolver.createModule(gradleModule, projectData); |
| } |
| |
| @Override |
| public void populateModuleExtraModels(@NotNull IdeaModule gradleModule, @NotNull DataNode<ModuleData> ideModule) { |
| nextResolver.populateModuleExtraModels(gradleModule, ideModule); |
| } |
| |
| @Override |
| public void populateModuleContentRoots(@NotNull IdeaModule gradleModule, |
| @NotNull DataNode<ModuleData> ideModule) { |
| nextResolver.populateModuleContentRoots(gradleModule, ideModule); |
| } |
| |
| |
| @Override |
| public void populateModuleCompileOutputSettings(@NotNull IdeaModule gradleModule, |
| @NotNull DataNode<ModuleData> ideModule) { |
| nextResolver.populateModuleCompileOutputSettings(gradleModule, ideModule); |
| } |
| |
| @Override |
| public void populateModuleDependencies(@NotNull IdeaModule gradleModule, |
| @NotNull DataNode<ModuleData> ideModule, |
| @NotNull DataNode<ProjectData> ideProject) { |
| nextResolver.populateModuleDependencies(gradleModule, ideModule, ideProject); |
| } |
| |
| @NotNull |
| @Override |
| public Collection<TaskData> populateModuleTasks(@NotNull IdeaModule gradleModule, |
| @NotNull DataNode<ModuleData> ideModule, |
| @NotNull DataNode<ProjectData> ideProject) |
| throws IllegalArgumentException, IllegalStateException { |
| return nextResolver.populateModuleTasks(gradleModule, ideModule, ideProject); |
| } |
| |
| @NotNull |
| @Override |
| public Collection<TaskData> filterRootProjectTasks(@NotNull List<TaskData> allTasks) { |
| return nextResolver.filterRootProjectTasks(allTasks); |
| } |
| |
| @NotNull |
| @Override |
| public Set<Class> getExtraProjectModelClasses() { |
| return Collections.emptySet(); |
| } |
| |
| @NotNull |
| @Override |
| public Set<Class> getToolingExtensionsClasses() { |
| return Collections.emptySet(); |
| } |
| |
| @NotNull |
| @Override |
| public List<KeyValue<String, String>> getExtraJvmArgs() { |
| return Collections.emptyList(); |
| } |
| |
| @NotNull |
| @Override |
| public List<String> getExtraCommandLineArgs() { |
| return Collections.emptyList(); |
| } |
| |
| @NotNull |
| @Override |
| public ExternalSystemException getUserFriendlyError(@NotNull Throwable error, |
| @NotNull String projectPath, |
| @Nullable String buildFilePath) { |
| return nextResolver.getUserFriendlyError(error, projectPath, buildFilePath); |
| } |
| |
| @Override |
| public void enhanceRemoteProcessing(@NotNull SimpleJavaParameters parameters) throws ExecutionException { |
| } |
| |
| @Override |
| public void enhanceLocalProcessing(@NotNull List<URL> urls) { |
| } |
| |
| @Override |
| public void preImportCheck() { |
| } |
| |
| @Override |
| public void enhanceTaskProcessing(@NotNull List<String> taskNames, |
| @Nullable String debuggerSetup, |
| @NotNull Consumer<String> initScriptConsumer) { |
| } |
| } |