mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-85155 When creating a new Maven module, validate that a Maven installation is found before letting me proceed with a wizard
This commit is contained in:
@@ -27,6 +27,7 @@ import com.intellij.ui.PanelWithAnchor;
|
||||
import com.intellij.ui.components.JBLabel;
|
||||
import com.intellij.util.Alarm;
|
||||
import com.intellij.util.ui.UIUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.idea.maven.utils.MavenUtil;
|
||||
|
||||
@@ -127,6 +128,11 @@ public class MavenEnvironmentForm implements PanelWithAnchor {
|
||||
localRepositoryOverrider.reset(data.getLocalRepository());
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public String getMavenHome() {
|
||||
return mavenHomeOverrider.getResult();
|
||||
}
|
||||
|
||||
public JComponent createComponent() {
|
||||
// all listeners will be removed when dialog is closed
|
||||
mavenHomeComponent.getComponent().addBrowseFolderListener(ProjectBundle.message("maven.select.maven.home.directory"), "", null,
|
||||
|
||||
+17
-3
@@ -16,21 +16,21 @@
|
||||
package org.jetbrains.idea.maven.wizards;
|
||||
|
||||
import com.intellij.ide.util.projectWizard.ModuleWizardStep;
|
||||
import com.intellij.openapi.options.ConfigurationException;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.project.ProjectManager;
|
||||
import com.intellij.util.containers.hash.HashMap;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.idea.maven.execution.MavenPropertiesPanel;
|
||||
import org.jetbrains.idea.maven.indices.MavenIndex;
|
||||
import org.jetbrains.idea.maven.model.MavenArchetype;
|
||||
import org.jetbrains.idea.maven.model.MavenId;
|
||||
import org.jetbrains.idea.maven.project.MavenEnvironmentForm;
|
||||
import org.jetbrains.idea.maven.project.MavenGeneralSettings;
|
||||
import org.jetbrains.idea.maven.project.MavenProjectsManager;
|
||||
import org.jetbrains.idea.maven.utils.MavenUtil;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
import java.util.Collections;
|
||||
import java.io.File;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -100,6 +100,20 @@ public class SelectPropertiesStep extends ModuleWizardStep {
|
||||
return myBuilder.getArchetype() != null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean validate() throws ConfigurationException {
|
||||
File mavenHome = MavenUtil.resolveMavenHomeDirectory(myEnvironmentForm.getMavenHome());
|
||||
if (mavenHome == null) {
|
||||
throw new ConfigurationException("Maven home directory is not specified");
|
||||
}
|
||||
|
||||
if (!MavenUtil.isValidMavenHome(mavenHome)) {
|
||||
throw new ConfigurationException("Maven home directory is invalid: " + mavenHome);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateDataModel() {
|
||||
myBuilder.setEnvironmentForm(myEnvironmentForm);
|
||||
|
||||
Reference in New Issue
Block a user