Search in sources :

Example 31 with TargetIdeInfo

use of com.google.idea.blaze.base.ideinfo.TargetIdeInfo in project intellij by bazelbuild.

the class BlazeAndroidWorkspaceImporter method createAarLibraries.

private ImmutableList<AarLibrary> createAarLibraries(Iterable<TargetIdeInfo> libraryTargets) {
    ImmutableList.Builder<AarLibrary> builder = ImmutableList.builder();
    for (TargetIdeInfo target : libraryTargets) {
        // don't have the equivalent of jdeps data.
        if (target.androidAarIdeInfo == null || target.javaIdeInfo == null || target.javaIdeInfo.jars.isEmpty()) {
            continue;
        }
        // aar_import should only have one jar (a merged jar from the AAR's jars).
        LibraryArtifact firstJar = target.javaIdeInfo.jars.iterator().next();
        builder.add(new AarLibrary(firstJar, target.androidAarIdeInfo.aar));
    }
    return builder.build();
}
Also used : TargetIdeInfo(com.google.idea.blaze.base.ideinfo.TargetIdeInfo) AarLibrary(com.google.idea.blaze.android.sync.model.AarLibrary) ImmutableList(com.google.common.collect.ImmutableList) LibraryArtifact(com.google.idea.blaze.base.ideinfo.LibraryArtifact)

Example 32 with TargetIdeInfo

use of com.google.idea.blaze.base.ideinfo.TargetIdeInfo in project intellij by bazelbuild.

the class BlazeAndroidWorkspaceImporter method importWorkspace.

public BlazeAndroidImportResult importWorkspace() {
    List<TargetIdeInfo> sourceTargets = targetMap.targets().stream().filter(target -> target.kind.languageClass == LanguageClass.ANDROID).filter(target -> target.androidIdeInfo != null).filter(importFilter::isSourceTarget).filter(target -> !importFilter.excludeTarget(target)).collect(Collectors.toList());
    TransitiveResourceMap transitiveResourceMap = new TransitiveResourceMap(targetMap);
    WorkspaceBuilder workspaceBuilder = new WorkspaceBuilder();
    for (TargetIdeInfo target : sourceTargets) {
        addSourceTarget(workspaceBuilder, transitiveResourceMap, target);
    }
    GeneratedResourceWarnings.submit(project, context, projectViewSet, artifactLocationDecoder, workspaceBuilder.generatedResourceLocations, whitelistedGenResourcePaths);
    ImmutableList<AndroidResourceModule> androidResourceModules = buildAndroidResourceModules(workspaceBuilder);
    BlazeResourceLibrary resourceLibrary = createResourceLibrary(androidResourceModules);
    ImmutableList<AarLibrary> aarLibraries = createAarLibraries(sourceFilter.getLibraryTargets());
    return new BlazeAndroidImportResult(androidResourceModules, resourceLibrary, aarLibraries, getJavacJar(targetMap.targets()));
}
Also used : TargetIdeInfo(com.google.idea.blaze.base.ideinfo.TargetIdeInfo) ArrayListMultimap(com.google.common.collect.ArrayListMultimap) BlazeContext(com.google.idea.blaze.base.scope.BlazeContext) GeneratedAndroidResourcesSection(com.google.idea.blaze.android.projectview.GeneratedAndroidResourcesSection) LibraryArtifact(com.google.idea.blaze.base.ideinfo.LibraryArtifact) Multimap(com.google.common.collect.Multimap) BlazeResourceLibrary(com.google.idea.blaze.android.sync.model.BlazeResourceLibrary) AndroidIdeInfo(com.google.idea.blaze.base.ideinfo.AndroidIdeInfo) Kind(com.google.idea.blaze.base.model.primitives.Kind) Lists(com.google.common.collect.Lists) ImmutableList(com.google.common.collect.ImmutableList) AarLibrary(com.google.idea.blaze.android.sync.model.AarLibrary) IssueOutput(com.google.idea.blaze.base.scope.output.IssueOutput) TargetIdeInfo(com.google.idea.blaze.base.ideinfo.TargetIdeInfo) Project(com.intellij.openapi.project.Project) TransitiveResourceMap(com.google.idea.blaze.android.sync.importer.aggregators.TransitiveResourceMap) ProjectViewTargetImportFilter(com.google.idea.blaze.base.sync.projectview.ProjectViewTargetImportFilter) LanguageClass(com.google.idea.blaze.base.model.primitives.LanguageClass) PerformanceWarning(com.google.idea.blaze.base.scope.output.PerformanceWarning) JavaSourceFilter(com.google.idea.blaze.java.sync.importer.JavaSourceFilter) ImmutableSet(com.google.common.collect.ImmutableSet) AndroidResourceModule(com.google.idea.blaze.android.sync.model.AndroidResourceModule) ArtifactLocation(com.google.idea.blaze.base.ideinfo.ArtifactLocation) Collection(java.util.Collection) Set(java.util.Set) ComparisonChain(com.google.common.collect.ComparisonChain) Collectors(java.util.stream.Collectors) Sets(com.google.common.collect.Sets) BlazeAndroidImportResult(com.google.idea.blaze.android.sync.model.BlazeAndroidImportResult) Objects(java.util.Objects) Nullable(org.jetbrains.annotations.Nullable) GeneratedResourceWarnings(com.google.idea.blaze.android.sync.importer.problems.GeneratedResourceWarnings) List(java.util.List) Stream(java.util.stream.Stream) ProjectViewSet(com.google.idea.blaze.base.projectview.ProjectViewSet) WorkspaceRoot(com.google.idea.blaze.base.model.primitives.WorkspaceRoot) TargetKey(com.google.idea.blaze.base.ideinfo.TargetKey) ArtifactLocationDecoder(com.google.idea.blaze.base.sync.workspace.ArtifactLocationDecoder) Collections(java.util.Collections) TargetMap(com.google.idea.blaze.base.ideinfo.TargetMap) AarLibrary(com.google.idea.blaze.android.sync.model.AarLibrary) AndroidResourceModule(com.google.idea.blaze.android.sync.model.AndroidResourceModule) BlazeAndroidImportResult(com.google.idea.blaze.android.sync.model.BlazeAndroidImportResult) TransitiveResourceMap(com.google.idea.blaze.android.sync.importer.aggregators.TransitiveResourceMap) BlazeResourceLibrary(com.google.idea.blaze.android.sync.model.BlazeResourceLibrary)

Example 33 with TargetIdeInfo

use of com.google.idea.blaze.base.ideinfo.TargetIdeInfo in project intellij by bazelbuild.

the class BlazeAndroidProjectStructureSyncer method updateInMemoryState.

private static void updateInMemoryState(Project project, WorkspaceRoot workspaceRoot, ProjectViewSet projectViewSet, BlazeProjectData blazeProjectData, Module workspaceModule, AndroidResourceModuleRegistry registry, LightResourceClassService.Builder rClassBuilder) {
    BlazeAndroidSyncData syncData = blazeProjectData.syncState.get(BlazeAndroidSyncData.class);
    if (syncData == null) {
        return;
    }
    AndroidSdkPlatform androidSdkPlatform = syncData.androidSdkPlatform;
    if (androidSdkPlatform == null) {
        return;
    }
    updateWorkspaceModuleFacetInMemoryState(project, workspaceRoot, workspaceModule, androidSdkPlatform);
    ArtifactLocationDecoder artifactLocationDecoder = blazeProjectData.artifactLocationDecoder;
    ModuleFinder moduleFinder = ModuleFinder.getInstance(project);
    Executor resourceRepositoryExecutor = Executors.newSingleThreadExecutor();
    Module libraryResourcesModule = moduleFinder.findModuleByName(LIBRARY_RESOURCES_MODULE_NAME);
    if (libraryResourcesModule != null) {
        updateLibraryResourcesModuleFacetInMemoryState(project, workspaceRoot, libraryResourcesModule, androidSdkPlatform, syncData.importResult.resourceLibrary == null ? ImmutableList.of() : artifactLocationDecoder.decodeAll(syncData.importResult.resourceLibrary.sources), resourceRepositoryExecutor);
    } else if (useLibraryResourcesModule.getValue()) {
        logger.warn("Library resources module missing.");
    }
    for (AndroidResourceModule androidResourceModule : syncData.importResult.androidResourceModules) {
        TargetIdeInfo target = blazeProjectData.targetMap.get(androidResourceModule.targetKey);
        String moduleName = moduleNameForAndroidModule(target.key);
        Module module = moduleFinder.findModuleByName(moduleName);
        if (module == null) {
            logger.warn("No module found for resource target: " + target.key);
            continue;
        }
        registry.put(module, androidResourceModule);
        AndroidIdeInfo androidIdeInfo = target.androidIdeInfo;
        assert androidIdeInfo != null;
        updateModuleFacetInMemoryState(project, androidSdkPlatform, module, moduleDirectoryForAndroidTarget(workspaceRoot, target), manifestFileForAndroidTarget(artifactLocationDecoder, androidIdeInfo, moduleDirectoryForAndroidTarget(workspaceRoot, target)), androidIdeInfo.resourceJavaPackage, artifactLocationDecoder.decodeAll(useLibraryResourcesModule.getValue() ? androidResourceModule.resources : androidResourceModule.transitiveResources), resourceRepositoryExecutor);
        rClassBuilder.addRClass(androidIdeInfo.resourceJavaPackage, module);
    }
    Set<TargetKey> androidResourceModules = syncData.importResult.androidResourceModules.stream().map(androidResourceModule -> androidResourceModule.targetKey).collect(toSet());
    List<TargetIdeInfo> runConfigurationTargets = getRunConfigurationTargets(project, projectViewSet, blazeProjectData, androidResourceModules);
    for (TargetIdeInfo target : runConfigurationTargets) {
        String moduleName = moduleNameForAndroidModule(target.key);
        Module module = moduleFinder.findModuleByName(moduleName);
        if (module == null) {
            logger.warn("No module found for run configuration target: " + target.key);
            continue;
        }
        AndroidIdeInfo androidIdeInfo = target.androidIdeInfo;
        assert androidIdeInfo != null;
        updateModuleFacetInMemoryState(project, androidSdkPlatform, module, moduleDirectoryForAndroidTarget(workspaceRoot, target), manifestFileForAndroidTarget(artifactLocationDecoder, androidIdeInfo, moduleDirectoryForAndroidTarget(workspaceRoot, target)), androidIdeInfo.resourceJavaPackage, ImmutableList.of(), null);
    }
}
Also used : SdkUtil(com.google.idea.blaze.android.sync.sdk.SdkUtil) GeneratedAndroidResourcesSection(com.google.idea.blaze.android.projectview.GeneratedAndroidResourcesSection) ModuleFinder(com.google.idea.blaze.base.sync.projectstructure.ModuleFinder) LightResourceClassService(com.google.idea.blaze.android.resources.LightResourceClassService) BlazeProjectData(com.google.idea.blaze.base.model.BlazeProjectData) ModuleOrderEntry(com.intellij.openapi.roots.ModuleOrderEntry) ModifiableRootModel(com.intellij.openapi.roots.ModifiableRootModel) Map(java.util.Map) TargetExpression(com.google.idea.blaze.base.model.primitives.TargetExpression) MultiResourceRepository(com.android.tools.idea.res.MultiResourceRepository) Logger(com.intellij.openapi.diagnostic.Logger) Module(com.intellij.openapi.module.Module) Collectors.toSet(java.util.stream.Collectors.toSet) AndroidResourceModuleRegistry(com.google.idea.blaze.android.sync.model.AndroidResourceModuleRegistry) DumbService(com.intellij.openapi.project.DumbService) AndroidResourceModule(com.google.idea.blaze.android.sync.model.AndroidResourceModule) StdModuleTypes(com.intellij.openapi.module.StdModuleTypes) Collection(java.util.Collection) Set(java.util.Set) PrintOutput(com.google.idea.blaze.base.scope.output.PrintOutput) Sets(com.google.common.collect.Sets) BlazeProjectDataManager(com.google.idea.blaze.base.sync.data.BlazeProjectDataManager) Executors(java.util.concurrent.Executors) TargetSection(com.google.idea.blaze.base.projectview.section.sections.TargetSection) SourceProviderImpl(com.google.idea.blaze.android.sync.model.idea.SourceProviderImpl) List(java.util.List) ProjectViewSet(com.google.idea.blaze.base.projectview.ProjectViewSet) WorkspaceRoot(com.google.idea.blaze.base.model.primitives.WorkspaceRoot) ApplicationManager(com.intellij.openapi.application.ApplicationManager) TargetKey(com.google.idea.blaze.base.ideinfo.TargetKey) ArtifactLocationDecoder(com.google.idea.blaze.base.sync.workspace.ArtifactLocationDecoder) BlazeAndroidSyncData(com.google.idea.blaze.android.sync.model.BlazeAndroidSyncData) BlazeContext(com.google.idea.blaze.base.scope.BlazeContext) RunConfiguration(com.intellij.execution.configurations.RunConfiguration) ModuleResourceRepository(com.android.tools.idea.res.ModuleResourceRepository) AndroidSdkPlatform(com.google.idea.blaze.android.sync.model.AndroidSdkPlatform) AndroidIdeInfo(com.google.idea.blaze.base.ideinfo.AndroidIdeInfo) Kind(com.google.idea.blaze.base.model.primitives.Kind) Lists(com.google.common.collect.Lists) ImmutableList(com.google.common.collect.ImmutableList) BoolExperiment(com.google.idea.common.experiments.BoolExperiment) ModuleEditorProvider(com.google.idea.blaze.base.sync.projectstructure.ModuleEditorProvider) RunManager(com.intellij.execution.RunManager) TargetIdeInfo(com.google.idea.blaze.base.ideinfo.TargetIdeInfo) Project(com.intellij.openapi.project.Project) SourceProvider(com.android.builder.model.SourceProvider) Nullable(javax.annotation.Nullable) BlazeSyncPlugin(com.google.idea.blaze.base.sync.BlazeSyncPlugin) ArtifactLocation(com.google.idea.blaze.base.ideinfo.ArtifactLocation) BlazeAndroidRunConfigurationHandler(com.google.idea.blaze.android.run.BlazeAndroidRunConfigurationHandler) Executor(java.util.concurrent.Executor) BlazeImportSettingsManager(com.google.idea.blaze.base.settings.BlazeImportSettingsManager) AndroidFacet(org.jetbrains.android.facet.AndroidFacet) Maps(com.google.common.collect.Maps) File(java.io.File) BlazeAndroidModel(com.google.idea.blaze.android.sync.model.idea.BlazeAndroidModel) Label(com.google.idea.blaze.base.model.primitives.Label) ModuleFinder(com.google.idea.blaze.base.sync.projectstructure.ModuleFinder) AndroidResourceModule(com.google.idea.blaze.android.sync.model.AndroidResourceModule) TargetIdeInfo(com.google.idea.blaze.base.ideinfo.TargetIdeInfo) AndroidSdkPlatform(com.google.idea.blaze.android.sync.model.AndroidSdkPlatform) Executor(java.util.concurrent.Executor) ArtifactLocationDecoder(com.google.idea.blaze.base.sync.workspace.ArtifactLocationDecoder) TargetKey(com.google.idea.blaze.base.ideinfo.TargetKey) BlazeAndroidSyncData(com.google.idea.blaze.android.sync.model.BlazeAndroidSyncData) Module(com.intellij.openapi.module.Module) AndroidResourceModule(com.google.idea.blaze.android.sync.model.AndroidResourceModule) AndroidIdeInfo(com.google.idea.blaze.base.ideinfo.AndroidIdeInfo)

Example 34 with TargetIdeInfo

use of com.google.idea.blaze.base.ideinfo.TargetIdeInfo in project intellij by bazelbuild.

the class BlazeAndroidProjectStructureSyncer method updateProjectStructure.

public static void updateProjectStructure(Project project, BlazeContext context, ProjectViewSet projectViewSet, BlazeProjectData blazeProjectData, BlazeSyncPlugin.ModuleEditor moduleEditor, Module workspaceModule, ModifiableRootModel workspaceModifiableModel, boolean isAndroidWorkspace) {
    if (!isAndroidWorkspace) {
        AndroidFacetModuleCustomizer.removeAndroidFacet(workspaceModule);
        return;
    }
    BlazeAndroidSyncData syncData = blazeProjectData.syncState.get(BlazeAndroidSyncData.class);
    if (syncData == null) {
        return;
    }
    AndroidSdkPlatform androidSdkPlatform = syncData.androidSdkPlatform;
    if (androidSdkPlatform == null) {
        return;
    }
    // Configure workspace module as an android module
    AndroidFacetModuleCustomizer.createAndroidFacet(workspaceModule);
    Module libraryResourcesModule = null;
    if (useLibraryResourcesModule.getValue()) {
        libraryResourcesModule = moduleEditor.createModule(LIBRARY_RESOURCES_MODULE_NAME, StdModuleTypes.JAVA);
        AndroidFacetModuleCustomizer.createAndroidFacet(libraryResourcesModule);
    }
    // Create android resource modules
    // Because we're setting up dependencies, the modules have to exist before we configure them
    Map<TargetKey, AndroidResourceModule> targetToAndroidResourceModule = Maps.newHashMap();
    for (AndroidResourceModule androidResourceModule : syncData.importResult.androidResourceModules) {
        targetToAndroidResourceModule.put(androidResourceModule.targetKey, androidResourceModule);
        String moduleName = moduleNameForAndroidModule(androidResourceModule.targetKey);
        Module module = moduleEditor.createModule(moduleName, StdModuleTypes.JAVA);
        AndroidFacetModuleCustomizer.createAndroidFacet(module);
    }
    // Configure android resource modules
    int totalOrderEntries = 0;
    Set<File> existingRoots = Sets.newHashSet();
    for (AndroidResourceModule androidResourceModule : targetToAndroidResourceModule.values()) {
        TargetIdeInfo target = blazeProjectData.targetMap.get(androidResourceModule.targetKey);
        AndroidIdeInfo androidIdeInfo = target.androidIdeInfo;
        assert androidIdeInfo != null;
        String moduleName = moduleNameForAndroidModule(target.key);
        Module module = moduleEditor.findModule(moduleName);
        assert module != null;
        ModifiableRootModel modifiableRootModel = moduleEditor.editModule(module);
        Collection<File> resources = blazeProjectData.artifactLocationDecoder.decodeAll(androidResourceModule.resources);
        if (useCyclicResourceDependency.getValue()) {
            // Remove existing resource roots to silence the duplicate content root error.
            // We can only do this if we have cyclic resource dependencies, since otherwise we risk
            // breaking dependencies within this resource module.
            resources.removeAll(existingRoots);
            existingRoots.addAll(resources);
        }
        ResourceModuleContentRootCustomizer.setupContentRoots(modifiableRootModel, resources);
        if (useCyclicResourceDependency.getValue()) {
            modifiableRootModel.addModuleOrderEntry(workspaceModule);
            ++totalOrderEntries;
        } else {
            for (TargetKey resourceDependency : androidResourceModule.transitiveResourceDependencies) {
                if (!targetToAndroidResourceModule.containsKey(resourceDependency)) {
                    continue;
                }
                String dependencyModuleName = moduleNameForAndroidModule(resourceDependency);
                Module dependency = moduleEditor.findModule(dependencyModuleName);
                if (dependency == null) {
                    continue;
                }
                modifiableRootModel.addModuleOrderEntry(dependency);
                ++totalOrderEntries;
            }
        }
        if (libraryResourcesModule != null) {
            // Add a dependency from the resource module to the shared library resources module
            modifiableRootModel.addModuleOrderEntry(libraryResourcesModule);
            ++totalOrderEntries;
        }
        // Add a dependency from the workspace to the resource module
        ModuleOrderEntry orderEntry = workspaceModifiableModel.addModuleOrderEntry(module);
        ++totalOrderEntries;
        if (useCyclicResourceDependency.getValue()) {
            orderEntry.setExported(true);
        }
    }
    List<TargetIdeInfo> runConfigurationTargets = getRunConfigurationTargets(project, projectViewSet, blazeProjectData, targetToAndroidResourceModule.keySet());
    for (TargetIdeInfo target : runConfigurationTargets) {
        TargetKey targetKey = target.key;
        String moduleName = moduleNameForAndroidModule(targetKey);
        Module module = moduleEditor.createModule(moduleName, StdModuleTypes.JAVA);
        AndroidFacetModuleCustomizer.createAndroidFacet(module);
    }
    int whitelistedGenResources = projectViewSet.listItems(GeneratedAndroidResourcesSection.KEY).size();
    context.output(PrintOutput.log(String.format("Android resource module count: %d, run config modules: %d, order entries: %d, " + "generated resources: %d", syncData.importResult.androidResourceModules.size(), runConfigurationTargets.size(), totalOrderEntries, whitelistedGenResources)));
}
Also used : AndroidResourceModule(com.google.idea.blaze.android.sync.model.AndroidResourceModule) TargetIdeInfo(com.google.idea.blaze.base.ideinfo.TargetIdeInfo) ModifiableRootModel(com.intellij.openapi.roots.ModifiableRootModel) AndroidSdkPlatform(com.google.idea.blaze.android.sync.model.AndroidSdkPlatform) ModuleOrderEntry(com.intellij.openapi.roots.ModuleOrderEntry) TargetKey(com.google.idea.blaze.base.ideinfo.TargetKey) BlazeAndroidSyncData(com.google.idea.blaze.android.sync.model.BlazeAndroidSyncData) Module(com.intellij.openapi.module.Module) AndroidResourceModule(com.google.idea.blaze.android.sync.model.AndroidResourceModule) AndroidIdeInfo(com.google.idea.blaze.base.ideinfo.AndroidIdeInfo) File(java.io.File)

Example 35 with TargetIdeInfo

use of com.google.idea.blaze.base.ideinfo.TargetIdeInfo in project intellij by bazelbuild.

the class TransitiveDependencyMap method getTransitiveDependencies.

public static ImmutableCollection<TargetKey> getTransitiveDependencies(Collection<TargetKey> targetKeys, TargetMap targetMap) {
    Queue<TargetKey> targetsToVisit = Queues.newArrayDeque();
    Set<TargetKey> transitiveDependencies = Sets.newHashSet();
    targetsToVisit.addAll(targetKeys);
    while (!targetsToVisit.isEmpty()) {
        TargetIdeInfo currentTarget = targetMap.get(targetsToVisit.remove());
        if (currentTarget == null) {
            continue;
        }
        List<TargetKey> newDependencies = currentTarget.dependencies.stream().map(d -> TargetKey.forPlainTarget(d.targetKey.label)).filter(r -> !transitiveDependencies.contains(r)).collect(Collectors.toList());
        targetsToVisit.addAll(newDependencies);
        transitiveDependencies.addAll(newDependencies);
    }
    return ImmutableSet.copyOf(transitiveDependencies);
}
Also used : TargetIdeInfo(com.google.idea.blaze.base.ideinfo.TargetIdeInfo) ImmutableSet(com.google.common.collect.ImmutableSet) Collection(java.util.Collection) ImmutableCollection(com.google.common.collect.ImmutableCollection) Set(java.util.Set) Collectors(java.util.stream.Collectors) Sets(com.google.common.collect.Sets) BlazeProjectDataManager(com.google.idea.blaze.base.sync.data.BlazeProjectDataManager) Queues(com.google.common.collect.Queues) BlazeProjectData(com.google.idea.blaze.base.model.BlazeProjectData) List(java.util.List) ServiceManager(com.intellij.openapi.components.ServiceManager) ImmutableList(com.google.common.collect.ImmutableList) TargetIdeInfo(com.google.idea.blaze.base.ideinfo.TargetIdeInfo) Project(com.intellij.openapi.project.Project) TargetKey(com.google.idea.blaze.base.ideinfo.TargetKey) Queue(java.util.Queue) TargetMap(com.google.idea.blaze.base.ideinfo.TargetMap) TargetKey(com.google.idea.blaze.base.ideinfo.TargetKey)

Aggregations

TargetIdeInfo (com.google.idea.blaze.base.ideinfo.TargetIdeInfo)57 TargetKey (com.google.idea.blaze.base.ideinfo.TargetKey)28 File (java.io.File)20 BlazeProjectData (com.google.idea.blaze.base.model.BlazeProjectData)19 Nullable (javax.annotation.Nullable)16 Kind (com.google.idea.blaze.base.model.primitives.Kind)15 ImmutableList (com.google.common.collect.ImmutableList)14 ArtifactLocation (com.google.idea.blaze.base.ideinfo.ArtifactLocation)14 TargetMap (com.google.idea.blaze.base.ideinfo.TargetMap)14 ArtifactLocationDecoder (com.google.idea.blaze.base.sync.workspace.ArtifactLocationDecoder)14 Project (com.intellij.openapi.project.Project)14 List (java.util.List)12 LibraryArtifact (com.google.idea.blaze.base.ideinfo.LibraryArtifact)11 ProjectViewSet (com.google.idea.blaze.base.projectview.ProjectViewSet)11 LanguageClass (com.google.idea.blaze.base.model.primitives.LanguageClass)10 BlazeCommandRunConfigurationCommonState (com.google.idea.blaze.base.run.state.BlazeCommandRunConfigurationCommonState)10 Collection (java.util.Collection)10 AndroidIdeInfo (com.google.idea.blaze.base.ideinfo.AndroidIdeInfo)9 BlazeJarLibrary (com.google.idea.blaze.java.sync.model.BlazeJarLibrary)9 Set (java.util.Set)9