IDEA-60449 running junit tests in a module with an Android facet should not perform a full Android build

This commit is contained in:
Eugene Kudelevsky
2011-03-05 18:15:38 +03:00
parent 5209907065
commit 412ec6ef3e
4 changed files with 20 additions and 0 deletions
@@ -18,7 +18,10 @@ package org.jetbrains.android.compiler;
import com.intellij.CommonBundle;
import com.intellij.compiler.impl.CompileContextImpl;
import com.intellij.compiler.impl.ModuleCompileScope;
import com.intellij.compiler.options.CompileStepBeforeRun;
import com.intellij.compiler.progress.CompilerTask;
import com.intellij.execution.configurations.RunConfiguration;
import com.intellij.execution.junit.JUnitConfiguration;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.ModalityState;
import com.intellij.openapi.compiler.CompileContext;
@@ -356,4 +359,9 @@ public class AndroidCompileUtil {
}
return ArrayUtil.toStringArray(result);
}
public static boolean isFullBuild(@NotNull CompileContext context) {
RunConfiguration runConfiguration = CompileStepBeforeRun.getRunConfiguration(context);
return !(runConfiguration instanceof JUnitConfiguration);
}
}
@@ -75,6 +75,10 @@ public class AndroidDexCompiler implements ClassPostProcessingCompiler {
@NotNull
public ProcessingItem[] getProcessingItems(CompileContext context) {
if (!AndroidCompileUtil.isFullBuild(context)) {
return ProcessingItem.EMPTY_ARRAY;
}
return ApplicationManager.getApplication().runReadAction(new PrepareAction(context));
}
@@ -94,6 +94,10 @@ public class AndroidPackagingCompiler implements PackagingCompiler {
@NotNull
public ProcessingItem[] getProcessingItems(CompileContext context) {
if (!AndroidCompileUtil.isFullBuild(context)) {
return ProcessingItem.EMPTY_ARRAY;
}
final List<ProcessingItem> items = new ArrayList<ProcessingItem>();
for (Module module : ModuleManager.getInstance(context.getProject()).getModules()) {
AndroidFacet facet = AndroidFacet.getInstance(module);
@@ -42,6 +42,10 @@ public class AndroidResourcesPackagingCompiler implements ClassPostProcessingCom
@NotNull
@Override
public ProcessingItem[] getProcessingItems(CompileContext context) {
if (!AndroidCompileUtil.isFullBuild(context)) {
return ProcessingItem.EMPTY_ARRAY;
}
final List<ProcessingItem> items = new ArrayList<ProcessingItem>();
for (Module module : ModuleManager.getInstance(context.getProject()).getModules()) {
AndroidFacet facet = AndroidFacet.getInstance(module);