IDEA-59971: For module created via ProjectStructure dialog no project-level libraries are created from downloaded jars

This commit is contained in:
nik
2010-10-22 13:44:01 +04:00
parent b44378233d
commit 0a3e35742a
6 changed files with 32 additions and 11 deletions
@@ -357,7 +357,7 @@ public class ProjectFacetsConfigurator implements FacetsProvider, ModuleEditor.C
public MyProjectConfigurableContext(final Facet facet, final FacetEditorContext parentContext, final ModuleConfigurationState state) {
super(facet, ProjectFacetsConfigurator.this.isNewFacet(facet), parentContext, state,
ProjectFacetsConfigurator.this.getSharedModuleData(facet.getModule()), getProjectData());
myContainer = LibrariesContainerFactory.createContainer(facet.getModule().getProject(), myContext);
myContainer = LibrariesContainerFactory.createContainer(myContext);
}
public LibrariesContainer getContainer() {
@@ -21,7 +21,9 @@ import com.intellij.ide.util.newProjectWizard.SupportForFrameworksStep;
import com.intellij.ide.util.frameworkSupport.FrameworkSupportUtil;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.projectRoots.SdkType;
import com.intellij.openapi.roots.ui.configuration.ModulesConfigurator;
import com.intellij.openapi.roots.ui.configuration.ModulesProvider;
import com.intellij.openapi.roots.ui.configuration.projectRoot.LibrariesContainer;
import com.intellij.openapi.roots.ui.configuration.projectRoot.LibrariesContainerFactory;
import com.intellij.openapi.util.Computable;
import org.jetbrains.annotations.NonNls;
@@ -108,10 +110,22 @@ public class ProjectWizardStepFactoryImpl extends ProjectWizardStepFactory {
@Override
public ModuleWizardStep createSupportForFrameworksStep(WizardContext wizardContext, ModuleBuilder moduleBuilder) {
if (!FrameworkSupportUtil.getProviders(moduleBuilder).isEmpty()) {
return new SupportForFrameworksStep(moduleBuilder, LibrariesContainerFactory.createContainer(wizardContext.getProject()));
return createSupportForFrameworksStep(wizardContext, moduleBuilder, ModulesProvider.EMPTY_MODULES_PROVIDER);
}
@Override
public ModuleWizardStep createSupportForFrameworksStep(WizardContext context, ModuleBuilder builder, ModulesProvider modulesProvider) {
if (!FrameworkSupportUtil.getProviders(builder).isEmpty()) {
final LibrariesContainer container;
if (modulesProvider instanceof ModulesConfigurator) {
ModulesConfigurator configurator = (ModulesConfigurator)modulesProvider;
container = LibrariesContainerFactory.createContainer(configurator.getContext());
}
else {
container = LibrariesContainerFactory.createContainer(context.getProject());
}
return new SupportForFrameworksStep(builder, container);
}
return null;
}
}
@@ -576,4 +576,7 @@ public class ModulesConfigurator implements ModulesProvider, ModuleEditor.Change
}
}
public StructureConfigurableContext getContext() {
return myContext;
}
}
@@ -68,8 +68,8 @@ public class LibrariesContainerFactory {
return new LibrariesContainerImpl(null, null, null);
}
public static LibrariesContainer createContainer(@NotNull Project project, StructureConfigurableContext context) {
return new StructureConfigurableLibrariesContainer(project, context);
public static LibrariesContainer createContainer(StructureConfigurableContext context) {
return new StructureConfigurableLibrariesContainer(context);
}
public static Library createLibrary(@Nullable LibrariesContainer container1, @NotNull LibrariesContainer container2,
@@ -243,11 +243,9 @@ public class LibrariesContainerFactory {
}
private static class StructureConfigurableLibrariesContainer extends LibrariesContainerBase {
private final Project myProject;
private final StructureConfigurableContext myContext;
public StructureConfigurableLibrariesContainer(final Project project, final StructureConfigurableContext context) {
myProject = project;
public StructureConfigurableLibrariesContainer(final StructureConfigurableContext context) {
myContext = context;
}
@@ -280,7 +278,7 @@ public class LibrariesContainerFactory {
@Nullable
public Project getProject() {
return myProject;
return myContext.getProject();
}
@NotNull
@@ -75,7 +75,7 @@ public class JavaModuleType extends ModuleType<JavaModuleBuilder> {
return projectJdk == null || projectJdk.getSdkType() != JavaSdk.getInstance() ? Boolean.TRUE : Boolean.FALSE;
}
}, getWizardIcon(), "reference.dialogs.new.project.fromScratch.sdk"));
final ModuleWizardStep supportForFrameworksStep = wizardFactory.createSupportForFrameworksStep(wizardContext, moduleBuilder);
final ModuleWizardStep supportForFrameworksStep = wizardFactory.createSupportForFrameworksStep(wizardContext, moduleBuilder, modulesProvider);
if (supportForFrameworksStep != null) {
steps.add(supportForFrameworksStep);
}
@@ -62,6 +62,12 @@ public abstract class ProjectWizardStepFactory {
@Nullable
public abstract Sdk getNewProjectSdk(WizardContext wizardContext);
/**
* @deprecated use {@link #createSupportForFrameworksStep(WizardContext, ModuleBuilder, com.intellij.openapi.roots.ui.configuration.ModulesProvider)} instead
*/
@Nullable
public abstract ModuleWizardStep createSupportForFrameworksStep(WizardContext context, ModuleBuilder builder);
@Nullable
public abstract ModuleWizardStep createSupportForFrameworksStep(WizardContext context, ModuleBuilder builder, ModulesProvider modulesProvider);
}