Search in sources :

Example 11 with GradleFacet

use of com.android.tools.idea.gradle.project.facet.gradle.GradleFacet in project android by JetBrains.

the class AndroidUnresolvedReferenceQuickFixProvider method registerFixes.

@Override
public void registerFixes(@NotNull PsiJavaCodeReferenceElement reference, @NotNull QuickFixActionRegistrar registrar) {
    Module contextModule = findModuleForPsiElement(reference);
    if (contextModule == null) {
        return;
    }
    GradleFacet gradleFacet = GradleFacet.getInstance(contextModule);
    if (gradleFacet == null) {
        return;
    }
    // Since this is a gradle android project, we need to unregister:
    //  "add jar from web quick fix",
    // since those quick fixes would make the iml file and the gradle file out of sync.
    registrar.unregister(new Condition<IntentionAction>() {

        @Override
        public boolean value(IntentionAction intentionAction) {
            return intentionAction instanceof FindJarFix;
        }
    });
}
Also used : IntentionAction(com.intellij.codeInsight.intention.IntentionAction) GradleFacet(com.android.tools.idea.gradle.project.facet.gradle.GradleFacet) FindJarFix(com.intellij.jarFinder.FindJarFix) Module(com.intellij.openapi.module.Module)

Example 12 with GradleFacet

use of com.android.tools.idea.gradle.project.facet.gradle.GradleFacet in project android by JetBrains.

the class MakeBeforeRunTaskProvider method createAvailableTasks.

private List<String> createAvailableTasks() {
    ModuleManager moduleManager = ModuleManager.getInstance(myProject);
    List<String> gradleTasks = Lists.newArrayList();
    for (Module module : moduleManager.getModules()) {
        GradleFacet facet = GradleFacet.getInstance(module);
        if (facet == null) {
            continue;
        }
        GradleModuleModel gradleModuleModel = facet.getGradleModuleModel();
        if (gradleModuleModel == null) {
            continue;
        }
        gradleTasks.addAll(gradleModuleModel.getTaskNames());
    }
    return gradleTasks;
}
Also used : GradleModuleModel(com.android.tools.idea.gradle.project.model.GradleModuleModel) GradleFacet(com.android.tools.idea.gradle.project.facet.gradle.GradleFacet) ModuleManager(com.intellij.openapi.module.ModuleManager) Module(com.intellij.openapi.module.Module)

Example 13 with GradleFacet

use of com.android.tools.idea.gradle.project.facet.gradle.GradleFacet in project android by JetBrains.

the class WrapArchiveOptionsStep method getContainingModule.

@Nullable
private Module getContainingModule(@NotNull VirtualFile file) {
    Module bestMatch = null;
    if (myProject != null) {
        int bestMatchValue = Integer.MAX_VALUE;
        for (Module module : ModuleManager.getInstance(myProject).getModules()) {
            GradleFacet facet = GradleFacet.getInstance(module);
            if (facet != null) {
                GradleModuleModel gradleModuleModel = facet.getGradleModuleModel();
                assert gradleModuleModel != null;
                VirtualFile buildFile = gradleModuleModel.getBuildFile();
                if (buildFile != null) {
                    VirtualFile root = buildFile.getParent();
                    if (VfsUtilCore.isAncestor(root, file, true)) {
                        String relativePath = VfsUtilCore.getRelativePath(file, root, '/');
                        if (relativePath != null) {
                            int value = Iterables.size(Splitter.on('/').split(relativePath));
                            if (value < bestMatchValue) {
                                bestMatch = module;
                            }
                        }
                    }
                }
            }
        }
    }
    return bestMatch;
}
Also used : GradleModuleModel(com.android.tools.idea.gradle.project.model.GradleModuleModel) VirtualFile(com.intellij.openapi.vfs.VirtualFile) GradleFacet(com.android.tools.idea.gradle.project.facet.gradle.GradleFacet) Module(com.intellij.openapi.module.Module) Nullable(org.jetbrains.annotations.Nullable)

Example 14 with GradleFacet

use of com.android.tools.idea.gradle.project.facet.gradle.GradleFacet in project android by JetBrains.

the class GradleModuleSetup method setUpModule.

public void setUpModule(@NotNull Module module, @NotNull IdeModifiableModelsProvider ideModelsProvider, @NotNull GradleModuleModel model) {
    GradleFacet facet = findFacet(module, ideModelsProvider, GradleFacet.getFacetTypeId());
    if (facet == null) {
        ModifiableFacetModel facetModel = ideModelsProvider.getModifiableFacetModel(module);
        GradleFacetType facetType = GradleFacet.getFacetType();
        facet = facetType.createFacet(module, GradleFacet.getFacetName(), facetType.createDefaultConfiguration(), null);
        facetModel.addFacet(facet);
    }
    facet.setGradleModuleModel(model);
    String gradleVersion = model.getGradleVersion();
    GradleSyncSummary syncReport = GradleSyncState.getInstance(module.getProject()).getSummary();
    if (isNotEmpty(gradleVersion) && syncReport.getGradleVersion() == null) {
        syncReport.setGradleVersion(GradleVersion.parse(gradleVersion));
    }
}
Also used : ModifiableFacetModel(com.intellij.facet.ModifiableFacetModel) GradleFacet(com.android.tools.idea.gradle.project.facet.gradle.GradleFacet) GradleFacetType(com.android.tools.idea.gradle.project.facet.gradle.GradleFacetType) GradleSyncSummary(com.android.tools.idea.gradle.project.sync.GradleSyncSummary)

Example 15 with GradleFacet

use of com.android.tools.idea.gradle.project.facet.gradle.GradleFacet in project android by JetBrains.

the class Projects method storePluginVersionsPerModule.

public static void storePluginVersionsPerModule(@NotNull Project project) {
    Map<String, GradleVersion> pluginVersionsPerModule = Maps.newHashMap();
    for (Module module : ModuleManager.getInstance(project).getModules()) {
        AndroidModuleModel model = AndroidModuleModel.get(module);
        if (model != null) {
            GradleFacet facet = GradleFacet.getInstance(module);
            if (facet != null) {
                GradleVersion modelVersion = model.getModelVersion();
                if (modelVersion != null) {
                    pluginVersionsPerModule.put(facet.getConfiguration().GRADLE_PROJECT_PATH, modelVersion);
                }
            }
        }
    }
    project.putUserData(PLUGIN_VERSIONS_BY_MODULE, pluginVersionsPerModule);
}
Also used : AndroidModuleModel(com.android.tools.idea.gradle.project.model.AndroidModuleModel) GradleFacet(com.android.tools.idea.gradle.project.facet.gradle.GradleFacet) GradleVersion(com.android.ide.common.repository.GradleVersion) Module(com.intellij.openapi.module.Module)

Aggregations

GradleFacet (com.android.tools.idea.gradle.project.facet.gradle.GradleFacet)18 Module (com.intellij.openapi.module.Module)9 GradleModuleModel (com.android.tools.idea.gradle.project.model.GradleModuleModel)7 VirtualFile (com.intellij.openapi.vfs.VirtualFile)6 ModifiableFacetModel (com.intellij.facet.ModifiableFacetModel)4 File (java.io.File)4 AndroidFacet (org.jetbrains.android.facet.AndroidFacet)4 Nullable (org.jetbrains.annotations.Nullable)4 JavaFacet (com.android.tools.idea.gradle.project.facet.java.JavaFacet)3 AndroidModuleModel (com.android.tools.idea.gradle.project.model.AndroidModuleModel)3 FacetManager (com.intellij.facet.FacetManager)3 ModuleManager (com.intellij.openapi.module.ModuleManager)3 VfsUtil.findFileByIoFile (com.intellij.openapi.vfs.VfsUtil.findFileByIoFile)3 VisibleForTesting (com.android.annotations.VisibleForTesting)2 GradleVersion (com.android.ide.common.repository.GradleVersion)2 NdkModuleModel (com.android.tools.idea.gradle.project.model.NdkModuleModel)2 VfsUtilCore.virtualToIoFile (com.intellij.openapi.vfs.VfsUtilCore.virtualToIoFile)2 BaseArtifact (com.android.builder.model.BaseArtifact)1 GradleFacetType (com.android.tools.idea.gradle.project.facet.gradle.GradleFacetType)1 JavaFacetConfiguration (com.android.tools.idea.gradle.project.facet.java.JavaFacetConfiguration)1