diff --git a/plugins/android/src/org/jetbrains/android/compiler/AndroidPrecompileTask.java b/plugins/android/src/org/jetbrains/android/compiler/AndroidPrecompileTask.java index 066b34bed60a..72bf24cf8349 100644 --- a/plugins/android/src/org/jetbrains/android/compiler/AndroidPrecompileTask.java +++ b/plugins/android/src/org/jetbrains/android/compiler/AndroidPrecompileTask.java @@ -19,6 +19,7 @@ import com.intellij.compiler.CompilerConfiguration; import com.intellij.compiler.CompilerConfigurationImpl; import com.intellij.compiler.CompilerWorkspaceConfiguration; import com.intellij.compiler.options.CompileStepBeforeRun; +import com.intellij.compiler.server.BuildManager; import com.intellij.facet.ProjectFacetManager; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.application.ModalityState; @@ -72,6 +73,11 @@ public class AndroidPrecompileTask implements CompileTask { public boolean execute(CompileContext context) { final Project project = context.getProject(); + if (!ProjectFacetManager.getInstance(project).hasFacets(AndroidFacet.ID)) { + return true; + } + BuildManager.forceModelLoading(context); + // in out-of-process mode gen roots will be excluded by AndroidExcludedJavaSourceRootProvider // we do it here for internal mode and also to make there roots 'visibly excluded' in IDE settings createGenModulesAndSourceRoots(project); @@ -149,9 +155,6 @@ public class AndroidPrecompileTask implements CompileTask { private static boolean checkArtifacts(@NotNull CompileContext context) { final Project project = context.getProject(); - if (!ProjectFacetManager.getInstance(project).hasFacets(AndroidFacet.ID)) { - return true; - } final CompileScope scope = context.getCompileScope(); final Set artifacts = ApplicationManager.getApplication().runReadAction(new Computable>() {