Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Piggott2011-04-14 19:50:01 +0000
committerMatthew Piggott2011-04-14 19:51:00 +0000
commitf577d68e46ec30be919d30b0ca46c6b57cad2b6b (patch)
treee58c6f182211368f71477ac9e27be568f7eb9418 /org.eclipse.m2e.core.ui
parent8eaaec7cefcb9b92a9a6bc9c4afc1dd11b10c082 (diff)
downloadm2e-core-f577d68e46ec30be919d30b0ca46c6b57cad2b6b.tar.gz
m2e-core-f577d68e46ec30be919d30b0ca46c6b57cad2b6b.tar.xz
m2e-core-f577d68e46ec30be919d30b0ca46c6b57cad2b6b.zip
Bug 339968 - Lifecycle Mapping Page improvements
- passed.png from http://code.google.com/a/eclipselabs.org/p/workspacemechanic/
Diffstat (limited to 'org.eclipse.m2e.core.ui')
-rw-r--r--org.eclipse.m2e.core.ui/help/LifecycleMappingPage.html26
-rw-r--r--org.eclipse.m2e.core.ui/helpContext.xml5
-rw-r--r--org.eclipse.m2e.core.ui/icons/passed.pngbin0 -> 611 bytes
-rw-r--r--org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/MavenImages.java9
-rw-r--r--org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/Messages.java16
-rw-r--r--org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/lifecyclemapping/AggregateMappingLabelProvider.java34
-rw-r--r--org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/lifecyclemapping/ILifecycleMappingLabelProvider.java6
-rw-r--r--org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/lifecyclemapping/MojoExecutionMappingLabelProvider.java12
-rw-r--r--org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/lifecyclemapping/PackagingTypeMappingLabelProvider.java11
-rw-r--r--org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/messages.properties222
-rw-r--r--org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/wizards/LifecycleMappingPage.java238
-rw-r--r--org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/wizards/MavenImportWizard.java67
12 files changed, 468 insertions, 178 deletions
diff --git a/org.eclipse.m2e.core.ui/help/LifecycleMappingPage.html b/org.eclipse.m2e.core.ui/help/LifecycleMappingPage.html
new file mode 100644
index 00000000..248d0c98
--- /dev/null
+++ b/org.eclipse.m2e.core.ui/help/LifecycleMappingPage.html
@@ -0,0 +1,26 @@
+<html>
+ <head>
+ <title>m2e Lifecycle Mapping</title>
+ </head>
+<body>
+<h3>Column Descriptions</h3>
+<ul>
+<li><b>Maven Build</b> - step of Maven execution which requires special handling in Eclipse</li>
+<li><b>Action</b> - action for m2e to use to handle the Maven exceution</li>
+</ul>
+
+<h3>Available Actions</h3>
+<ul>
+<li><b>Resolve Later</b> - Make no changes, errors will exist after import</li>
+<li><b>Install ...</b> - Installs an Eclipse plugin which handles execution (not always available)</li>
+<li><b>Do Not Execute (add to pom)</b> - Add lifecycle metadata to executing pom(s) to ignore goal in m2e</li>
+<li><b>Do Not Execute (add to parent)</b> - As above except metadata is added to pom(s) that add the plugin</li>
+</ul>
+
+<h3>Lifecycle Mapping</h3>
+<p>M2Eclipse requires metadata to map Maven execution goals to actions within Eclipse. The m2e marketplace contains Eclipse plugins to provide this metadata for common Maven plugins.</p>
+
+<p>As safe defaults cannot be provided for every execution goal, custom lifecycle mapping metadata can be embedded into the pom or the goal can be ignored using a quickfix (it is up to the developer to determine which is the correct behaviour for their project.)</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/org.eclipse.m2e.core.ui/helpContext.xml b/org.eclipse.m2e.core.ui/helpContext.xml
index e0eeef21..c0c4f72f 100644
--- a/org.eclipse.m2e.core.ui/helpContext.xml
+++ b/org.eclipse.m2e.core.ui/helpContext.xml
@@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<contexts>
<context id="LifecycleMappingPage" title="Maven Plugin Connectors">
- <description>M2Eclipse requires metadata to map Maven execution goals to actions within Eclipse. The m2e marketplace contains Eclipse plugins to provide this metadata for common Maven plugins.
-
-As safe defaults cannot be provided for every execution goal, custom lifecycle mapping metadata can be embedded into the pom or the goal can be ignored using a quickfix (it is up to the developer to determine which is the correct behaviour for their project.)</description>
+ <description>m2e lifecycle mapping wizard</description>
+ <topic href="help/LifecycleMappingPage.html" label="Lifecycle Mapping"/>
</context>
</contexts>
diff --git a/org.eclipse.m2e.core.ui/icons/passed.png b/org.eclipse.m2e.core.ui/icons/passed.png
new file mode 100644
index 00000000..f212b911
--- /dev/null
+++ b/org.eclipse.m2e.core.ui/icons/passed.png
Binary files differ
diff --git a/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/MavenImages.java b/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/MavenImages.java
index 62f55360..683dc448 100644
--- a/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/MavenImages.java
+++ b/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/MavenImages.java
@@ -11,14 +11,15 @@
package org.eclipse.m2e.core.ui.internal;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.resource.ImageRegistry;
import org.eclipse.jface.viewers.DecorationOverlayIcon;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.ImageData;
import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
@@ -71,7 +72,9 @@ public class MavenImages {
public static final Image IMG_OPEN_POM = createImage("open_pom.gif"); //$NON-NLS-1$
- // public static final Image IMG_POM = createImage("pom_obj.gif");
+ public static final Image IMG_PASSED = createImage("passed.png"); //$NON-NLS-1$
+
+ public static final Image IMG_POM = createImage("pom_obj.gif"); //$NON-NLS-1$
public static final Image IMG_UPD_DEPENDENCIES = createImage("update_dependencies.gif"); //$NON-NLS-1$
diff --git a/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/Messages.java b/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/Messages.java
index eac4726c..f1d34f58 100644
--- a/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/Messages.java
+++ b/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/Messages.java
@@ -94,10 +94,20 @@ public class Messages extends NLS {
public static String LifecycleMappingPage_deselectAllButton;
- public static String LifecycleMappingPage_detailsLabel;
+ public static String LifecycleMappingPage_descriptionLabel;
+
+ public static String LifecycleMappingPage_doNotExecuteParent;
+
+ public static String LifecycleMappingPage_doNotExecuteParentDescription;
+
+ public static String LifecycleMappingPage_doNotExecutePom;
+
+ public static String LifecycleMappingPage_doNotExecutePomDescription;
public static String LifecycleMappingPage_errorCreatingDiscoveryPage;
+ public static String LifecycleMappingPage_errorMavenBuild;
+
public static String LifecycleMappingPage_installDescription;
public static String LifecycleMappingPage_licenseLabel;
@@ -106,7 +116,9 @@ public class Messages extends NLS {
public static String LifecycleMappingPage_noMarketplaceEntryDescription;
- public static String LifecycleMappingPage_takeNoActionDescription;
+ public static String LifecycleMappingPage_numErrors;
+
+ public static String LifecycleMappingPage_resolveLaterDescription;
public static String LifecycleMappingPage_title;
diff --git a/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/lifecyclemapping/AggregateMappingLabelProvider.java b/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/lifecyclemapping/AggregateMappingLabelProvider.java
index 01ad0840..4ee049ef 100644
--- a/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/lifecyclemapping/AggregateMappingLabelProvider.java
+++ b/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/lifecyclemapping/AggregateMappingLabelProvider.java
@@ -8,10 +8,15 @@
package org.eclipse.m2e.core.ui.internal.lifecyclemapping;
+import java.util.Collection;
+import java.util.HashSet;
import java.util.List;
+import java.util.Set;
import org.eclipse.osgi.util.NLS;
+import org.apache.maven.project.MavenProject;
+
import org.eclipse.m2e.core.internal.lifecyclemapping.discovery.ILifecycleMappingRequirement;
import org.eclipse.m2e.core.internal.lifecyclemapping.discovery.LifecycleMappingConfiguration;
import org.eclipse.m2e.core.internal.lifecyclemapping.discovery.MojoExecutionMappingConfiguration.MojoExecutionMappingRequirement;
@@ -38,16 +43,15 @@ public class AggregateMappingLabelProvider implements ILifecycleMappingLabelProv
public String getMavenText() {
if(element instanceof LifecycleStrategyMappingRequirement) {
- return NLS.bind("Connector {0}",
- ((LifecycleStrategyMappingRequirement) element).getLifecycleMappingId());
+ return NLS.bind("Connector {0}", ((LifecycleStrategyMappingRequirement) element).getLifecycleMappingId());
} else if(element instanceof MojoExecutionMappingRequirement) {
MojoExecutionKey exec = ((MojoExecutionMappingRequirement) element).getExecution();
- return exec.getArtifactId() + ":" + exec.getVersion() + ":" + exec.getGoal(); //TODO
+ return NLS.bind("{0}:{1}:{2}",
+ new String[] {exec.getArtifactId(), exec.getVersion(), exec.getGoal(), String.valueOf(content.size())});
} else if(element instanceof PackagingTypeMappingRequirement) {
return NLS.bind("Packaging {0}", ((PackagingTypeMappingRequirement) element).getPackaging());
} else if(element instanceof ProjectConfiguratorMappingRequirement) {
- return NLS.bind("Connector {0}",
- ((ProjectConfiguratorMappingRequirement) element).getProjectConfiguratorId());
+ return NLS.bind("Connector {0}", ((ProjectConfiguratorMappingRequirement) element).getProjectConfiguratorId());
}
throw new IllegalStateException();
}
@@ -62,11 +66,29 @@ public class AggregateMappingLabelProvider implements ILifecycleMappingLabelProv
}
public ILifecycleMappingLabelProvider[] getChildren() {
- return content.toArray(new ILifecycleMappingLabelProvider[0]);
+ return content.toArray(new ILifecycleMappingLabelProvider[content.size()]);
}
public ILifecycleMappingRequirement getKey() {
return element;
}
+ public Collection<MavenProject> getProjects() {
+ Set<MavenProject> projects = new HashSet<MavenProject>();
+ for(ILifecycleMappingLabelProvider provider : content) {
+ projects.addAll(provider.getProjects());
+ }
+ return projects;
+ }
+
+ public int hashCode() {
+ return getMavenText().hashCode();
+ }
+
+ public boolean equals(Object other) {
+ if(other instanceof AggregateMappingLabelProvider) {
+ return other.hashCode() == hashCode();
+ }
+ return false;
+ }
}
diff --git a/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/lifecyclemapping/ILifecycleMappingLabelProvider.java b/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/lifecyclemapping/ILifecycleMappingLabelProvider.java
index ff7a1213..18e1c669 100644
--- a/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/lifecyclemapping/ILifecycleMappingLabelProvider.java
+++ b/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/lifecyclemapping/ILifecycleMappingLabelProvider.java
@@ -8,6 +8,10 @@
package org.eclipse.m2e.core.ui.internal.lifecyclemapping;
+import java.util.Collection;
+
+import org.apache.maven.project.MavenProject;
+
import org.eclipse.m2e.core.internal.lifecyclemapping.discovery.ILifecycleMappingRequirement;
import org.eclipse.m2e.core.internal.lifecyclemapping.discovery.LifecycleMappingConfiguration;
@@ -26,4 +30,6 @@ public interface ILifecycleMappingLabelProvider {
public boolean isError(LifecycleMappingConfiguration mappingConfiguration);
public ILifecycleMappingRequirement getKey();
+
+ public Collection<MavenProject> getProjects();
}
diff --git a/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/lifecyclemapping/MojoExecutionMappingLabelProvider.java b/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/lifecyclemapping/MojoExecutionMappingLabelProvider.java
index b5ece9dd..8a0be10d 100644
--- a/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/lifecyclemapping/MojoExecutionMappingLabelProvider.java
+++ b/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/lifecyclemapping/MojoExecutionMappingLabelProvider.java
@@ -8,8 +8,13 @@
package org.eclipse.m2e.core.ui.internal.lifecyclemapping;
+import java.util.Collection;
+import java.util.Collections;
+
import org.eclipse.osgi.util.NLS;
+import org.apache.maven.project.MavenProject;
+
import org.eclipse.m2e.core.internal.lifecyclemapping.LifecycleMappingFactory;
import org.eclipse.m2e.core.internal.lifecyclemapping.discovery.ILifecycleMappingRequirement;
import org.eclipse.m2e.core.internal.lifecyclemapping.discovery.LifecycleMappingConfiguration;
@@ -60,4 +65,11 @@ public class MojoExecutionMappingLabelProvider implements ILifecycleMappingLabel
public ILifecycleMappingRequirement getKey() {
return element.getLifecycleMappingRequirement();
}
+
+ /* (non-Javadoc)
+ * @see org.eclipse.m2e.core.ui.internal.lifecyclemapping.ILifecycleMappingLabelProvider#getProjects()
+ */
+ public Collection<MavenProject> getProjects() {
+ return Collections.singleton(prjconf.getMavenProject());
+ }
}
diff --git a/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/lifecyclemapping/PackagingTypeMappingLabelProvider.java b/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/lifecyclemapping/PackagingTypeMappingLabelProvider.java
index 68ef746c..215bd061 100644
--- a/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/lifecyclemapping/PackagingTypeMappingLabelProvider.java
+++ b/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/lifecyclemapping/PackagingTypeMappingLabelProvider.java
@@ -8,6 +8,11 @@
package org.eclipse.m2e.core.ui.internal.lifecyclemapping;
+import java.util.Collection;
+import java.util.Collections;
+
+import org.apache.maven.project.MavenProject;
+
import org.eclipse.m2e.core.internal.lifecyclemapping.discovery.ILifecycleMappingRequirement;
import org.eclipse.m2e.core.internal.lifecyclemapping.discovery.LifecycleMappingConfiguration;
import org.eclipse.m2e.core.internal.lifecyclemapping.discovery.PackagingTypeMappingConfiguration;
@@ -49,4 +54,10 @@ public class PackagingTypeMappingLabelProvider implements ILifecycleMappingLabel
return element.getLifecycleMappingRequirement();
}
+ /* (non-Javadoc)
+ * @see org.eclipse.m2e.core.ui.internal.lifecyclemapping.ILifecycleMappingLabelProvider#getProjects()
+ */
+ public Collection<MavenProject> getProjects() {
+ return Collections.singleton(prjconf.getMavenProject());
+ }
}
diff --git a/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/messages.properties b/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/messages.properties
index 6546299a..eed8c7b5 100644
--- a/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/messages.properties
+++ b/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/messages.properties
@@ -1,31 +1,33 @@
+#Eclipse modern messages class
+#Thu Apr 14 10:24:40 EDT 2011
AddDependencyAction_error_msg=Can't add dependency to {0}
AddDependencyAction_error_title=Add Dependency
AddDependencyAction_searchDialog_title=Add Dependency
-AddDependencyDialog_artifactId_label=Artifact Id:
-AddDependencyDialog_groupId_label=Group Id:
-AddDependencyDialog_scope_label=Scope:
-AddDependencyDialog_version_label=Version:
+AddDependencyDialog_artifactId_label=Artifact Id\:
+AddDependencyDialog_groupId_label=Group Id\:
+AddDependencyDialog_scope_label=Scope\:
+AddDependencyDialog_version_label=Version\:
AddPluginAction_searchDialog_title=Add Plugin
ChangeNatureAction_job_changing=Changing nature
ChangeNatureAction_status_error=Can't change nature
CustomArchetypeDialog_error_artid=Archetype Artifact Id is required
CustomArchetypeDialog_error_grid=Archetype Group Id is required
CustomArchetypeDialog_error_version=Archetype Version is required
-CustomArchetypeDialog_lblArchetypeartifactid=Archetype Artifact Id:
-CustomArchetypeDialog_lblArchetypegroupId=Archetype Group Id:
-CustomArchetypeDialog_lblArchetypeversion=Archetype Version:
-CustomArchetypeDialog_lblRepo=Repository URL:
+CustomArchetypeDialog_lblArchetypeartifactid=Archetype Artifact Id\:
+CustomArchetypeDialog_lblArchetypegroupId=Archetype Group Id\:
+CustomArchetypeDialog_lblArchetypeversion=Archetype Version\:
+CustomArchetypeDialog_lblRepo=Repository URL\:
CustomArchetypeDialog_message=Specify Archetype and Maven repository URL
CustomRepositoriesNode_name=Custom Repositories
-EditDependencyDialog_artifactId_label=Artifact Id:
-EditDependencyDialog_classifier_label=Classifier:
-EditDependencyDialog_groupId_label=Group Id:
+EditDependencyDialog_artifactId_label=Artifact Id\:
+EditDependencyDialog_classifier_label=Classifier\:
+EditDependencyDialog_groupId_label=Group Id\:
EditDependencyDialog_optional_checkbox=Optional
-EditDependencyDialog_scope_label=Scope:
-EditDependencyDialog_systemPath_label=System Path:
+EditDependencyDialog_scope_label=Scope\:
+EditDependencyDialog_systemPath_label=System Path\:
EditDependencyDialog_title=Dependency Properties
-EditDependencyDialog_type_label=Type:
-EditDependencyDialog_version_label=Version:
+EditDependencyDialog_type_label=Type\:
+EditDependencyDialog_version_label=Version\:
EnableNatureAction_job_enable=Enabling Maven Dependency Management
EnableNatureAction_wizard_shell=Create new POM
GlobalRepositoriesNode_name=Global Repositories
@@ -33,22 +35,28 @@ IndexedArtifactNode_no_pack=[No Packaging]
LifecycleMappingPage_actionColumnTitle=Action
LifecycleMappingPage_autoSelectButton=&Auto Select
LifecycleMappingPage_description=Discover and map Eclipse plugins to Maven plugin goal executions.
-LifecycleMappingPage_deselectAllButton=&Deselect All
-LifecycleMappingPage_detailsLabel=Details
+LifecycleMappingPage_deselectAllButton=&Resolve All Later
+LifecycleMappingPage_descriptionLabel=Description
+LifecycleMappingPage_doNotExecuteParent=Do Not Execute (add to parent)
+LifecycleMappingPage_doNotExecuteParentDescription=Places metadata which tells m2e to ignore the execution in the pom(s) that adds the Maven plugin to the build.
+LifecycleMappingPage_doNotExecutePom=Do Not Execute (add to pom)
+LifecycleMappingPage_doNotExecutePomDescription=Places metadata which tells m2e to ignore the execution in the pom(s) that executes the Maven goal.
LifecycleMappingPage_errorCreatingDiscoveryPage=An error occurred creating discovery page.
+LifecycleMappingPage_errorMavenBuild={0} ({1} errors)
LifecycleMappingPage_installDescription=Install {0}
LifecycleMappingPage_licenseLabel=License
LifecycleMappingPage_mavenBuildColumnTitle=Maven Build
LifecycleMappingPage_noMarketplaceEntryDescription=No marketplace entries found to handle {0} in Eclipse. Please see Help for more information.
-LifecycleMappingPage_takeNoActionDescription=Take No Action
+LifecycleMappingPage_numErrors={0} errors
+LifecycleMappingPage_resolveLaterDescription=Resolve Later
LifecycleMappingPage_title=Setup Maven plugin connectors
LocalArchetypeCatalogDialog_btnBrowse=&Browse...
LocalArchetypeCatalogDialog_dialog_title=Select Archetype catalog
LocalArchetypeCatalogDialog_error_empty=Archetype catalog is empty
LocalArchetypeCatalogDialog_error_exist=Archetype catalog does not exist
LocalArchetypeCatalogDialog_error_no_location=Archetype catalog location is required
-LocalArchetypeCatalogDialog_lblCatalog=&Catalog File:
-LocalArchetypeCatalogDialog_lblDesc=Description:
+LocalArchetypeCatalogDialog_lblCatalog=&Catalog File\:
+LocalArchetypeCatalogDialog_lblDesc=Description\:
LocalArchetypeCatalogDialog_message=Specify catalog location and description
LocalArchetypeCatalogDialog_title=Local Archetype Catalog
LocalRepositoryNode_local=Local Repository
@@ -62,54 +70,29 @@ MavenArchetypesPreferencePage_btnAddRemote=Add &Remote Catalog...
MavenArchetypesPreferencePage_btnEdit=&Edit...
MavenArchetypesPreferencePage_btnRemove=&Remove
MavenArchetypesPreferencePage_error=Can't save archetype catalog configuration\n{0}
-MavenArchetypesPreferencePage_link=Add, remove or edit <a href="\#">Maven Archetype catalogs</a>:
-MavenArchetypesPreferencePage_local=Local: {0}
-MavenArchetypesPreferencePage_packaged=Packaged: {0}
-MavenArchetypesPreferencePage_remote=Remote: {0}
+MavenArchetypesPreferencePage_link=Add, remove or edit <a href\="\#">Maven Archetype catalogs</a>\:
+MavenArchetypesPreferencePage_local=Local\: {0}
+MavenArchetypesPreferencePage_packaged=Packaged\: {0}
+MavenArchetypesPreferencePage_remote=Remote\: {0}
MavenArchetypesPreferencePage_title=Maven Archetype Catalogs
MavenConsoleImpl_title=Maven Console
MavenConsolePageParticipant_any=Show Console on Any Output
MavenConsolePageParticipant_error=Show Console on Error
MavenConsoleRemoveAction_tooltip=Close Maven Console
MavenDebugOutputAction_0=Debug Output
-MavenDependenciesWizardPage_lblArtifacts=Maven Artifacts:
+MavenDependenciesWizardPage_lblArtifacts=Maven Artifacts\:
MavenDependenciesWizardPage_searchDialog_title=Add Dependency
MavenGoalSelectionDialog_btnQualified=Use &Qualified Name
MavenGoalSelectionDialog_error=Should select at least one goal
-MavenGoalSelectionDialog_lblSelect=&Select Goal:
-MavenGoalSelectionDialog_message=Select goal:
-MavenImportWizard_job=Importing Maven projects
-MavenImportWizard_title=Import Maven projects
+MavenGoalSelectionDialog_lblSelect=&Select Goal\:
+MavenGoalSelectionDialog_message=Select goal\:
MavenImportWizardPage_desc=Select Maven projects
MavenImportWizardPage_inherited=[inherited]
MavenImportWizardPage_title=Maven Projects
-MavenImportWizard_titleIncompleteMapping=Incomplete Maven Goal Execution
+MavenImportWizard_job=Importing Maven projects
MavenImportWizard_messageIncompleteMapping=Continuing with import will result in projects with build errors, please see help for more information
-wizardImportValidatorProjectImported=Project {0} is already imported into workspace
-MavenInstallationsPreferencePage_btnAdd=&Add...
-MavenInstallationsPreferencePage_btnEdit=&Edit...
-MavenInstallationsPreferencePage_btnGlobalBrowse=&Browse...
-MavenInstallationsPreferencePage_btnRemove=&Remove
-MavenInstallationsPreferencePage_dialog_install_message=Select Maven installation directory
-MavenInstallationsPreferencePage_dialog_install_title=Maven Installation
-MavenInstallationsPreferencePage_dialog_message=Select Maven installation directory
-MavenInstallationsPreferencePage_dialog_title=Maven Installation
-MavenInstallationsPreferencePage_error_global_missing=Global settings file doesn't exist
-MavenInstallationsPreferencePage_error_global_parse=Unable to parse global settings file;
-MavenInstallationsPreferencePage_error_message=Select the directory where Maven is installed.
-MavenInstallationsPreferencePage_error_title=Maven Install
-MavenInstallationsPreferencePage_error2_message=The selected directory is not a valid Maven directory.
-MavenInstallationsPreferencePage_error3_message=The selected Maven install is already registered.
-MavenInstallationsPreferencePage_error4_message=Selected Maven install is already registered
-MavenInstallationsPreferencePage_job_updating=Updating Maven installation settings
-MavenInstallationsPreferencePage_lblNote1=Note: Embedded runtime is always used for dependency resolution, but
-MavenInstallationsPreferencePage_lblNote2=does not use global settings when it is used to launch Maven. To learn more, visit the <a href="http://maven.apache.org/">Maven</a> web page.
-MavenInstallationsPreferencePage_link=Select the installation used to launch Maven:
-MavenInstallationsPreferencePage_link_global=Open editor for global settings file
-MavenInstallationsPreferencePage_link_open=\ (<a href="\#">open file</a>)
-MavenInstallationsPreferencePage_settings=Global settings for embedded installation{0}:
-MavenInstallationsPreferencePage_settings_install=Global settings from installation directory{0}:
-MavenInstallationsPreferencePage_title=Maven Installations
+MavenImportWizard_title=Import Maven projects
+MavenImportWizard_titleIncompleteMapping=Incomplete Maven Goal Execution
MavenInstallFileArtifactWizardPage_btnChecksum=Create C&hecksum
MavenInstallFileArtifactWizardPage_btnFilename=&Browse...
MavenInstallFileArtifactWizardPage_btnGenerate=Gen&erate POM
@@ -123,48 +106,72 @@ MavenInstallFileArtifactWizardPage_error_no_name=Artifact file name must be spec
MavenInstallFileArtifactWizardPage_error_packaging=Packaging must be specified
MavenInstallFileArtifactWizardPage_error_version=Version must be specified
MavenInstallFileArtifactWizardPage_file_title=Select file
-MavenInstallFileArtifactWizardPage_lblArtifact=&Artifact Id:
-MavenInstallFileArtifactWizardPage_lblClassifier=&Classifier:
-MavenInstallFileArtifactWizardPage_lblFileName=Artifact &file:
-MavenInstallFileArtifactWizardPage_lblgroupid=&Group Id:
-MavenInstallFileArtifactWizardPage_lblPackaging=&Packaging:
-MavenInstallFileArtifactWizardPage_lblPom=&POM file:
-MavenInstallFileArtifactWizardPage_lblVersion=&Version:
+MavenInstallFileArtifactWizardPage_lblArtifact=&Artifact Id\:
+MavenInstallFileArtifactWizardPage_lblClassifier=&Classifier\:
+MavenInstallFileArtifactWizardPage_lblFileName=Artifact &file\:
+MavenInstallFileArtifactWizardPage_lblPackaging=&Packaging\:
+MavenInstallFileArtifactWizardPage_lblPom=&POM file\:
+MavenInstallFileArtifactWizardPage_lblVersion=&Version\:
+MavenInstallFileArtifactWizardPage_lblgroupid=&Group Id\:
MavenInstallFileArtifactWizardPage_message=Selected artifact corresponds to {0}
MavenInstallFileArtifactWizardPage_title=Install file in local repository
MavenInstallFileWizard_error=Execution error
MavenInstallFileWizard_job=Installing artifact
MavenInstallFileWizard_title=Install artifact
+MavenInstallationsPreferencePage_btnAdd=&Add...
+MavenInstallationsPreferencePage_btnEdit=&Edit...
+MavenInstallationsPreferencePage_btnGlobalBrowse=&Browse...
+MavenInstallationsPreferencePage_btnRemove=&Remove
+MavenInstallationsPreferencePage_dialog_install_message=Select Maven installation directory
+MavenInstallationsPreferencePage_dialog_install_title=Maven Installation
+MavenInstallationsPreferencePage_dialog_message=Select Maven installation directory
+MavenInstallationsPreferencePage_dialog_title=Maven Installation
+MavenInstallationsPreferencePage_error2_message=The selected directory is not a valid Maven directory.
+MavenInstallationsPreferencePage_error3_message=The selected Maven install is already registered.
+MavenInstallationsPreferencePage_error4_message=Selected Maven install is already registered
+MavenInstallationsPreferencePage_error_global_missing=Global settings file doesn't exist
+MavenInstallationsPreferencePage_error_global_parse=Unable to parse global settings file;
+MavenInstallationsPreferencePage_error_message=Select the directory where Maven is installed.
+MavenInstallationsPreferencePage_error_title=Maven Install
+MavenInstallationsPreferencePage_job_updating=Updating Maven installation settings
+MavenInstallationsPreferencePage_lblNote1=Note\: Embedded runtime is always used for dependency resolution, but
+MavenInstallationsPreferencePage_lblNote2=does not use global settings when it is used to launch Maven. To learn more, visit the <a href\="http\://maven.apache.org/">Maven</a> web page.
+MavenInstallationsPreferencePage_link=Select the installation used to launch Maven\:
+MavenInstallationsPreferencePage_link_global=Open editor for global settings file
+MavenInstallationsPreferencePage_link_open=\ (<a href\="\#">open file</a>)
+MavenInstallationsPreferencePage_settings=Global settings for embedded installation{0}\:
+MavenInstallationsPreferencePage_settings_install=Global settings from installation directory{0}\:
+MavenInstallationsPreferencePage_title=Maven Installations
MavenModuleWizardParentPage_error=The parent project must have a packaging type of POM
MavenPomSelectionComponent_detail1={0} ({1})
-MavenPomSelectionComponent_details2={0}, size: {1} b
-MavenPomSelectionComponent_error=Search error: {0}
-MavenPomSelectionComponent_lblResults=&Search Results:
-MavenPomSelectionComponent_managed_decoration=\ \ (managed)
+MavenPomSelectionComponent_details2={0}, size\: {1} b
+MavenPomSelectionComponent_error=Search error\: {0}
+MavenPomSelectionComponent_lblResults=&Search Results\:
+MavenPomSelectionComponent_managed_decoration=\ (managed)
MavenPomSelectionComponent_nosel=No selection
MavenPomSelectionComponent_results=Results for ''{0}'' ({1})
-MavenPomSelectionComponent_search_title=&Enter groupId, artifactId or sha1 prefix or pattern (*):
-MavenPomSelectionComponent_searching=Searching ''{0}''...
MavenPomSelectionComponent_searchJob=Repository search
+MavenPomSelectionComponent_search_title=&Enter groupId, artifactId or sha1 prefix or pattern (*)\:
+MavenPomSelectionComponent_searching=Searching ''{0}''...
MavenPomSelectionComponent_selected=Selected {0}
MavenPomSelectionComponent_toomany=Too many results to display. Enter a more specific search term.
-MavenPomWizard_error_exists=POM already exists
-MavenPomWizard_error_title=Error
-MavenPomWizard_status_not_exists=Folder "{0}" does not exist.
-MavenPomWizard_task=Creating POM
-MavenPomWizard_title=Maven POM wizard
MavenPomWizardPage_btnBrowse=Browse...
MavenPomWizardPage_desc=This wizard creates a new POM (pom.xml) descriptor for Maven.
MavenPomWizardPage_dialog_title=Select project
MavenPomWizardPage_error_artid=Artifact Id must be specified
MavenPomWizardPage_error_folder=Project or folder must be specified
-MavenPomWizardPage_error_folder_write=Folder must be writable
MavenPomWizardPage_error_folder2=Folder must exist
+MavenPomWizardPage_error_folder_write=Folder must be writable
MavenPomWizardPage_error_grid=Group Id must be specified
MavenPomWizardPage_error_pack=Packaging must be specified
MavenPomWizardPage_error_version=Version must be specified
-MavenPomWizardPage_lblProject=&Project:
+MavenPomWizardPage_lblProject=&Project\:
MavenPomWizardPage_title=Maven POM
+MavenPomWizard_error_exists=POM already exists
+MavenPomWizard_error_title=Error
+MavenPomWizard_status_not_exists=Folder "{0}" does not exist.
+MavenPomWizard_task=Creating POM
+MavenPomWizard_title=Maven POM wizard
MavenPreferencePage_download=Download repository index updates on startup
MavenPreferencePage_hide=Hide folders of physically nested modules (experimental)
MavenPreferencePage_update=Update Maven projects on startup
@@ -173,7 +180,7 @@ MavenProjectPreferencePage_btnResolve=Resolve dependencies from &Workspace proje
MavenProjectPreferencePage_dialog_message=Maven settings has changed. Do you want to update project configuration?
MavenProjectPreferencePage_dialog_title=Maven Settings
MavenProjectPreferencePage_job=Updating {0} Sources
-MavenProjectPreferencePage_lblProfiles=Active Maven &Profiles (comma separated):
+MavenProjectPreferencePage_lblProfiles=Active Maven &Profiles (comma separated)\:
MavenProjectPreferencePage_title=Maven
MavenProjectWizardArchetypePage_add_title=Add Archetype
MavenProjectWizardArchetypePage_all=All Catalogs
@@ -185,8 +192,8 @@ MavenProjectWizardArchetypePage_error_no=No archetypes currently available. The
MavenProjectWizardArchetypePage_error_read=Unable to read catalog factory.
MavenProjectWizardArchetypePage_error_resolve=The archetype {0} could not be resolved.
MavenProjectWizardArchetypePage_error_resolve2=Can't resolve Archetype {0}
-MavenProjectWizardArchetypePage_lblCatalog=C&atalog:
-MavenProjectWizardArchetypePage_lblFilter=&Filter:
+MavenProjectWizardArchetypePage_lblCatalog=C&atalog\:
+MavenProjectWizardArchetypePage_lblFilter=&Filter\:
MavenProjectWizardArchetypePage_task_downloading=Downloading Archetype
MavenProjectWizardArchetypePage_task_indexing=indexing...
MavenProjectWizardArchetypePage_task_reading=reading project...
@@ -198,18 +205,18 @@ MavenProjectWizardArchetypeParametersPage_columnName=Name
MavenProjectWizardArchetypeParametersPage_columnValue=Value
MavenProjectWizardArchetypeParametersPage_error_download=Error downloading archetype {0}
MavenProjectWizardArchetypeParametersPage_error_package=Invalid package name
-MavenProjectWizardArchetypeParametersPage_lblProps=Properties available from archetype:
+MavenProjectWizardArchetypeParametersPage_lblProps=Properties available from archetype\:
MavenProjectWizardArchetypeParametersPage_task=Downloading Archetype {0}
MavenProjectWizardArtifactPage_searchDialog_title=Select Parent Artifact
MavenProjectWizardLocationPage_btnLocation=Brows&e...
MavenProjectWizardLocationPage_btnUserDefault=Use default &Workspace location
MavenProjectWizardLocationPage_dialog_location=Select Location
-MavenProjectWizardLocationPage_lblLocation=&Location:
+MavenProjectWizardLocationPage_lblLocation=&Location\:
MavenRepositoryView_action_copy=Copy URL
MavenRepositoryView_action_copy_tooltip=Copy URL to Clipboard
MavenRepositoryView_action_disable_tooltip=Disable repository index
-MavenRepositoryView_action_enable_tooltip=Enable minimal repository index
MavenRepositoryView_action_enableFull_tooltip=Enable full repository index
+MavenRepositoryView_action_enable_tooltip=Enable minimal repository index
MavenRepositoryView_action_open=Open POM
MavenRepositoryView_action_open_tooltip=Open Maven POM
MavenRepositoryView_action_rebuild=Rebuild Index
@@ -224,7 +231,7 @@ MavenRepositoryView_disable_details=Disable Index Details
MavenRepositoryView_enable_full=Enable Full Index
MavenRepositoryView_enable_minimum=Enable Minimum Index
MavenRepositoryView_enabled_full=Full Index Enabled
-MavenRepositoryView_error_message=Unable to set the index details due to the following error:\n
+MavenRepositoryView_error_message=Unable to set the index details due to the following error\:\n
MavenRepositoryView_error_title=Error Setting Index Details
MavenRepositoryView_job_reloading=Reloading settings.xml
MavenRepositoryView_minimum_enabled=Minimum Index Enabled
@@ -242,13 +249,13 @@ MavenRepositoryView_update_one=Update Index
MavenSearchPage_btnBrowse=Browse...
MavenSearchPage_btnSelect=Select All
MavenSearchPage_btnUnselect=Deselect All
-MavenSearchPage_lblArtifactid=Artifact Id:
-MavenSearchPage_lblClass=Class Name:
-MavenSearchPage_lblGroupid=Group Id:
-MavenSearchPage_lblPackaging=Packaging:
-MavenSearchPage_lblRepos=Repositories:
-MavenSearchPage_lblSha=SHA1:
-MavenSearchPage_lblVersion=Version:
+MavenSearchPage_lblArtifactid=Artifact Id\:
+MavenSearchPage_lblClass=Class Name\:
+MavenSearchPage_lblGroupid=Group Id\:
+MavenSearchPage_lblPackaging=Packaging\:
+MavenSearchPage_lblRepos=Repositories\:
+MavenSearchPage_lblSha=SHA1\:
+MavenSearchPage_lblVersion=Version\:
MavenSearchPage_separator=Label
MavenSettingsPreferencePage_btnBrowse=&Browse...
MavenSettingsPreferencePage_btnUpdate=Update Settings
@@ -256,10 +263,10 @@ MavenSettingsPreferencePage_error_missing=User settings file doesn't exist
MavenSettingsPreferencePage_error_parse=Unable to parse user settings file; {0}
MavenSettingsPreferencePage_job_indexing=Indexing Local Repository...
MavenSettingsPreferencePage_job_updating=Updating Maven settings
-MavenSettingsPreferencePage_lblLocal=Local Repository (From merged user and global settings):
+MavenSettingsPreferencePage_lblLocal=Local Repository (From merged user and global settings)\:
+MavenSettingsPreferencePage_link1=User &Settings\:
+MavenSettingsPreferencePage_link2=User &Settings (<a href\="\#">open file</a>)\:
MavenSettingsPreferencePage_link_tooltip=Open editor for user settings
-MavenSettingsPreferencePage_link1=User &Settings:
-MavenSettingsPreferencePage_link2=User &Settings (<a href="\#">open file</a>):
MavenSettingsPreferencePage_task_updating=Updating progress for {0}
MavenSettingsPreferencePage_title=Maven User Settings
OpenPomAction_33=Can't open editor for {0}\n{1}
@@ -289,11 +296,11 @@ ProjectsImportPage_btnSelect=&Select All
ProjectsImportPage_desc=Select non-Maven projects to import
ProjectsImportPage_dialog_title=Question
ProjectsImportPage_error_creation=Creation Problems
-ProjectsImportPage_lstProjects=&Projects:
+ProjectsImportPage_lstProjects=&Projects\:
ProjectsImportPage_message=Some projects were hidden because they exist in the workspace directory
ProjectsImportPage_overwrite=''{0}'' already exists. Would you like to overwrite it?
ProjectsImportPage_overwrite2=Overwrite ''{0}'' in folder ''{1}''?
-ProjectsImportPage_task_checking=Checking: {0}
+ProjectsImportPage_task_checking=Checking\: {0}
ProjectsImportPage_task_creating=Creating Projects
ProjectsImportPage_task_processing=Processing results
ProjectsImportPage_task_search=Searching for projects
@@ -304,23 +311,21 @@ RemoteArchetypeCatalogDialog_error_empty=Remote catalog is empty
RemoteArchetypeCatalogDialog_error_read=Unable to read remote catalog;\n{0}
RemoteArchetypeCatalogDialog_error_required=Archetype catalog url is required
RemoteArchetypeCatalogDialog_job_download=Downloading remote catalog
-RemoteArchetypeCatalogDialog_lblCatalog=&Catalog File:
-RemoteArchetypeCatalogDialog_lblDesc=Description:
+RemoteArchetypeCatalogDialog_lblCatalog=&Catalog File\:
+RemoteArchetypeCatalogDialog_lblDesc=Description\:
RemoteArchetypeCatalogDialog_message=Specify catalog url and description
RemoteArchetypeCatalogDialog_message_found=Found {0} archetype(s)
RemoteArchetypeCatalogDialog_title=Remote Archetype Catalog
RepositoryNode_updating=\ [updating]
SelectionUtil_error_cannot_read=Can't read Maven project
UpdateSourcesAction_error_cannot_update=Unable to update Maven configuration
-UpdateSourcesAction_error_message=Unable to update maven configuration for the following projects:
+UpdateSourcesAction_error_message=Unable to update maven configuration for the following projects\:
UpdateSourcesAction_error_title=Error Updating Maven Configuration
UpdateSourcesAction_job_update_conf=Updating Maven Configuration
WorkingSetGroup_btnAddSet=&Add project(s) to working set
WorkingSetGroup_btnMore=Mor&e...
-WorkingSetGroup_lblSet=Wo&rking set:
+WorkingSetGroup_lblSet=Wo&rking set\:
WorkspaceRepositoryNode_name=Workspace Projects
-
-
artifactComponentArtifact=Artifact
artifactComponentArtifactId=Artifact Id\:
artifactComponentDescription=Description\:
@@ -329,6 +334,9 @@ artifactComponentName=Name\:
artifactComponentPackage=Package\:
artifactComponentPackaging=Packaging\:
artifactComponentVersion=Version\:
+launchGoalsDialogTitle=Goals
+launchPropertyDialogName=Name\:
+launchPropertyDialogValue=Value\:
locationComponentAtExternal=Create project at e&xternal location
locationComponentBrowse=B&rowse...
locationComponentDirectory=&Location\:
@@ -336,8 +344,8 @@ locationComponentInWorkspace=Create project in &workspace
locationComponentLocation=Location
locationComponentSelectLocation=Select Location
preferencesDebugOutput=Debu&g Output
-preferencesDownloadSources=Do&wnload Artifact Sources
preferencesDownloadJavadoc=Download Artifact &JavaDoc
+preferencesDownloadSources=Do&wnload Artifact Sources
preferencesOffline=&Offline
preferencesReindexButton=Re&index
projectSelectionDialogTitle=Select a Maven project
@@ -355,6 +363,7 @@ wizardImportPageScanningErrors=Scanning errors ({0})\:
wizardImportPageSelectAll=Select &All
wizardImportPageSelectRootFolder=Select Root Folder
wizardImportValidatorProjectExists=Project {0} already exists\n Add a version or custom suffix using "Name template" in "Advanced" settings
+wizardImportValidatorProjectImported=Project {0} is already imported into workspace
wizardImportValidatorWorkspaceFolder=Can't import project {0} from an existing workspace folder
wizardModulePageArchetypeTitle=New Maven Module
wizardModulePageArtifactTitle=New Maven Module
@@ -392,14 +401,14 @@ wizardProjectPageMaven2ArchetypeParametersDescription=Specify Archetype paramete
wizardProjectPageMaven2Description=Configure project
wizardProjectPageMaven2Title=New Maven project
wizardProjectPageMaven2ValidatorArtifactID=Enter an artifact id.
+wizardProjectPageMaven2ValidatorArtifactIDinvalid=Invalid artifact id\: {0}
wizardProjectPageMaven2ValidatorArtifactIDnospaces=Artifact id cannot contain spaces.
-wizardProjectPageMaven2ValidatorArtifactIDinvalid=Invalid artifact id: {0}
wizardProjectPageMaven2ValidatorGroupID=Enter a group id for the artifact.
+wizardProjectPageMaven2ValidatorGroupIDinvalid=Invalid group id\: {0}
wizardProjectPageMaven2ValidatorGroupIDnospaces=Group id cannot contain spaces.
-wizardProjectPageMaven2ValidatorGroupIDinvalid=Invalid group id: {0}
-wizardProjectPageMaven2ValidatorProjectNameInvalid=Invalid project name: {0}
wizardProjectPageMaven2ValidatorPackaging=Enter a packaging for the artifact.
wizardProjectPageMaven2ValidatorParent=To specify a parent project, set the parent group id, artifact id and version.
+wizardProjectPageMaven2ValidatorProjectNameInvalid=Invalid project name\: {0}
wizardProjectPageMaven2ValidatorRequiredProperty=Required property "{0}" is not set.
wizardProjectPageMaven2ValidatorVersion=Enter a version for the artifact.
wizardProjectPageProjectDescription=Select project name and location
@@ -408,8 +417,3 @@ wizardProjectPageProjectTitle=New Maven project
wizardProjectPageProjectValidatorInvalidLocation=Invalid project location path
wizardProjectPageProjectValidatorProjectLocation=Enter a location for the project.
wizardProjectTitle=New Maven Project
-
-
-launchGoalsDialogTitle=Goals
-launchPropertyDialogName=Name\:
-launchPropertyDialogValue=Value\:
diff --git a/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/wizards/LifecycleMappingPage.java b/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/wizards/LifecycleMappingPage.java
index 199c9314..620136e1 100644
--- a/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/wizards/LifecycleMappingPage.java
+++ b/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/wizards/LifecycleMappingPage.java
@@ -13,8 +13,10 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.List;
import java.util.Map;
+import java.util.Set;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.jface.dialogs.Dialog;
@@ -45,9 +47,11 @@ import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Group;
+import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;
import org.eclipse.swt.widgets.Tree;
import org.eclipse.swt.widgets.TreeColumn;
+import org.eclipse.swt.widgets.TreeItem;
import org.eclipse.ui.PlatformUI;
import org.eclipse.m2e.core.internal.lifecyclemapping.LifecycleMappingFactory;
@@ -55,6 +59,7 @@ import org.eclipse.m2e.core.internal.lifecyclemapping.discovery.ILifecycleMappin
import org.eclipse.m2e.core.internal.lifecyclemapping.discovery.IMavenDiscoveryProposal;
import org.eclipse.m2e.core.internal.lifecyclemapping.discovery.LifecycleMappingConfiguration;
import org.eclipse.m2e.core.internal.lifecyclemapping.discovery.MojoExecutionMappingConfiguration;
+import org.eclipse.m2e.core.internal.lifecyclemapping.discovery.MojoExecutionMappingConfiguration.MojoExecutionMappingRequirement;
import org.eclipse.m2e.core.internal.lifecyclemapping.discovery.PackagingTypeMappingConfiguration;
import org.eclipse.m2e.core.internal.lifecyclemapping.discovery.ProjectLifecycleMappingConfiguration;
import org.eclipse.m2e.core.project.MavenProjectInfo;
@@ -82,6 +87,12 @@ public class LifecycleMappingPage extends WizardPage {
private static final int ACTION_INFO_IDX = 1;
+ private static final int NO_ACTION_IDX = 0;
+
+ private static final int IGNORE_IDX = 1;
+
+ private static final int IGNORE_PARENT_IDX = 2;
+
private LifecycleMappingConfiguration mappingConfiguration;
private TreeViewer treeViewer;
@@ -94,6 +105,12 @@ public class LifecycleMappingPage extends WizardPage {
private Text license;
+ private Set<ILifecycleMappingLabelProvider> ignore = new HashSet<ILifecycleMappingLabelProvider>();
+
+ private Set<ILifecycleMappingLabelProvider> ignoreAtDefinition = new HashSet<ILifecycleMappingLabelProvider>();
+
+ private Label errorCountLabel;
+
/**
* Create the wizard.
*/
@@ -135,19 +152,35 @@ public class LifecycleMappingPage extends WizardPage {
protected void setValue(Object element, Object value) {
if(element instanceof ILifecycleMappingLabelProvider) {
ILifecycleMappingLabelProvider prov = (ILifecycleMappingLabelProvider) element;
- Integer val = (Integer) value;
+ int intVal = ((Integer) value).intValue();
List<IMavenDiscoveryProposal> all = mappingConfiguration.getProposals(prov.getKey());
- IMavenDiscoveryProposal prop = mappingConfiguration.getSelectedProposal(prov.getKey());
- if(prop != null) {
+
+ if(ignore.contains(element)) {
+ ignore.remove(element);
+ } else if(ignoreAtDefinition.contains(element)) {
+ ignoreAtDefinition.remove(element);
+ } else if(intVal == all.size() + NO_ACTION_IDX || shouldDeslectProposal(prov)) {
+ IMavenDiscoveryProposal prop = mappingConfiguration.getSelectedProposal(prov.getKey());
mappingConfiguration.removeSelectedProposal(prop);
}
- if(val.intValue() < all.size()) {
- IMavenDiscoveryProposal sel = all.get(val.intValue());
+
+ // Set new selection
+ if(intVal < all.size()) {
+ IMavenDiscoveryProposal sel = all.get(intVal);
if(sel != null) {
mappingConfiguration.addSelectedProposal(sel);
}
+ } else {
+ switch(intVal - all.size()) {
+ case IGNORE_IDX:
+ ignore.add(prov);
+ break;
+ case IGNORE_PARENT_IDX:
+ ignoreAtDefinition.add(prov);
+ }
}
getViewer().refresh(true);
+ updateErrorCount();
}
}
@@ -157,8 +190,14 @@ public class LifecycleMappingPage extends WizardPage {
ILifecycleMappingLabelProvider prov = (ILifecycleMappingLabelProvider) element;
IMavenDiscoveryProposal prop = mappingConfiguration.getSelectedProposal(prov.getKey());
List<IMavenDiscoveryProposal> all = mappingConfiguration.getProposals(prov.getKey());
- int index = all.indexOf(prop);
- return index >= 0 ? Integer.valueOf(index) : Integer.valueOf(all.size());
+ if(ignore.contains(element)) {
+ return Integer.valueOf(all.size() + IGNORE_IDX);
+ } else if(ignoreAtDefinition.contains(element)) {
+ return Integer.valueOf(all.size() + IGNORE_PARENT_IDX);
+ } else {
+ int index = all.indexOf(prop);
+ return index >= 0 ? Integer.valueOf(index) : Integer.valueOf(all.size() + NO_ACTION_IDX);
+ }
}
return Integer.valueOf(0);
}
@@ -172,8 +211,10 @@ public class LifecycleMappingPage extends WizardPage {
for(IMavenDiscoveryProposal prop : all) {
values.add(NLS.bind(Messages.LifecycleMappingPage_installDescription, prop.toString()));
}
- values.add(Messages.LifecycleMappingPage_takeNoActionDescription);
- ComboBoxCellEditor edit = new ComboBoxCellEditor(treeViewer.getTree(), values.toArray(new String[0]));
+ values.add(Messages.LifecycleMappingPage_resolveLaterDescription);
+ addIgnoreProposals(values, prov);
+ ComboBoxCellEditor edit = new ComboBoxCellEditor(treeViewer.getTree(), values.toArray(new String[values
+ .size()]));
return edit;
}
throw new IllegalStateException();
@@ -181,10 +222,10 @@ public class LifecycleMappingPage extends WizardPage {
@Override
protected boolean canEdit(Object element) {
- if(element instanceof ILifecycleMappingLabelProvider) {
+ if(element instanceof AggregateMappingLabelProvider) {
ILifecycleMappingLabelProvider prov = (ILifecycleMappingLabelProvider) element;
List<IMavenDiscoveryProposal> all = mappingConfiguration.getProposals(prov.getKey());
- return all != null && !all.isEmpty();
+ return all != null && !all.isEmpty() || prov.getKey() instanceof MojoExecutionMappingRequirement;
}
return false;
}
@@ -209,7 +250,7 @@ public class LifecycleMappingPage extends WizardPage {
if(pack != null) {
ILifecycleMappingRequirement packReq = pack.getLifecycleMappingRequirement();
if(packReq != null && !mappingConfiguration.getProposals(packReq).isEmpty()) {
- List<ILifecycleMappingLabelProvider> val = packagings.get(pack);
+ List<ILifecycleMappingLabelProvider> val = packagings.get(packReq);
if(val == null) {
val = new ArrayList<ILifecycleMappingLabelProvider>();
packagings.put(packReq, val);
@@ -226,7 +267,7 @@ public class LifecycleMappingPage extends WizardPage {
&& !mappingConfiguration.getProposals(mojoReq).isEmpty()
|| (LifecycleMappingFactory.isInterestingPhase(mojoMap.getExecution().getLifecyclePhase()) && !mappingConfiguration
.isRequirementSatisfied(mojoReq, true))) {
- List<ILifecycleMappingLabelProvider> val = mojos.get(mojoMap);
+ List<ILifecycleMappingLabelProvider> val = mojos.get(mojoReq);
if(val == null) {
val = new ArrayList<ILifecycleMappingLabelProvider>();
mojos.put(mojoReq, val);
@@ -284,18 +325,24 @@ public class LifecycleMappingPage extends WizardPage {
if(element instanceof ILifecycleMappingLabelProvider) {
ILifecycleMappingLabelProvider prov = (ILifecycleMappingLabelProvider) element;
if(columnIndex == MAVEN_INFO_IDX) {
- return prov.getMavenText();
- }
- if(columnIndex == ACTION_INFO_IDX) {
+ String text = prov.getMavenText();
+ if(prov instanceof AggregateMappingLabelProvider && !isHandled(prov)) {
+ text = NLS.bind(Messages.LifecycleMappingPage_errorMavenBuild,
+ new String[] {text, String.valueOf(((AggregateMappingLabelProvider) prov).getChildren().length)});
+ }
+ return text;
+ } else if(columnIndex == ACTION_INFO_IDX && element instanceof AggregateMappingLabelProvider) {
IMavenDiscoveryProposal proposal = mappingConfiguration.getSelectedProposal(prov.getKey());
- if(proposal != null) {
+ if(ignore.contains(element)) {
+ return Messages.LifecycleMappingPage_doNotExecutePom;
+ } else if(ignoreAtDefinition.contains(element)) {
+ return Messages.LifecycleMappingPage_doNotExecuteParent;
+ } else if(proposal != null) {
return NLS.bind(Messages.LifecycleMappingPage_installDescription, proposal.toString()); //not really feeling well here.
- }
- if(loading) {
+ } else if(loading) {
return EMPTY_STRING;
} else {
- return mappingConfiguration.getProposals(prov.getKey()).isEmpty() ? EMPTY_STRING
- : Messages.LifecycleMappingPage_takeNoActionDescription;//"Nothing discovered";
+ return Messages.LifecycleMappingPage_resolveLaterDescription;
}
}
}
@@ -303,17 +350,19 @@ public class LifecycleMappingPage extends WizardPage {
}
public Image getColumnImage(Object element, int columnIndex) {
- if(element instanceof ILifecycleMappingLabelProvider) {
+ if(columnIndex != 0) {
+ return null;
+ }
+ if(element instanceof AggregateMappingLabelProvider) {
ILifecycleMappingLabelProvider prov = (ILifecycleMappingLabelProvider) element;
- if(columnIndex == 0 && prov.isError(mappingConfiguration)) {
- if(mappingConfiguration.getSelectedProposal(prov.getKey()) == null) {
+ if(prov.isError(mappingConfiguration)) {
+ if(!isHandled(prov)) {
return MavenImages.IMG_ERROR;
- } else {
- return MavenImages.IMG_MSG_INFO;
}
}
+ return MavenImages.IMG_PASSED;
}
- return null;
+ return MavenImages.IMG_POM;
}
});
@@ -324,12 +373,21 @@ public class LifecycleMappingPage extends WizardPage {
&& ((IStructuredSelection) event.getSelection()).size() == 1) {
ILifecycleMappingLabelProvider prov = (ILifecycleMappingLabelProvider) ((IStructuredSelection) event
.getSelection()).getFirstElement();
- IMavenDiscoveryProposal proposal = mappingConfiguration.getSelectedProposal(prov.getKey());
- details.setText(proposal != null ? proposal.getDescription() : mappingConfiguration.getProposals(
- prov.getKey()).isEmpty() ? NLS.bind(
- Messages.LifecycleMappingPage_noMarketplaceEntryDescription,
- prov.getMavenText()) : EMPTY_STRING);
- license.setText(proposal == null ? EMPTY_STRING : proposal.getLicense());
+ if(ignore.contains(prov)) {
+ details
+ .setText(Messages.LifecycleMappingPage_doNotExecutePomDescription);
+ license.setText(EMPTY_STRING);
+ } else if(ignoreAtDefinition.contains(prov)) {
+ details
+ .setText(Messages.LifecycleMappingPage_doNotExecuteParentDescription);
+ license.setText(EMPTY_STRING);
+ } else {
+ IMavenDiscoveryProposal proposal = mappingConfiguration.getSelectedProposal(prov.getKey());
+ details.setText(proposal != null ? proposal.getDescription() : mappingConfiguration.getProposals(
+ prov.getKey()).isEmpty() ? NLS.bind(Messages.LifecycleMappingPage_noMarketplaceEntryDescription,
+ prov.getMavenText()) : EMPTY_STRING);
+ license.setText(proposal == null ? EMPTY_STRING : proposal.getLicense());
+ }
} else {
details.setText(EMPTY_STRING);
license.setText(EMPTY_STRING);
@@ -338,16 +396,22 @@ public class LifecycleMappingPage extends WizardPage {
});
Composite composite = new Composite(container, SWT.NONE);
- composite.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
- composite.setLayout(new GridLayout(2, false));
+ composite.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
+ composite.setLayout(new GridLayout(3, false));
+
+ errorCountLabel = new Label(composite, SWT.NONE);
+ errorCountLabel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
Button btnNewButton_1 = new Button(composite, SWT.NONE);
btnNewButton_1.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
mappingConfiguration.clearSelectedProposals();
+ ignore.clear();
+ ignoreAtDefinition.clear();
treeViewer.refresh();
getWizard().getContainer().updateButtons(); // needed to enable/disable Finish button
+ updateErrorCount();
}
});
btnNewButton_1.setText(Messages.LifecycleMappingPage_deselectAllButton);
@@ -356,6 +420,8 @@ public class LifecycleMappingPage extends WizardPage {
autoSelectButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
+ ignore.clear();
+ ignoreAtDefinition.clear();
discoverProposals();
}
});
@@ -367,27 +433,47 @@ public class LifecycleMappingPage extends WizardPage {
FontMetrics fontMetrics = gc.getFontMetrics();
gc.dispose();
+ Group grpDetails = new Group(container, SWT.NONE);
+ grpDetails.setLayout(new GridLayout(1, false));
+ grpDetails.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1));
+ grpDetails.setText(Messages.LifecycleMappingPage_descriptionLabel);
+
+ details = new Text(grpDetails, SWT.WRAP | SWT.READ_ONLY | SWT.V_SCROLL);
+ GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
+ gd.heightHint = Dialog.convertHeightInCharsToPixels(fontMetrics, 3);
+ gd.minimumHeight = Dialog.convertHeightInCharsToPixels(fontMetrics, 1);
+ details.setLayoutData(gd);
+
Group grpLicense = new Group(container, SWT.NONE);
grpLicense.setLayout(new GridLayout(1, false));
grpLicense.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1));
grpLicense.setText(Messages.LifecycleMappingPage_licenseLabel);
license = new Text(grpLicense, SWT.READ_ONLY);
- GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
+ gd = new GridData(SWT.FILL, SWT.FILL, true, true);
gd.heightHint = Dialog.convertHeightInCharsToPixels(fontMetrics, 1);
gd.minimumHeight = Dialog.convertHeightInCharsToPixels(fontMetrics, 1);
license.setLayoutData(gd);
+ }
- Group grpDetails = new Group(container, SWT.NONE);
- grpDetails.setLayout(new GridLayout(1, false));
- grpDetails.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1));
- grpDetails.setText(Messages.LifecycleMappingPage_detailsLabel);
-
- details = new Text(grpDetails, SWT.WRAP | SWT.READ_ONLY | SWT.V_SCROLL);
- gd = new GridData(SWT.FILL, SWT.FILL, true, true);
- gd.heightHint = Dialog.convertHeightInCharsToPixels(fontMetrics, 3);
- gd.minimumHeight = Dialog.convertHeightInCharsToPixels(fontMetrics, 1);
- details.setLayoutData(gd);
+ /**
+ * @param key
+ * @return
+ */
+ protected boolean shouldDeslectProposal(ILifecycleMappingLabelProvider prov) {
+ IMavenDiscoveryProposal proposal = mappingConfiguration.getSelectedProposal(prov.getKey());
+ if(proposal != null) {
+ TreeItem[] items = treeViewer.getTree().getItems();
+ for(TreeItem item : items) {
+ if(item.getData() instanceof ILifecycleMappingLabelProvider && item.getData() != prov) {
+ if(proposal.equals(mappingConfiguration.getSelectedProposal(((ILifecycleMappingLabelProvider) item.getData())
+ .getKey()))) {
+ return false;
+ }
+ }
+ }
+ }
+ return true;
}
protected void discoverProposals() {
@@ -409,6 +495,7 @@ public class LifecycleMappingPage extends WizardPage {
loading = false;
treeViewer.refresh();
getWizard().getContainer().updateButtons(); // needed to enable/disable Finish button
+ updateErrorCount();
}
@Override
@@ -423,6 +510,7 @@ public class LifecycleMappingPage extends WizardPage {
mappingConfiguration.autoCompleteMapping();
}
treeViewer.setInput(mappingConfiguration);
+ updateErrorCount();
//set initial column sizes
TreeColumn[] columns = treeViewer.getTree().getColumns();
@@ -452,7 +540,65 @@ public class LifecycleMappingPage extends WizardPage {
return mappingConfiguration.getSelectedProposals();
}
+ /*
+ * Mapping is complete when mappings are handled (a proposal has been selected, or if it is an uninteresting phase).
+ */
public boolean isMappingComplete() {
+ for(TreeItem item : treeViewer.getTree().getItems()) {
+ if(!isHandled((ILifecycleMappingLabelProvider) item.getData())) {
+ return false;
+ }
+ }
return mappingConfiguration == null || mappingConfiguration.isMappingComplete();
}
+
+ /*
+ * Populate list with ignore options (should be called last)
+ */
+ private void addIgnoreProposals(List<String> values, ILifecycleMappingLabelProvider provider) {
+ if(provider.getKey() instanceof MojoExecutionMappingRequirement) {
+ values.add(Messages.LifecycleMappingPage_doNotExecutePom);
+ values.add(Messages.LifecycleMappingPage_doNotExecuteParent);
+ }
+ }
+
+ /*
+ * Get the list of mojos to ignore in executing pom
+ */
+ public Collection<ILifecycleMappingLabelProvider> getIgnore() {
+ return ignore;
+ }
+
+ /*
+ * Get the list of mojos to ignore in parents
+ */
+ public Collection<ILifecycleMappingLabelProvider> getIgnoreParent() {
+ return ignoreAtDefinition;
+ }
+
+ /*
+ * Update the error summary
+ */
+ private void updateErrorCount() {
+ int count = 0;
+ for(TreeItem item : treeViewer.getTree().getItems()) {
+ ILifecycleMappingLabelProvider prov = (ILifecycleMappingLabelProvider) item.getData();
+ if(!isHandled(prov)) {
+ if(prov instanceof AggregateMappingLabelProvider) {
+ count += ((AggregateMappingLabelProvider) prov).getChildren().length;
+ } else {
+ ++count;
+ }
+ }
+ }
+ errorCountLabel.setText(NLS.bind(Messages.LifecycleMappingPage_numErrors, String.valueOf(count)));
+ }
+
+ /*
+ * Only applicable for top level elements. Provider is considered handled if it is ignored, a proposal has been selected, or if it is an uninteresting phase.
+ */
+ private boolean isHandled(ILifecycleMappingLabelProvider prov) {
+ return ignore.contains(prov) || ignoreAtDefinition.contains(prov)
+ || mappingConfiguration.getSelectedProposal(prov.getKey()) != null || !prov.isError(mappingConfiguration);
+ }
}
diff --git a/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/wizards/MavenImportWizard.java b/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/wizards/MavenImportWizard.java
index 1778d53b..e7b49471 100644
--- a/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/wizards/MavenImportWizard.java
+++ b/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/wizards/MavenImportWizard.java
@@ -11,6 +11,7 @@
package org.eclipse.m2e.core.ui.internal.wizards;
+import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.util.Collection;
import java.util.Collections;
@@ -23,6 +24,7 @@ import java.util.Set;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.WorkspaceJob;
import org.eclipse.core.runtime.CoreException;
@@ -48,19 +50,26 @@ import org.apache.maven.plugin.MojoExecution;
import org.apache.maven.project.MavenProject;
import org.eclipse.m2e.core.MavenPlugin;
+import org.eclipse.m2e.core.internal.M2EUtils;
import org.eclipse.m2e.core.internal.lifecyclemapping.discovery.ILifecycleMappingRequirement;
import org.eclipse.m2e.core.internal.lifecyclemapping.discovery.IMavenDiscovery;
import org.eclipse.m2e.core.internal.lifecyclemapping.discovery.IMavenDiscoveryProposal;
import org.eclipse.m2e.core.internal.lifecyclemapping.discovery.LifecycleMappingConfiguration;
+import org.eclipse.m2e.core.internal.lifecyclemapping.discovery.MojoExecutionMappingConfiguration.MojoExecutionMappingRequirement;
import org.eclipse.m2e.core.internal.lifecyclemapping.discovery.ProjectLifecycleMappingConfiguration;
import org.eclipse.m2e.core.internal.preferences.MavenPreferenceConstants;
+import org.eclipse.m2e.core.lifecyclemapping.model.PluginExecutionAction;
import org.eclipse.m2e.core.project.IMavenProjectImportResult;
import org.eclipse.m2e.core.project.MavenProjectInfo;
import org.eclipse.m2e.core.project.ProjectImportConfiguration;
+import org.eclipse.m2e.core.project.configurator.MojoExecutionKey;
import org.eclipse.m2e.core.ui.internal.M2EUIPluginActivator;
import org.eclipse.m2e.core.ui.internal.Messages;
import org.eclipse.m2e.core.ui.internal.actions.SelectionUtil;
-
+import org.eclipse.m2e.core.ui.internal.editing.LifecycleMappingOperation;
+import org.eclipse.m2e.core.ui.internal.editing.PomEdits;
+import org.eclipse.m2e.core.ui.internal.editing.PomEdits.OperationTuple;
+import org.eclipse.m2e.core.ui.internal.lifecyclemapping.ILifecycleMappingLabelProvider;
/**
* Maven Import Wizard
@@ -135,7 +144,6 @@ public class MavenImportWizard extends AbstractMavenProjectWizard implements IIm
return false;
}
- final MavenPlugin plugin = MavenPlugin.getDefault();
final List<IMavenDiscoveryProposal> proposals = getMavenDiscoveryProposals();
final Collection<MavenProjectInfo> projects = getProjects();
@@ -144,8 +152,8 @@ public class MavenImportWizard extends AbstractMavenProjectWizard implements IIm
protected List<IProject> doCreateMavenProjects(IProgressMonitor progressMonitor) throws CoreException {
SubMonitor monitor = SubMonitor.convert(progressMonitor, 101);
try {
- List<IMavenProjectImportResult> results = plugin.getProjectConfigurationManager().importProjects(projects,
- importConfiguration, monitor.newChild(proposals.isEmpty() ? 100 : 50));
+ List<IMavenProjectImportResult> results = MavenPlugin.getProjectConfigurationManager().importProjects(
+ projects, importConfiguration, monitor.newChild(proposals.isEmpty() ? 100 : 50));
return toProjects(results);
} finally {
monitor.done();
@@ -167,11 +175,56 @@ public class MavenImportWizard extends AbstractMavenProjectWizard implements IIm
}
if(doImport) {
+ final IRunnableWithProgress ignoreJob = new IRunnableWithProgress() {
+ Collection<ILifecycleMappingLabelProvider> ignored = lifecycleMappingPage.getIgnore();
+
+ Collection<ILifecycleMappingLabelProvider> ignoreParent = lifecycleMappingPage.getIgnoreParent();
+
+ public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
+ for(ILifecycleMappingLabelProvider prov : ignored) {
+ ILifecycleMappingRequirement req = prov.getKey();
+ if(req instanceof MojoExecutionMappingRequirement) {
+ ignore(((MojoExecutionMappingRequirement) req).getExecution(), prov.getProjects());
+ }
+ }
+
+ for(ILifecycleMappingLabelProvider prov : ignoreParent) {
+ ILifecycleMappingRequirement req = prov.getKey();
+ if(req instanceof MojoExecutionMappingRequirement) {
+ ignoreAtDefinition(((MojoExecutionMappingRequirement) req).getExecution(), prov.getProjects());
+ }
+ }
+ }
+
+ private void ignore(MojoExecutionKey key, Collection<MavenProject> projects) {
+ String pluginGroupId = key.getGroupId();
+ String pluginArtifactId = key.getArtifactId();
+ String pluginVersion = key.getVersion();
+ String[] goals = new String[] {key.getGoal()};
+ for(MavenProject project : projects) {
+ IFile pomFile = M2EUtils.getPomFile(project);
+ try {
+ PomEdits.performOnDOMDocument(new OperationTuple(pomFile, new LifecycleMappingOperation(pluginGroupId,
+ pluginArtifactId, pluginVersion, PluginExecutionAction.ignore, goals)));
+ } catch(IOException ex) {
+ LOG.error(ex.getMessage(), ex);
+ } catch(CoreException ex) {
+ LOG.error(ex.getMessage(), ex);
+ }
+ }
+ }
+
+ private void ignoreAtDefinition(MojoExecutionKey key, Collection<MavenProject> projects) {
+ ignore(key, M2EUtils.getDefiningProjects(key, projects));
+ }
+ };
+
Job job = new WorkspaceJob(Messages.MavenImportWizard_job) {
@Override
public IStatus runInWorkspace(IProgressMonitor monitor) throws CoreException {
try {
importOperation.run(monitor);
+ ignoreJob.run(monitor);
} catch(InvocationTargetException e) {
return AbstractCreateMavenProjectsOperation.toStatus(e);
} catch(InterruptedException e) {
@@ -180,7 +233,7 @@ public class MavenImportWizard extends AbstractMavenProjectWizard implements IIm
return Status.OK_STATUS;
}
};
- job.setRule(plugin.getProjectConfigurationManager().getRule());
+ job.setRule(MavenPlugin.getProjectConfigurationManager().getRule());
job.schedule();
}
@@ -205,10 +258,6 @@ public class MavenImportWizard extends AbstractMavenProjectWizard implements IIm
return getMappingConfiguration().isMappingComplete(true)
&& getMappingConfiguration().getSelectedProposals().isEmpty();
}
-//
-// if(currentPage == lifecycleMappingPage) {
-// return true;
-// }
return super.canFinish();
}

Back to the top