mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-59971: For module created via ProjectStructure dialog no project-level libraries are created from downloaded jars
This commit is contained in:
@@ -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() {
|
||||
|
||||
+17
-3
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
+4
-6
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user