From c2b8b8d6d1fc1b771443f30ae0cfbe58837ce27c Mon Sep 17 00:00:00 2001 From: Peter Gromov Date: Tue, 8 Sep 2009 14:46:48 +0400 Subject: [PATCH] generate ant: replace javac with groovyc only when there are groovy files to compile --- .../actions/GenerateAntBuildAction.java | 18 +++++++++++++----- .../compiler/ant/BuildTargetsFactoryImpl.java | 3 ++- 2 files changed, 15 insertions(+), 6 deletions(-) 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); }