diff --git a/java/idea-ui/src/com/intellij/ide/util/projectWizard/ProjectWizardStepFactoryImpl.java b/java/idea-ui/src/com/intellij/ide/util/projectWizard/ProjectWizardStepFactoryImpl.java index 849ef735874c..877cce304ff6 100644 --- a/java/idea-ui/src/com/intellij/ide/util/projectWizard/ProjectWizardStepFactoryImpl.java +++ b/java/idea-ui/src/com/intellij/ide/util/projectWizard/ProjectWizardStepFactoryImpl.java @@ -32,6 +32,7 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import javax.swing.*; +import java.util.Map; /** * @author Eugene Zhuravlev @@ -134,11 +135,12 @@ public class ProjectWizardStepFactoryImpl extends ProjectWizardStepFactory { @Override public ModuleWizardStep createSupportForFrameworksStep(WizardContext context, ModuleBuilder builder, ModulesProvider modulesProvider) { - if (!FrameworkSupportUtil.getProviders(builder).isEmpty()) { - final LibrariesContainer container = LibrariesContainerFactory.createContainer(context, modulesProvider); - return new SupportForFrameworksStep(context, builder, container); + Map availableFrameworks = builder.getAvailableFrameworks(); + if (FrameworkSupportUtil.getProviders(builder).isEmpty() || availableFrameworks != null && availableFrameworks.isEmpty()) { + return null; } - return null; + final LibrariesContainer container = LibrariesContainerFactory.createContainer(context, modulesProvider); + return new SupportForFrameworksStep(context, builder, container); } @Override diff --git a/java/idea-ui/src/com/intellij/platform/templates/TemplateModuleBuilder.java b/java/idea-ui/src/com/intellij/platform/templates/TemplateModuleBuilder.java index 01484d5ab338..76db679edddf 100644 --- a/java/idea-ui/src/com/intellij/platform/templates/TemplateModuleBuilder.java +++ b/java/idea-ui/src/com/intellij/platform/templates/TemplateModuleBuilder.java @@ -20,7 +20,6 @@ import com.intellij.execution.configurations.ModuleBasedConfiguration; import com.intellij.execution.configurations.RunConfiguration; import com.intellij.ide.fileTemplates.FileTemplateManager; import com.intellij.ide.fileTemplates.FileTemplateUtil; -import com.intellij.ide.util.newProjectWizard.SupportForFrameworksStep; import com.intellij.ide.util.newProjectWizard.modes.ImportImlMode; import com.intellij.ide.util.projectWizard.*; import com.intellij.openapi.application.ApplicationManager; @@ -44,7 +43,6 @@ import com.intellij.openapi.vfs.LocalFileSystem; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.openapi.vfs.newvfs.RefreshQueue; import com.intellij.platform.templates.github.ZipUtil; -import com.intellij.util.ArrayUtil; import com.intellij.util.NullableFunction; import com.intellij.util.containers.ContainerUtil; import org.jdom.JDOMException; @@ -54,6 +52,7 @@ import org.jetbrains.annotations.Nullable; import javax.swing.*; import java.io.File; import java.io.IOException; +import java.util.Collections; import java.util.List; import java.util.Properties; import java.util.zip.ZipInputStream; @@ -84,13 +83,9 @@ public class TemplateModuleBuilder extends ModuleBuilder { @Override public ModuleWizardStep[] createWizardSteps(WizardContext wizardContext, ModulesProvider modulesProvider) { - ModuleWizardStep[] steps = myType.createModuleBuilder().createWizardSteps(wizardContext, modulesProvider); - for (ModuleWizardStep step : steps) { - if (step instanceof SupportForFrameworksStep) { - return ArrayUtil.remove(steps, step); - } - } - return steps; + ModuleBuilder builder = myType.createModuleBuilder(); + builder.setAvailableFrameworks(Collections.emptyMap()); + return builder.createWizardSteps(wizardContext, modulesProvider); } @Override diff --git a/platform/lang-api/src/com/intellij/ide/util/projectWizard/ModuleBuilder.java b/platform/lang-api/src/com/intellij/ide/util/projectWizard/ModuleBuilder.java index 12ac8128d0e5..b1c38d528ed8 100644 --- a/platform/lang-api/src/com/intellij/ide/util/projectWizard/ModuleBuilder.java +++ b/platform/lang-api/src/com/intellij/ide/util/projectWizard/ModuleBuilder.java @@ -57,6 +57,7 @@ public abstract class ModuleBuilder extends ProjectBuilder{ private String myContentEntryPath; private final Set myUpdaters = new HashSet(); private final EventDispatcher myDispatcher = EventDispatcher.create(ModuleBuilderListener.class); + private Map myAvailableFrameworks; public static List getAllBuilders() { final ArrayList result = new ArrayList(); @@ -354,6 +355,14 @@ public abstract class ModuleBuilder extends ProjectBuilder{ return myJdk; } + public Map getAvailableFrameworks() { + return myAvailableFrameworks; + } + + public void setAvailableFrameworks(Map availableFrameworks) { + myAvailableFrameworks = availableFrameworks; + } + public static abstract class ModuleConfigurationUpdater { public abstract void update(@NotNull Module module, @NotNull ModifiableRootModel rootModel);