mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-10-01 11:20:44 +07:00
sdks filtering
This commit is contained in:
@@ -288,7 +288,7 @@ public class AddModuleWizard extends AbstractWizard<ModuleWizardStep> {
|
||||
@Nullable final ProjectBuilder projectBuilder = context.getProjectBuilder();
|
||||
return ProjectJdkTable.getInstance().findMostRecentSdk(new Condition<Sdk>() {
|
||||
public boolean value(Sdk sdk) {
|
||||
return projectBuilder == null || projectBuilder.isSuitableSdk(sdk);
|
||||
return projectBuilder == null || projectBuilder.isSuitableSdkType(sdk.getSdkType());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ package com.intellij.ide.util.projectWizard;
|
||||
import com.intellij.ide.IdeBundle;
|
||||
import com.intellij.ide.util.BrowseFilesListener;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.projectRoots.SdkType;
|
||||
import com.intellij.openapi.projectRoots.SdkTypeId;
|
||||
import com.intellij.openapi.ui.ComponentWithBrowseButton;
|
||||
import com.intellij.openapi.ui.TextComponentAccessor;
|
||||
import com.intellij.openapi.ui.TextFieldWithBrowseButton;
|
||||
@@ -46,7 +46,7 @@ public class JavaSettingsStep extends SdkSettingsStep {
|
||||
private TextFieldWithBrowseButton mySourcePath;
|
||||
private JPanel myPanel;
|
||||
|
||||
public JavaSettingsStep(SettingsStep settingsStep, ModuleBuilder moduleBuilder, Condition<SdkType> sdkFilter) {
|
||||
public JavaSettingsStep(SettingsStep settingsStep, ModuleBuilder moduleBuilder, Condition<SdkTypeId> sdkFilter) {
|
||||
super(settingsStep, sdkFilter);
|
||||
myModuleBuilder = moduleBuilder;
|
||||
|
||||
|
||||
+2
-1
@@ -20,6 +20,7 @@ import com.intellij.ide.util.newProjectWizard.*;
|
||||
import com.intellij.ide.util.newProjectWizard.ProjectNameStep;
|
||||
import com.intellij.openapi.projectRoots.Sdk;
|
||||
import com.intellij.openapi.projectRoots.SdkType;
|
||||
import com.intellij.openapi.projectRoots.SdkTypeId;
|
||||
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;
|
||||
@@ -139,7 +140,7 @@ public class ProjectWizardStepFactoryImpl extends ProjectWizardStepFactory {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ModuleWizardStep createJavaSettingsStep(SettingsStep settingsStep, ModuleBuilder moduleBuilder, Condition<SdkType> sdkFilter) {
|
||||
public ModuleWizardStep createJavaSettingsStep(SettingsStep settingsStep, ModuleBuilder moduleBuilder, Condition<SdkTypeId> sdkFilter) {
|
||||
return new JavaSettingsStep(settingsStep, moduleBuilder, sdkFilter);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ package com.intellij.ide.util.projectWizard;
|
||||
import com.intellij.openapi.options.ConfigurationException;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.projectRoots.Sdk;
|
||||
import com.intellij.openapi.projectRoots.SdkType;
|
||||
import com.intellij.openapi.projectRoots.SdkTypeId;
|
||||
import com.intellij.openapi.roots.ui.configuration.JdkComboBox;
|
||||
import com.intellij.openapi.roots.ui.configuration.projectRoot.ProjectSdksModel;
|
||||
import com.intellij.openapi.util.Condition;
|
||||
@@ -35,7 +35,7 @@ public class SdkSettingsStep extends ModuleWizardStep {
|
||||
protected final WizardContext myWizardContext;
|
||||
protected final ProjectSdksModel myModel;
|
||||
|
||||
public SdkSettingsStep(SettingsStep settingsStep, Condition<SdkType> sdkFilter) {
|
||||
public SdkSettingsStep(SettingsStep settingsStep, Condition<SdkTypeId> sdkFilter) {
|
||||
|
||||
myWizardContext = settingsStep.getContext();
|
||||
myModel = new ProjectSdksModel();
|
||||
|
||||
+3
-3
@@ -36,7 +36,7 @@ import com.intellij.openapi.extensions.Extensions;
|
||||
import com.intellij.openapi.module.*;
|
||||
import com.intellij.openapi.options.ConfigurationException;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.projectRoots.Sdk;
|
||||
import com.intellij.openapi.projectRoots.SdkTypeId;
|
||||
import com.intellij.openapi.roots.*;
|
||||
import com.intellij.openapi.roots.libraries.Library;
|
||||
import com.intellij.openapi.roots.libraries.LibraryTable;
|
||||
@@ -363,12 +363,12 @@ public class ProjectFromSourcesBuilderImpl extends ProjectBuilder implements Pro
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSuitableSdk(final Sdk sdk) {
|
||||
public boolean isSuitableSdkType(final SdkTypeId sdkTypeId) {
|
||||
for (ProjectDescriptor projectDescriptor : getSelectedDescriptors()) {
|
||||
for (ModuleDescriptor moduleDescriptor : projectDescriptor.getModules()) {
|
||||
try {
|
||||
final ModuleType moduleType = getModuleType(moduleDescriptor);
|
||||
if (moduleType != null && !moduleType.createModuleBuilder().isSuitableSdk(sdk)) return false;
|
||||
if (moduleType != null && !moduleType.createModuleBuilder().isSuitableSdkType(sdkTypeId)) return false;
|
||||
}
|
||||
catch (Exception ignore) {
|
||||
}
|
||||
|
||||
@@ -51,22 +51,22 @@ import java.util.List;
|
||||
public class JdkComboBox extends ComboBoxWithWidePopup {
|
||||
|
||||
@Nullable
|
||||
private final Condition<SdkType> myFilter;
|
||||
private final Condition<SdkTypeId> myFilter;
|
||||
@Nullable
|
||||
private final Condition<SdkType> myCreationFilter;
|
||||
private final Condition<SdkTypeId> myCreationFilter;
|
||||
|
||||
public JdkComboBox(@NotNull final ProjectSdksModel jdkModel) {
|
||||
this(jdkModel, null, null);
|
||||
}
|
||||
|
||||
public JdkComboBox(@NotNull final ProjectSdksModel jdkModel,
|
||||
Condition<SdkType> filter) {
|
||||
Condition<SdkTypeId> filter) {
|
||||
this(jdkModel, filter, filter);
|
||||
}
|
||||
|
||||
public JdkComboBox(@NotNull final ProjectSdksModel jdkModel,
|
||||
@Nullable Condition<SdkType> filter,
|
||||
@Nullable Condition<SdkType> creationFilter) {
|
||||
@Nullable Condition<SdkTypeId> filter,
|
||||
@Nullable Condition<SdkTypeId> creationFilter) {
|
||||
super(new JdkComboBoxModel(jdkModel, getSdkFilter(filter)));
|
||||
myFilter = filter;
|
||||
myCreationFilter = creationFilter;
|
||||
@@ -299,12 +299,11 @@ public class JdkComboBox extends ComboBoxWithWidePopup {
|
||||
}
|
||||
}
|
||||
|
||||
private static Condition<Sdk> getSdkFilter(@Nullable final Condition<SdkType> filter) {
|
||||
private static Condition<Sdk> getSdkFilter(@Nullable final Condition<SdkTypeId> filter) {
|
||||
return filter == null ? Conditions.<Sdk>alwaysTrue() : new Condition<Sdk>() {
|
||||
@Override
|
||||
public boolean value(Sdk sdk) {
|
||||
SdkTypeId type = sdk.getSdkType();
|
||||
return type instanceof SdkType && filter.value((SdkType)type);
|
||||
return filter.value(sdk.getSdkType());
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@@ -23,6 +23,7 @@ import com.intellij.platform.ProjectTemplate;
|
||||
import com.intellij.platform.ProjectTemplatesFactory;
|
||||
import com.intellij.util.ArrayUtil;
|
||||
import com.intellij.util.Function;
|
||||
import com.intellij.util.NullableFunction;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@@ -51,11 +52,7 @@ public class PlainModuleTemplatesFactory implements ProjectTemplatesFactory {
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public ProjectTemplate[] createTemplates(String group, WizardContext context) {
|
||||
ModuleBuilder[] builders = context.getAllBuilders();
|
||||
for (ModuleBuilder builder : builders) {
|
||||
if (builder.getGroupName().equals(group)) return new ProjectTemplate[] {new PlainModuleTemplate(builder)};
|
||||
}
|
||||
public ProjectTemplate[] createTemplates(final String group, WizardContext context) {
|
||||
if (OTHER_GROUP.equals(group)) {
|
||||
return new ProjectTemplate[] { new PlainModuleTemplate(new EmptyModuleBuilder() {
|
||||
@Override
|
||||
@@ -69,7 +66,14 @@ public class PlainModuleTemplatesFactory implements ProjectTemplatesFactory {
|
||||
}
|
||||
})};
|
||||
}
|
||||
return new ProjectTemplate[0];
|
||||
ModuleBuilder[] builders = context.getAllBuilders();
|
||||
return ContainerUtil.mapNotNull(builders, new NullableFunction<ModuleBuilder, ProjectTemplate>() {
|
||||
@Nullable
|
||||
@Override
|
||||
public ProjectTemplate fun(ModuleBuilder builder) {
|
||||
return builder.getGroupName().equals(group) ? new PlainModuleTemplate(builder) : null;
|
||||
}
|
||||
}, ProjectTemplate.EMPTY_ARRAY);
|
||||
}
|
||||
|
||||
private static class PlainModuleTemplate implements ProjectTemplate {
|
||||
|
||||
@@ -18,10 +18,7 @@ package com.intellij.openapi.module;
|
||||
import com.intellij.icons.AllIcons;
|
||||
import com.intellij.ide.util.projectWizard.*;
|
||||
import com.intellij.openapi.project.ProjectBundle;
|
||||
import com.intellij.openapi.projectRoots.JavaSdk;
|
||||
import com.intellij.openapi.projectRoots.JavaSdkType;
|
||||
import com.intellij.openapi.projectRoots.Sdk;
|
||||
import com.intellij.openapi.projectRoots.SdkType;
|
||||
import com.intellij.openapi.projectRoots.*;
|
||||
import com.intellij.openapi.roots.ModuleRootManager;
|
||||
import com.intellij.openapi.roots.ui.configuration.ModulesProvider;
|
||||
import com.intellij.openapi.util.Computable;
|
||||
@@ -104,9 +101,9 @@ public class JavaModuleType extends ModuleType<JavaModuleBuilder> {
|
||||
@Nullable
|
||||
@Override
|
||||
public ModuleWizardStep modifySettingsStep(SettingsStep settingsStep, ModuleBuilder moduleBuilder) {
|
||||
return ProjectWizardStepFactory.getInstance().createJavaSettingsStep(settingsStep, moduleBuilder, new Condition<SdkType>() {
|
||||
return ProjectWizardStepFactory.getInstance().createJavaSettingsStep(settingsStep, moduleBuilder, new Condition<SdkTypeId>() {
|
||||
@Override
|
||||
public boolean value(SdkType sdk) {
|
||||
public boolean value(SdkTypeId sdk) {
|
||||
return sdk instanceof JavaSdkType;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -21,14 +21,14 @@ import com.intellij.openapi.module.StdModuleTypes;
|
||||
import com.intellij.openapi.options.ConfigurationException;
|
||||
import com.intellij.openapi.projectRoots.JavaSdk;
|
||||
import com.intellij.openapi.projectRoots.Sdk;
|
||||
import com.intellij.openapi.projectRoots.SdkType;
|
||||
import com.intellij.openapi.projectRoots.SdkTypeId;
|
||||
import com.intellij.openapi.roots.CompilerModuleExtension;
|
||||
import com.intellij.openapi.roots.ContentEntry;
|
||||
import com.intellij.openapi.roots.ModifiableRootModel;
|
||||
import com.intellij.openapi.roots.OrderRootType;
|
||||
import com.intellij.openapi.roots.libraries.Library;
|
||||
import com.intellij.openapi.roots.libraries.LibraryTable;
|
||||
import com.intellij.openapi.util.Conditions;
|
||||
import com.intellij.openapi.util.Condition;
|
||||
import com.intellij.openapi.util.Pair;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import com.intellij.openapi.vfs.LocalFileSystem;
|
||||
@@ -83,7 +83,12 @@ public class JavaModuleBuilder extends ModuleBuilder implements SourcePathsBuild
|
||||
@Nullable
|
||||
@Override
|
||||
public ModuleWizardStep modifySettingsStep(SettingsStep settingsStep) {
|
||||
return ProjectWizardStepFactory.getInstance().createJavaSettingsStep(settingsStep, this, Conditions.<SdkType>alwaysTrue());
|
||||
return ProjectWizardStepFactory.getInstance().createJavaSettingsStep(settingsStep, this, new Condition<SdkTypeId>() {
|
||||
@Override
|
||||
public boolean value(SdkTypeId sdkType) {
|
||||
return isSuitableSdkType(sdkType);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void setupRootModel(ModifiableRootModel rootModel) throws ConfigurationException {
|
||||
@@ -164,7 +169,7 @@ public class JavaModuleBuilder extends ModuleBuilder implements SourcePathsBuild
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSuitableSdk(final Sdk sdk) {
|
||||
return sdk.getSdkType() == JavaSdk.getInstance();
|
||||
public boolean isSuitableSdkType(SdkTypeId sdkType) {
|
||||
return sdkType == JavaSdk.getInstance();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ package com.intellij.ide.util.projectWizard;
|
||||
import com.intellij.openapi.components.ServiceManager;
|
||||
import com.intellij.openapi.projectRoots.Sdk;
|
||||
import com.intellij.openapi.projectRoots.SdkType;
|
||||
import com.intellij.openapi.projectRoots.SdkTypeId;
|
||||
import com.intellij.openapi.roots.ui.configuration.ModulesProvider;
|
||||
import com.intellij.openapi.util.Computable;
|
||||
import com.intellij.openapi.util.Condition;
|
||||
@@ -72,5 +73,5 @@ public abstract class ProjectWizardStepFactory {
|
||||
@Nullable
|
||||
public abstract ModuleWizardStep createSupportForFrameworksStep(WizardContext context, ModuleBuilder builder, ModulesProvider modulesProvider);
|
||||
|
||||
public abstract ModuleWizardStep createJavaSettingsStep(SettingsStep settingsStep, ModuleBuilder moduleBuilder, Condition<SdkType> sdkFilter);
|
||||
public abstract ModuleWizardStep createJavaSettingsStep(SettingsStep settingsStep, ModuleBuilder moduleBuilder, Condition<SdkTypeId> sdkFilter);
|
||||
}
|
||||
|
||||
@@ -25,6 +25,7 @@ import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.project.ProjectManager;
|
||||
import com.intellij.openapi.projectRoots.Sdk;
|
||||
import com.intellij.openapi.projectRoots.SdkTypeId;
|
||||
import com.intellij.openapi.roots.ui.configuration.ModulesProvider;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -48,6 +49,8 @@ public abstract class ProjectBuilder {
|
||||
}
|
||||
|
||||
/**
|
||||
* Deprecated. Use {@link #isSuitableSdkType(com.intellij.openapi.projectRoots.SdkTypeId)} instead.
|
||||
*
|
||||
* Used for automatically assigning an SDK to the project when it gets created.
|
||||
* If no SDK is specified in the template project and there is no specific SDK chooser step,
|
||||
* the SDK which is set for the project is the highest version SDK for which
|
||||
@@ -56,10 +59,16 @@ public abstract class ProjectBuilder {
|
||||
* @param sdk the candidate SDK
|
||||
* @return true if the SDK can be used for this project type, false otherwise
|
||||
*/
|
||||
@Deprecated
|
||||
public boolean isSuitableSdk(Sdk sdk) {
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean isSuitableSdkType(SdkTypeId sdkType) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@Nullable
|
||||
public Project createProject(String name, String path) {
|
||||
return ProjectManager.getInstance().createProject(name, path);
|
||||
|
||||
+12
-6
@@ -33,7 +33,7 @@ import com.intellij.openapi.ui.MasterDetailsComponent;
|
||||
import com.intellij.openapi.ui.Messages;
|
||||
import com.intellij.openapi.util.Comparing;
|
||||
import com.intellij.openapi.util.Condition;
|
||||
import com.intellij.util.ArrayUtil;
|
||||
import com.intellij.util.ArrayUtilRt;
|
||||
import com.intellij.util.Consumer;
|
||||
import com.intellij.util.EventDispatcher;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@@ -56,6 +56,7 @@ public class ProjectSdksModel implements SdkModel {
|
||||
|
||||
private Sdk myProjectSdk;
|
||||
private boolean myInitialized = false;
|
||||
private Condition<SdkTypeId> myFilter;
|
||||
|
||||
@Override
|
||||
public Listener getMulticaster() {
|
||||
@@ -86,13 +87,14 @@ public class ProjectSdksModel implements SdkModel {
|
||||
mySdkEventsDispatcher.removeListener(listener);
|
||||
}
|
||||
|
||||
public void reset(@Nullable Project project, @Nullable Condition<SdkType> filter) {
|
||||
public void reset(@Nullable Project project, @Nullable Condition<SdkTypeId> filter) {
|
||||
myProjectSdks.clear();
|
||||
myFilter = filter;
|
||||
final Sdk[] projectSdks = ProjectJdkTable.getInstance().getAllJdks();
|
||||
for (Sdk sdk : projectSdks) {
|
||||
try {
|
||||
SdkTypeId type = sdk.getSdkType();
|
||||
if (filter == null || (type instanceof SdkType && filter.value((SdkType)type))) {
|
||||
if (acceptSdkType(type)) {
|
||||
myProjectSdks.put(sdk, (Sdk)sdk.clone());
|
||||
}
|
||||
}
|
||||
@@ -107,6 +109,10 @@ public class ProjectSdksModel implements SdkModel {
|
||||
myInitialized = true;
|
||||
}
|
||||
|
||||
private boolean acceptSdkType(SdkTypeId type) {
|
||||
return myFilter == null || myFilter.value(type);
|
||||
}
|
||||
|
||||
public void reset(@Nullable Project project) {
|
||||
reset(project, null);
|
||||
}
|
||||
@@ -144,7 +150,7 @@ public class ProjectSdksModel implements SdkModel {
|
||||
if (myProjectSdks.containsKey(tableItem)) {
|
||||
itemsInTable.add(tableItem);
|
||||
}
|
||||
else {
|
||||
else if (acceptSdkType(tableItem.getSdkType())){
|
||||
jdkTable.removeJdk(tableItem);
|
||||
}
|
||||
}
|
||||
@@ -164,7 +170,7 @@ public class ProjectSdksModel implements SdkModel {
|
||||
final Sdk[] allJdks = jdkTable.getAllJdks();
|
||||
for (final Sdk projectJdk : myProjectSdks.keySet()) {
|
||||
LOG.assertTrue(projectJdk != null);
|
||||
if (ArrayUtil.find(allJdks, projectJdk) == -1) {
|
||||
if (ArrayUtilRt.find(allJdks, projectJdk) == -1) {
|
||||
jdkTable.addJdk(projectJdk);
|
||||
}
|
||||
}
|
||||
@@ -235,7 +241,7 @@ public class ProjectSdksModel implements SdkModel {
|
||||
public void createAddActions(DefaultActionGroup group,
|
||||
final JComponent parent,
|
||||
final Consumer<Sdk> updateTree,
|
||||
@Nullable Condition<SdkType> filter) {
|
||||
@Nullable Condition<SdkTypeId> filter) {
|
||||
final SdkType[] types = SdkType.getAllTypes();
|
||||
for (final SdkType type : types) {
|
||||
if (filter != null && !filter.value(type)) continue;
|
||||
|
||||
@@ -26,6 +26,8 @@ import org.jetbrains.annotations.Nullable;
|
||||
*/
|
||||
public interface ProjectTemplate {
|
||||
|
||||
ProjectTemplate[] EMPTY_ARRAY = new ProjectTemplate[0];
|
||||
|
||||
@NotNull
|
||||
String getName();
|
||||
|
||||
|
||||
@@ -65,7 +65,6 @@ import com.intellij.psi.codeStyle.CodeStyleSchemes;
|
||||
import com.intellij.psi.codeStyle.CodeStyleSettings;
|
||||
import com.intellij.psi.codeStyle.CodeStyleSettingsManager;
|
||||
import com.intellij.psi.impl.DocumentCommitThread;
|
||||
import com.intellij.psi.impl.PsiDocumentManagerImpl;
|
||||
import com.intellij.psi.impl.PsiManagerEx;
|
||||
import com.intellij.psi.impl.source.tree.injected.InjectedLanguageManagerImpl;
|
||||
import com.intellij.util.PatchedWeakReference;
|
||||
@@ -569,6 +568,7 @@ public abstract class PlatformTestCase extends UsefulTestCase implements DataPro
|
||||
}
|
||||
}
|
||||
|
||||
@Nullable
|
||||
protected Sdk getTestProjectJdk() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -42,14 +42,13 @@ import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.projectRoots.JavaSdk;
|
||||
import com.intellij.openapi.projectRoots.ProjectJdkTable;
|
||||
import com.intellij.openapi.projectRoots.Sdk;
|
||||
import com.intellij.openapi.projectRoots.SdkType;
|
||||
import com.intellij.openapi.projectRoots.SdkTypeId;
|
||||
import com.intellij.openapi.roots.*;
|
||||
import com.intellij.openapi.roots.ui.configuration.ModulesProvider;
|
||||
import com.intellij.openapi.startup.StartupManager;
|
||||
import com.intellij.openapi.ui.Messages;
|
||||
import com.intellij.openapi.util.Comparing;
|
||||
import com.intellij.openapi.util.Computable;
|
||||
import com.intellij.openapi.util.Conditions;
|
||||
import com.intellij.openapi.util.Pair;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
@@ -744,12 +743,6 @@ public class AndroidModuleBuilder extends JavaModuleBuilder {
|
||||
return getClass().getName();
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public ModuleWizardStep modifySettingsStep(SettingsStep settingsStep) {
|
||||
return ProjectWizardStepFactory.getInstance().createJavaSettingsStep(settingsStep, this, Conditions.<SdkType>is(AndroidSdkType.getInstance()));
|
||||
}
|
||||
|
||||
private static boolean hasAppropriateJdk() {
|
||||
for (Sdk sdk : ProjectJdkTable.getInstance().getAllJdks()) {
|
||||
if (AndroidSdkUtils.isApplicableJdk(sdk)) {
|
||||
@@ -775,4 +768,9 @@ public class AndroidModuleBuilder extends JavaModuleBuilder {
|
||||
}
|
||||
return Pair.create(result, success);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSuitableSdkType(SdkTypeId sdkType) {
|
||||
return AndroidSdkType.getInstance() == sdkType;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
<orderEntry type="module" module-name="xml" />
|
||||
<orderEntry type="library" scope="TEST" name="Groovy" level="project" />
|
||||
<orderEntry type="module" module-name="jps-builders" />
|
||||
<orderEntry type="module" module-name="idea-tests" scope="TEST" />
|
||||
</component>
|
||||
</module>
|
||||
|
||||
|
||||
@@ -16,14 +16,14 @@
|
||||
package org.jetbrains.idea.devkit.module;
|
||||
|
||||
import com.intellij.ide.util.projectWizard.JavaModuleBuilder;
|
||||
import com.intellij.openapi.module.ModuleType;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.module.ModuleType;
|
||||
import com.intellij.openapi.options.ConfigurationException;
|
||||
import com.intellij.openapi.projectRoots.Sdk;
|
||||
import com.intellij.openapi.projectRoots.SdkTypeId;
|
||||
import com.intellij.openapi.roots.ModifiableRootModel;
|
||||
import com.intellij.openapi.startup.StartupManager;
|
||||
import com.intellij.openapi.vfs.LocalFileSystem;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.openapi.startup.StartupManager;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.idea.devkit.build.PluginBuildConfiguration;
|
||||
import org.jetbrains.idea.devkit.projectRoots.IdeaJdk;
|
||||
@@ -52,8 +52,9 @@ public class PluginModuleBuilder extends JavaModuleBuilder{
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isSuitableSdk(Sdk sdk) {
|
||||
return sdk.getSdkType() == IdeaJdk.getInstance();
|
||||
@Override
|
||||
public boolean isSuitableSdkType(SdkTypeId sdk) {
|
||||
return sdk == IdeaJdk.getInstance();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+3
-15
@@ -8,8 +8,7 @@ import com.intellij.openapi.options.ConfigurationException;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.project.ProjectManager;
|
||||
import com.intellij.openapi.projectRoots.JavaSdk;
|
||||
import com.intellij.openapi.projectRoots.JavaSdkVersion;
|
||||
import com.intellij.openapi.projectRoots.Sdk;
|
||||
import com.intellij.openapi.projectRoots.SdkTypeId;
|
||||
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
|
||||
import com.intellij.openapi.roots.ui.configuration.ModulesProvider;
|
||||
import com.intellij.openapi.startup.StartupManager;
|
||||
@@ -201,19 +200,8 @@ public class GradleProjectImportBuilder extends ProjectImportBuilder<GradleProje
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSuitableSdk(Sdk sdk) {
|
||||
JavaSdk javaSdk = JavaSdk.getInstance();
|
||||
if (sdk == null || sdk.getSdkType() != javaSdk) {
|
||||
return false;
|
||||
}
|
||||
if (myGradleProject == null) {
|
||||
return true;
|
||||
}
|
||||
JavaSdkVersion version = javaSdk.getVersion(sdk);
|
||||
if (version == null) {
|
||||
return false;
|
||||
}
|
||||
return version.getMaxLanguageLevel().isAtLeast(myGradleProject.getLanguageLevel());
|
||||
public boolean isSuitableSdkType(SdkTypeId sdk) {
|
||||
return sdk == JavaSdk.getInstance();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+3
-3
@@ -23,7 +23,7 @@ import com.intellij.openapi.options.ConfigurationException;
|
||||
import com.intellij.openapi.project.DumbAwareRunnable;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.projectRoots.JavaSdk;
|
||||
import com.intellij.openapi.projectRoots.Sdk;
|
||||
import com.intellij.openapi.projectRoots.SdkTypeId;
|
||||
import com.intellij.openapi.roots.ModifiableRootModel;
|
||||
import com.intellij.openapi.roots.ui.configuration.ModulesProvider;
|
||||
import com.intellij.openapi.util.Pair;
|
||||
@@ -104,8 +104,8 @@ public class MavenModuleBuilder extends ModuleBuilder implements SourcePathsBuil
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSuitableSdk(Sdk sdk) {
|
||||
return sdk.getSdkType() == JavaSdk.getInstance();
|
||||
public boolean isSuitableSdkType(SdkTypeId sdk) {
|
||||
return sdk == JavaSdk.getInstance();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+3
-3
@@ -23,7 +23,7 @@ import com.intellij.openapi.options.ConfigurationException;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.project.ProjectManager;
|
||||
import com.intellij.openapi.projectRoots.JavaSdk;
|
||||
import com.intellij.openapi.projectRoots.Sdk;
|
||||
import com.intellij.openapi.projectRoots.SdkTypeId;
|
||||
import com.intellij.openapi.roots.ui.configuration.ModulesConfigurator;
|
||||
import com.intellij.openapi.roots.ui.configuration.ModulesProvider;
|
||||
import com.intellij.openapi.vfs.LocalFileSystem;
|
||||
@@ -74,8 +74,8 @@ public class MavenProjectBuilder extends ProjectImportBuilder<MavenProject> {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSuitableSdk(Sdk sdk) {
|
||||
return sdk.getSdkType() == JavaSdk.getInstance();
|
||||
public boolean isSuitableSdkType(SdkTypeId sdk) {
|
||||
return sdk == JavaSdk.getInstance();
|
||||
}
|
||||
|
||||
private Parameters getParameters() {
|
||||
|
||||
Reference in New Issue
Block a user