use of com.intellij.compiler.impl.CompositeScope in project android by JetBrains.
the class AndroidGradleBuildTargetScopeProvider method getBuildTargetScopes.
@Override
@NotNull
public List<TargetTypeBuildScope> getBuildTargetScopes(@NotNull CompileScope baseScope, @NotNull CompilerFilter filter, @NotNull Project project, boolean forceBuild) {
if (!AndroidProjectInfo.getInstance(project).requiresAndroidModel()) {
return Collections.emptyList();
}
BuildSettings buildSettings = BuildSettings.getInstance(project);
String runConfigurationTypeId = baseScope.getUserData(CompilerManager.RUN_CONFIGURATION_TYPE_ID_KEY);
buildSettings.setRunConfigurationTypeId(runConfigurationTypeId);
if (baseScope instanceof ProjectCompileScope) {
// Make or Rebuild project
BuildMode buildMode = forceBuild ? BuildMode.REBUILD : BuildMode.ASSEMBLE;
if (buildSettings.getBuildMode() == null) {
buildSettings.setBuildMode(buildMode);
}
Module[] modulesToBuild = ModuleManager.getInstance(project).getModules();
buildSettings.setModulesToBuild(modulesToBuild);
} else if (baseScope instanceof ModuleCompileScope) {
String userDataString = ((ModuleCompileScope) baseScope).getUserDataString();
Module[] modulesToBuild;
if (userDataString.contains("RUN_CONFIGURATION")) {
// Triggered by a "Run Configuration"
modulesToBuild = baseScope.getAffectedModules();
} else {
// Triggered by menu item.
// Make selected modules
modulesToBuild = Projects.getModulesToBuildFromSelection(project, null);
}
buildSettings.setModulesToBuild(modulesToBuild);
buildSettings.setBuildMode(BuildMode.ASSEMBLE);
} else if (baseScope instanceof CompositeScope) {
// Compile selected modules
buildSettings.setModulesToBuild(Projects.getModulesToBuildFromSelection(project, null));
buildSettings.setBuildMode(BuildMode.COMPILE_JAVA);
}
TargetTypeBuildScope scope = CmdlineProtoUtil.createTargetsScope(AndroidGradleBuildTargetConstants.TARGET_TYPE_ID, Collections.singletonList(AndroidGradleBuildTargetConstants.TARGET_ID), forceBuild);
return Collections.singletonList(scope);
}
Aggregations