mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
ImportProjectAction: initial
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
/*
|
||||
* Copyright 2000-2012 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.intellij.ide.actions;
|
||||
|
||||
import com.intellij.ide.util.newProjectWizard.ImportProjectWizard;
|
||||
import com.intellij.openapi.actionSystem.AnAction;
|
||||
import com.intellij.openapi.actionSystem.AnActionEvent;
|
||||
import com.intellij.openapi.actionSystem.Presentation;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.fileChooser.FileChooserDescriptor;
|
||||
import com.intellij.openapi.fileChooser.FileChooserDescriptorFactory;
|
||||
import com.intellij.openapi.fileChooser.FileChooserDialog;
|
||||
import com.intellij.openapi.fileChooser.FileChooserFactory;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.Condition;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.projectImport.ProjectImportBuilder;
|
||||
import com.intellij.projectImport.ProjectImportProvider;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
|
||||
/**
|
||||
* @author Dmitry Avdeev
|
||||
* Date: 10/31/12
|
||||
*/
|
||||
public class ImportProjectAction extends AnAction {
|
||||
|
||||
@Override
|
||||
public void actionPerformed(AnActionEvent e) {
|
||||
final Project project = getEventProject(e);
|
||||
FileChooserDescriptor descriptor = FileChooserDescriptorFactory.createSingleFileOrFolderDescriptor();
|
||||
FileChooserDialog chooser = FileChooserFactory.getInstance().createFileChooser(descriptor, project, null);
|
||||
VirtualFile[] files = chooser.choose(null, project);
|
||||
if (files.length > 0) {
|
||||
final VirtualFile file = files[0];
|
||||
ProjectImportProvider[] providers = ProjectImportProvider.PROJECT_IMPORT_PROVIDER.getExtensions();
|
||||
ProjectImportProvider provider = ContainerUtil.find(providers, new Condition<ProjectImportProvider>() {
|
||||
@Override
|
||||
public boolean value(ProjectImportProvider provider) {
|
||||
return (project != null || provider.canCreateNewProject()) && provider.isMyFile(file);
|
||||
}
|
||||
});
|
||||
if (provider != null) {
|
||||
ImportProjectWizard wizard = new ImportProjectWizard(project, provider, file);
|
||||
if (wizard.getStepCount() > 0) {
|
||||
boolean b = wizard.showAndGet();
|
||||
}
|
||||
else {
|
||||
ProjectImportBuilder builder = provider.getBuilder();
|
||||
builder.setFileToImport(file.getPath());
|
||||
builder.commit(project);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update(AnActionEvent e) {
|
||||
Presentation presentation = e.getPresentation();
|
||||
presentation.setText(getEventProject(e) == null ? "Import Project..." : "Import Module/Project...");
|
||||
presentation.setVisible(ApplicationManager.getApplication().isInternal());
|
||||
}
|
||||
}
|
||||
@@ -37,11 +37,13 @@ import com.intellij.openapi.project.ProjectManager;
|
||||
import com.intellij.openapi.projectRoots.ProjectJdkTable;
|
||||
import com.intellij.openapi.projectRoots.Sdk;
|
||||
import com.intellij.openapi.roots.ProjectRootManager;
|
||||
import com.intellij.openapi.roots.ui.configuration.DefaultModulesProvider;
|
||||
import com.intellij.openapi.roots.ui.configuration.ModulesProvider;
|
||||
import com.intellij.openapi.ui.Messages;
|
||||
import com.intellij.openapi.util.Condition;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.projectImport.ProjectImportProvider;
|
||||
import com.intellij.ui.IdeBorderFactory;
|
||||
import com.intellij.util.Function;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
@@ -56,6 +58,7 @@ public class AddModuleWizard extends AbstractWizard<ModuleWizardStep> {
|
||||
private static final String ADD_MODULE_TITLE = IdeBundle.message("title.add.module");
|
||||
private static final String NEW_PROJECT_TITLE = IdeBundle.message("title.new.project");
|
||||
private final Project myCurrentProject;
|
||||
private ProjectImportProvider myImportProvider;
|
||||
private final ModulesProvider myModulesProvider;
|
||||
private WizardContext myWizardContext;
|
||||
protected ProjectCreateModeStep myRootStep;
|
||||
@@ -81,6 +84,14 @@ public class AddModuleWizard extends AbstractWizard<ModuleWizardStep> {
|
||||
initModuleWizard(project, null);
|
||||
}
|
||||
|
||||
protected AddModuleWizard(String title, Project project, ProjectImportProvider importProvider, String filePath) {
|
||||
super(title, project);
|
||||
myCurrentProject = project;
|
||||
myImportProvider = importProvider;
|
||||
myModulesProvider = DefaultModulesProvider.createForProject(project);
|
||||
initModuleWizard(project, filePath);
|
||||
}
|
||||
|
||||
private void initModuleWizard(@Nullable final Project project, @Nullable final String defaultPath) {
|
||||
myWizardContext = new WizardContext(project);
|
||||
if (defaultPath != null) {
|
||||
@@ -97,6 +108,20 @@ public class AddModuleWizard extends AbstractWizard<ModuleWizardStep> {
|
||||
}
|
||||
});
|
||||
|
||||
if (myImportProvider == null) {
|
||||
initSteps(defaultPath);
|
||||
}
|
||||
else {
|
||||
myWizardContext.setProjectBuilder(myImportProvider.getBuilder());
|
||||
ModuleWizardStep[] steps = myImportProvider.createSteps(myWizardContext);
|
||||
for (ModuleWizardStep step : steps) {
|
||||
addStep(step);
|
||||
}
|
||||
}
|
||||
init();
|
||||
}
|
||||
|
||||
protected void initSteps(final String defaultPath) {
|
||||
myRootStep = new ProjectCreateModeStep(defaultPath, myWizardContext){
|
||||
protected void update() {
|
||||
updateButtons();
|
||||
@@ -106,7 +131,6 @@ public class AddModuleWizard extends AbstractWizard<ModuleWizardStep> {
|
||||
for (WizardMode mode : myRootStep.getModes()) {
|
||||
appendSteps(mode.getSteps(myWizardContext, myModulesProvider));
|
||||
}
|
||||
init();
|
||||
}
|
||||
|
||||
private void appendSteps(@Nullable final StepSequence sequence) {
|
||||
@@ -126,9 +150,9 @@ public class AddModuleWizard extends AbstractWizard<ModuleWizardStep> {
|
||||
}
|
||||
|
||||
protected void updateStep() {
|
||||
final ModuleWizardStep currentStep = getCurrentStepObject();
|
||||
currentStep.updateStep();
|
||||
|
||||
if (!mySteps.isEmpty()) {
|
||||
getCurrentStepObject().updateStep();
|
||||
}
|
||||
super.updateStep();
|
||||
}
|
||||
|
||||
@@ -224,30 +248,40 @@ public class AddModuleWizard extends AbstractWizard<ModuleWizardStep> {
|
||||
}
|
||||
|
||||
protected final int getNextStep(int step) {
|
||||
ModuleWizardStep nextStep = null;
|
||||
final StepSequence stepSequence = getMode().getSteps(myWizardContext, myModulesProvider);
|
||||
if (stepSequence != null) {
|
||||
if (myRootStep == mySteps.get(step)) {
|
||||
return mySteps.indexOf(stepSequence.getFirstStep());
|
||||
}
|
||||
nextStep = stepSequence.getNextStep(mySteps.get(step));
|
||||
while (nextStep != null && !nextStep.isStepVisible()) {
|
||||
nextStep = stepSequence.getNextStep(nextStep);
|
||||
if (myRootStep != null) {
|
||||
ModuleWizardStep nextStep = null;
|
||||
final StepSequence stepSequence = getMode().getSteps(myWizardContext, myModulesProvider);
|
||||
if (stepSequence != null) {
|
||||
if (myRootStep == mySteps.get(step)) {
|
||||
return mySteps.indexOf(stepSequence.getFirstStep());
|
||||
}
|
||||
nextStep = stepSequence.getNextStep(mySteps.get(step));
|
||||
while (nextStep != null && !nextStep.isStepVisible()) {
|
||||
nextStep = stepSequence.getNextStep(nextStep);
|
||||
}
|
||||
}
|
||||
return nextStep == null ? step : mySteps.indexOf(nextStep);
|
||||
}
|
||||
else {
|
||||
return super.getNextStep(step);
|
||||
}
|
||||
return nextStep == null ? step : mySteps.indexOf(nextStep);
|
||||
}
|
||||
|
||||
protected final int getPreviousStep(final int step) {
|
||||
ModuleWizardStep previousStep = null;
|
||||
final StepSequence stepSequence = getMode().getSteps(myWizardContext, myModulesProvider);
|
||||
if (stepSequence != null) {
|
||||
previousStep = stepSequence.getPreviousStep(mySteps.get(step));
|
||||
while (previousStep != null && !previousStep.isStepVisible()) {
|
||||
previousStep = stepSequence.getPreviousStep(previousStep);
|
||||
if (myRootStep != null) {
|
||||
ModuleWizardStep previousStep = null;
|
||||
final StepSequence stepSequence = getMode().getSteps(myWizardContext, myModulesProvider);
|
||||
if (stepSequence != null) {
|
||||
previousStep = stepSequence.getPreviousStep(mySteps.get(step));
|
||||
while (previousStep != null && !previousStep.isStepVisible()) {
|
||||
previousStep = stepSequence.getPreviousStep(previousStep);
|
||||
}
|
||||
}
|
||||
return previousStep == null ? 0 : mySteps.indexOf(previousStep);
|
||||
}
|
||||
else {
|
||||
return super.getPreviousStep(step);
|
||||
}
|
||||
return previousStep == null ? 0 : mySteps.indexOf(previousStep);
|
||||
}
|
||||
|
||||
private WizardMode getMode() {
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
/*
|
||||
* Copyright 2000-2012 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.intellij.ide.util.newProjectWizard;
|
||||
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.projectImport.ProjectImportProvider;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
/**
|
||||
* @author Dmitry Avdeev
|
||||
* Date: 10/31/12
|
||||
*/
|
||||
public class ImportProjectWizard extends AddModuleWizard {
|
||||
|
||||
private final ProjectImportProvider myProvider;
|
||||
private final VirtualFile myFile;
|
||||
|
||||
public ImportProjectWizard(@Nullable Project project,
|
||||
@NotNull ProjectImportProvider provider,
|
||||
VirtualFile file) {
|
||||
|
||||
super("Import Project/Module", project, provider, file.getPath());
|
||||
myProvider = provider;
|
||||
myFile = file;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,76 @@
|
||||
/*
|
||||
* Copyright 2000-2012 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.intellij.ide.util.projectWizard;
|
||||
|
||||
import com.intellij.ide.util.newProjectWizard.modes.ImportImlMode;
|
||||
import com.intellij.openapi.module.ModifiableModuleModel;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.options.ConfigurationException;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.roots.ui.configuration.ModulesProvider;
|
||||
import com.intellij.packaging.artifacts.ModifiableArtifactModel;
|
||||
import com.intellij.projectImport.ProjectImportBuilder;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author Dmitry Avdeev
|
||||
* Date: 10/31/12
|
||||
*/
|
||||
public class ModuleImportBuilder extends ProjectImportBuilder {
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public String getName() {
|
||||
return "";
|
||||
}
|
||||
|
||||
@Override
|
||||
public Icon getIcon() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List getList() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isMarked(Object element) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setList(List list) throws ConfigurationException {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setOpenProjectSettingsAfter(boolean on) {
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public List<Module> commit(Project project,
|
||||
ModifiableModuleModel model,
|
||||
ModulesProvider modulesProvider,
|
||||
ModifiableArtifactModel artifactModel) {
|
||||
|
||||
return ImportImlMode.setUpLoader(getFileToImport()).commit(project, model, modulesProvider);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
/*
|
||||
* Copyright 2000-2012 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.intellij.ide.util.projectWizard;
|
||||
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.projectImport.ProjectImportProvider;
|
||||
|
||||
/**
|
||||
* @author Dmitry Avdeev
|
||||
* Date: 10/31/12
|
||||
*/
|
||||
public class ModuleImportProvider extends ProjectImportProvider {
|
||||
|
||||
public ModuleImportProvider() {
|
||||
super(new ModuleImportBuilder());
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isMyFile(VirtualFile file) {
|
||||
return "iml".equals(file.getExtension());
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canCreateNewProject() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ModuleWizardStep[] createSteps(WizardContext context) {
|
||||
return ModuleWizardStep.EMPTY_ARRAY;
|
||||
}
|
||||
}
|
||||
@@ -20,12 +20,13 @@ import com.intellij.ide.IdeBundle;
|
||||
import com.intellij.ide.util.projectWizard.ProjectBuilder;
|
||||
import com.intellij.openapi.actionSystem.PlatformDataKeys;
|
||||
import com.intellij.openapi.extensions.ExtensionPointName;
|
||||
import com.intellij.openapi.module.ModifiableModuleModel;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.options.ConfigurationException;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.module.ModifiableModuleModel;
|
||||
import com.intellij.openapi.roots.ui.configuration.ModulesProvider;
|
||||
import com.intellij.packaging.artifacts.ModifiableArtifactModel;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import javax.swing.*;
|
||||
@@ -38,7 +39,9 @@ public abstract class ProjectImportBuilder<T> extends ProjectBuilder {
|
||||
public static final ExtensionPointName<ProjectImportBuilder> EXTENSIONS_POINT_NAME = ExtensionPointName.create("com.intellij.projectImportBuilder");
|
||||
|
||||
private boolean myUpdate;
|
||||
private String myFileToImport;
|
||||
|
||||
@NotNull
|
||||
public abstract String getName();
|
||||
|
||||
public abstract Icon getIcon();
|
||||
@@ -59,6 +62,14 @@ public abstract class ProjectImportBuilder<T> extends ProjectBuilder {
|
||||
@Nullable
|
||||
public abstract List<Module> commit(Project project, ModifiableModuleModel model, ModulesProvider modulesProvider, ModifiableArtifactModel artifactModel);
|
||||
|
||||
public void setFileToImport(String path) {
|
||||
myFileToImport = path;
|
||||
}
|
||||
|
||||
protected String getFileToImport() {
|
||||
return myFileToImport;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public static Project getCurrentProject() {
|
||||
return PlatformDataKeys.PROJECT.getData(DataManager.getInstance().getDataContext());
|
||||
|
||||
@@ -23,6 +23,7 @@ package com.intellij.projectImport;
|
||||
import com.intellij.ide.util.projectWizard.ModuleWizardStep;
|
||||
import com.intellij.ide.util.projectWizard.WizardContext;
|
||||
import com.intellij.openapi.extensions.ExtensionPointName;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@@ -57,5 +58,13 @@ public abstract class ProjectImportProvider {
|
||||
return getBuilder().getIcon();
|
||||
}
|
||||
|
||||
public boolean isMyFile(VirtualFile file) {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean canCreateNewProject() {
|
||||
return true;
|
||||
}
|
||||
|
||||
public abstract ModuleWizardStep[] createSteps(WizardContext context);
|
||||
}
|
||||
|
||||
@@ -26,6 +26,7 @@ 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.DefaultModulesProvider;
|
||||
import com.intellij.openapi.roots.ui.configuration.ModulesProvider;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -39,6 +40,10 @@ public abstract class ProjectBuilder {
|
||||
@Nullable
|
||||
public abstract List<Module> commit(final Project project, @Nullable final ModifiableModuleModel model, final ModulesProvider modulesProvider);
|
||||
|
||||
public List<Module> commit(@Nullable Project project) {
|
||||
return commit(project, null, DefaultModulesProvider.createForProject(project));
|
||||
}
|
||||
|
||||
public boolean validate(Project current, Project dest) {
|
||||
return true;
|
||||
}
|
||||
|
||||
+7
-1
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2009 JetBrains s.r.o.
|
||||
* Copyright 2000-2012 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -24,11 +24,17 @@ import com.intellij.openapi.roots.ModuleRootModel;
|
||||
import com.intellij.facet.FacetModel;
|
||||
import com.intellij.facet.FacetManager;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
/**
|
||||
* @author nik
|
||||
*/
|
||||
public class DefaultModulesProvider implements ModulesProvider {
|
||||
|
||||
public static ModulesProvider createForProject(@Nullable Project project) {
|
||||
return project == null ? EMPTY_MODULES_PROVIDER : new DefaultModulesProvider(project);
|
||||
}
|
||||
|
||||
private final Project myProject;
|
||||
|
||||
public DefaultModulesProvider(final Project project) {
|
||||
@@ -292,6 +292,10 @@ public abstract class AbstractWizard<T extends Step> extends DialogWrapper {
|
||||
return myCurrentStep;
|
||||
}
|
||||
|
||||
public int getStepCount() {
|
||||
return mySteps.size();
|
||||
}
|
||||
|
||||
public T getCurrentStepObject() {
|
||||
return mySteps.get(myCurrentStep);
|
||||
}
|
||||
@@ -413,7 +417,7 @@ public abstract class AbstractWizard<T extends Step> extends DialogWrapper {
|
||||
}
|
||||
|
||||
protected void updateStep() {
|
||||
if (mySteps.size() == 0) {
|
||||
if (mySteps.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -154,8 +154,8 @@
|
||||
<separator/>
|
||||
<action id="SaveAll" class="com.intellij.ide.actions.SaveAllAction" icon="AllIcons.Actions.Menu_saveall"/>
|
||||
<group id="ExportImportGroup">
|
||||
<action id="ExportSettings" class="com.intellij.ide.actions.ExportSettingsAction"/>
|
||||
<action id="ImportSettings" class="com.intellij.ide.actions.ImportSettingsAction"/>
|
||||
<action id="ExportSettings" class="com.intellij.ide.actions.ExportSettingsAction"/>
|
||||
</group>
|
||||
<separator/>
|
||||
<action id="Synchronize" class="com.intellij.ide.actions.SynchronizeAction" icon="AllIcons.Actions.Refresh"/>
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
</module-components>
|
||||
<actions>
|
||||
<action id="ExportToEclipse" class="org.jetbrains.idea.eclipse.export.ExportEclipseProjectsAction" text="Export to Eclipse...">
|
||||
<add-to-group group-id="ExportImportGroup" anchor="after" relative-to-action="ImportSettings"/>
|
||||
<add-to-group group-id="ExportImportGroup" anchor="after" relative-to-action="ExportSettings"/>
|
||||
</action>
|
||||
</actions>
|
||||
</idea-plugin>
|
||||
@@ -85,6 +85,7 @@ public class EclipseImportBuilder extends ProjectImportBuilder<String> implement
|
||||
private Parameters parameters;
|
||||
|
||||
|
||||
@NotNull
|
||||
public String getName() {
|
||||
return EclipseBundle.message("eclipse.name");
|
||||
}
|
||||
|
||||
+1
@@ -49,6 +49,7 @@ public class GradleProjectImportBuilder extends ProjectImportBuilder<GradleProje
|
||||
private GradleProject myGradleProject;
|
||||
private File myProjectFile;
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public String getName() {
|
||||
return GradleBundle.message("gradle.name");
|
||||
|
||||
+3
-1
@@ -30,6 +30,7 @@ import com.intellij.openapi.vfs.LocalFileSystem;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.packaging.artifacts.ModifiableArtifactModel;
|
||||
import com.intellij.projectImport.ProjectImportBuilder;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.idea.maven.importing.MavenDefaultModifiableModelsProvider;
|
||||
import org.jetbrains.idea.maven.importing.MavenUIModifiableModelsProvider;
|
||||
@@ -60,6 +61,7 @@ public class MavenProjectBuilder extends ProjectImportBuilder<MavenProject> {
|
||||
|
||||
private Parameters myParameters;
|
||||
|
||||
@NotNull
|
||||
public String getName() {
|
||||
return ProjectBundle.message("maven.name");
|
||||
}
|
||||
@@ -181,7 +183,7 @@ public class MavenProjectBuilder extends ProjectImportBuilder<MavenProject> {
|
||||
});
|
||||
}
|
||||
|
||||
private boolean runConfigurationProcess(String message, MavenTask p) {
|
||||
private static boolean runConfigurationProcess(String message, MavenTask p) {
|
||||
try {
|
||||
MavenUtil.run(null, message, p);
|
||||
}
|
||||
|
||||
+5
@@ -78,4 +78,9 @@ public class MavenProjectImportProvider extends ProjectImportProvider {
|
||||
}
|
||||
}, stepFactory.createProjectJdkStep(wizardContext), stepFactory.createNameAndLocationStep(wizardContext)};
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isMyFile(VirtualFile file) {
|
||||
return "pom.xml".equals(file.getName());
|
||||
}
|
||||
}
|
||||
@@ -57,9 +57,11 @@
|
||||
</action>
|
||||
|
||||
|
||||
<action id="SaveAsNewFormat" class="com.intellij.ide.actions.SaveAsDirectoryBasedFormatAction" text="Save as Directory-Based Format...">
|
||||
<group>
|
||||
<action id="SaveAsNewFormat" class="com.intellij.ide.actions.SaveAsDirectoryBasedFormatAction" text="Save as Directory-Based Format..."/>
|
||||
<action class="com.intellij.ide.actions.ImportProjectAction"/>
|
||||
<add-to-group group-id="ExportImportGroup" anchor="first"/>
|
||||
</action>
|
||||
</group>
|
||||
|
||||
<!-- Edit -->
|
||||
<reference ref="EditorCompleteStatement">
|
||||
|
||||
@@ -297,6 +297,7 @@
|
||||
order="after CreateFromScratchMode"/>
|
||||
<wizardMode implementation="com.intellij.ide.util.newProjectWizard.modes.ImportMode" order="before ImportImlMode"/>
|
||||
<wizardMode implementation="com.intellij.ide.util.newProjectWizard.modes.ImportImlMode" id="ImportImlMode"/>
|
||||
<projectImportProvider implementation="com.intellij.ide.util.projectWizard.ModuleImportProvider"/>
|
||||
|
||||
<projectTemplatesFactory implementation="com.intellij.platform.templates.ArchivedTemplatesFactory"/>
|
||||
<projectTemplatesFactory implementation="com.intellij.platform.templates.PlainModuleTemplatesFactory"/>
|
||||
|
||||
Reference in New Issue
Block a user