diff --git a/java/compiler/impl/src/com/intellij/compiler/actions/GenerateAntBuildAction.java b/java/compiler/impl/src/com/intellij/compiler/actions/GenerateAntBuildAction.java index f890d6c1b5cf..c806062c518c 100644 --- a/java/compiler/impl/src/com/intellij/compiler/actions/GenerateAntBuildAction.java +++ b/java/compiler/impl/src/com/intellij/compiler/actions/GenerateAntBuildAction.java @@ -12,6 +12,7 @@ import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.compiler.CompilerBundle; import com.intellij.openapi.progress.ProgressIndicator; import com.intellij.openapi.progress.Task; +import com.intellij.openapi.progress.ProgressManager; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.Messages; import com.intellij.openapi.util.io.FileUtil; @@ -34,13 +35,20 @@ public class GenerateAntBuildAction extends CompileActionBase { dialog.show(); if (dialog.isOK()) { final String[] names = dialog.getRepresentativeModuleNames(); - final GenerationOptionsImpl genOptions = - new GenerationOptionsImpl(project, dialog.isGenerateSingleFileBuild(), dialog.isFormsCompilationEnabled(), dialog.isBackupFiles(), - dialog.isForceTargetJdk(), dialog.isRuntimeClasspathInlined(), dialog.isIdeaHomeGenerated(), names); - if (!validateGenOptions(project, genOptions)) { + final GenerationOptionsImpl[] genOptions = {null}; + Runnable runnable = new Runnable() { + public void run() { + genOptions[0] = new GenerationOptionsImpl(project, dialog.isGenerateSingleFileBuild(), dialog.isFormsCompilationEnabled(), dialog.isBackupFiles(), + dialog.isForceTargetJdk(), dialog.isRuntimeClasspathInlined(), dialog.isIdeaHomeGenerated(), names); + } + }; + if (!ProgressManager.getInstance().runProcessWithProgressSynchronously(runnable, "Analyzing project structure...", true, project)) { return; } - generate(project, genOptions); + if (!validateGenOptions(project, genOptions[0])) { + return; + } + generate(project, genOptions[0]); } } diff --git a/java/compiler/impl/src/com/intellij/compiler/ant/BuildTargetsFactoryImpl.java b/java/compiler/impl/src/com/intellij/compiler/ant/BuildTargetsFactoryImpl.java index 863bbb65a619..9ab187270d8f 100644 --- a/java/compiler/impl/src/com/intellij/compiler/ant/BuildTargetsFactoryImpl.java +++ b/java/compiler/impl/src/com/intellij/compiler/ant/BuildTargetsFactoryImpl.java @@ -17,6 +17,7 @@ import com.intellij.openapi.project.Project; import com.intellij.util.ArrayUtil; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.Nullable; +import org.jetbrains.annotations.TestOnly; public class BuildTargetsFactoryImpl extends BuildTargetsFactory { @@ -38,7 +39,7 @@ public class BuildTargetsFactoryImpl extends BuildTargetsFactory { return new Comment(comment); } - //for test + @TestOnly public GenerationOptions getDefaultOptions(Project project) { return new GenerationOptionsImpl(project, true, false, false, true, ArrayUtil.EMPTY_STRING_ARRAY); }