diff options
author | Igor Fedorenko | 2011-02-02 20:36:24 +0000 |
---|---|---|
committer | Igor Fedorenko | 2011-02-02 20:48:56 +0000 |
commit | 68443fde8e72144d925de3c36200d4e4247ac94c (patch) | |
tree | b56122575624d9499593b1edd88d7327a8325fbf /org.eclipse.m2e.jdt | |
parent | ebb733d48dac3806b45ae8e350543c587665096d (diff) | |
download | m2e-core-68443fde8e72144d925de3c36200d4e4247ac94c.tar.gz m2e-core-68443fde8e72144d925de3c36200d4e4247ac94c.tar.xz m2e-core-68443fde8e72144d925de3c36200d4e4247ac94c.zip |
335719: error marker when project configuration update is required
Separated project effective lifecycle mapping metadata and made it
persistent member of MavenProjectFacade. LifecycleMapping instances
do not have any project specific state as a result of this change.
Added (partially implemented) logic to perform effective lifecycle
mapping metadata comparison during whenever project pom.xml change
is detected. Error marker is added to project if mapping has change
and/or interesting mojo execution configuration has changed.
Signed-off-by: Igor Fedorenko <igor@ifedorenko.com>
Diffstat (limited to 'org.eclipse.m2e.jdt')
3 files changed, 5 insertions, 16 deletions
diff --git a/org.eclipse.m2e.jdt/src/org/eclipse/m2e/jdt/BuildPathManager.java b/org.eclipse.m2e.jdt/src/org/eclipse/m2e/jdt/BuildPathManager.java index 0501958d..d980b8eb 100644 --- a/org.eclipse.m2e.jdt/src/org/eclipse/m2e/jdt/BuildPathManager.java +++ b/org.eclipse.m2e.jdt/src/org/eclipse/m2e/jdt/BuildPathManager.java @@ -357,7 +357,7 @@ public class BuildPathManager implements IMavenProjectChangedListener, IResource private IClasspathManagerDelegate getDelegate(IMavenProjectFacade projectFacade, IProgressMonitor monitor) throws CoreException { - ILifecycleMapping lifecycleMapping = projectFacade.getLifecycleMapping(monitor); + ILifecycleMapping lifecycleMapping = projectManager.getLifecycleMapping(projectFacade); if(lifecycleMapping instanceof IClasspathManagerDelegate) { return (IClasspathManagerDelegate) lifecycleMapping; } diff --git a/org.eclipse.m2e.jdt/src/org/eclipse/m2e/jdt/internal/AbstractJavaProjectConfigurator.java b/org.eclipse.m2e.jdt/src/org/eclipse/m2e/jdt/internal/AbstractJavaProjectConfigurator.java index 048427cf..2df8c1a3 100644 --- a/org.eclipse.m2e.jdt/src/org/eclipse/m2e/jdt/internal/AbstractJavaProjectConfigurator.java +++ b/org.eclipse.m2e.jdt/src/org/eclipse/m2e/jdt/internal/AbstractJavaProjectConfigurator.java @@ -39,7 +39,6 @@ import org.apache.maven.execution.MavenSession; import org.apache.maven.model.Plugin; import org.apache.maven.model.PluginExecution; import org.apache.maven.model.Resource; -import org.apache.maven.plugin.MojoExecution; import org.apache.maven.project.MavenProject; import org.eclipse.m2e.core.MavenPlugin; @@ -161,11 +160,11 @@ public abstract class AbstractJavaProjectConfigurator extends AbstractProjectCon final IProgressMonitor monitor) throws CoreException { IMavenProjectFacade facade = request.getMavenProjectFacade(); IProjectConfigurationManager configurationManager = MavenPlugin.getDefault().getProjectConfigurationManager(); - ILifecycleMapping lifecycleMapping = configurationManager.getLifecycleMapping(facade, monitor); + ILifecycleMapping lifecycleMapping = configurationManager.getLifecycleMapping(facade); if(lifecycleMapping == null) { return; } - for(AbstractProjectConfigurator configurator : lifecycleMapping.getProjectConfigurators(monitor)) { + for(AbstractProjectConfigurator configurator : lifecycleMapping.getProjectConfigurators(facade, monitor)) { if(configurator instanceof IJavaProjectConfigurator) { ((IJavaProjectConfigurator) configurator).configureRawClasspath(request, classpath, monitor); } @@ -471,14 +470,4 @@ public abstract class AbstractJavaProjectConfigurator extends AbstractProjectCon } return new Path(relative.replace('\\', '/')); //$NON-NLS-1$ //$NON-NLS-2$ } - - @Override - public boolean isSupportedExecution(MojoExecution mojoExecution) { - // Supports java compiler plugins by default - if(isJavaCompilerPlugin(mojoExecution.getGroupId(), mojoExecution.getArtifactId())) { - return true; - } - - return false; - } } diff --git a/org.eclipse.m2e.jdt/src/org/eclipse/m2e/jdt/internal/DefaultClasspathManagerDelegate.java b/org.eclipse.m2e.jdt/src/org/eclipse/m2e/jdt/internal/DefaultClasspathManagerDelegate.java index e6fc08a3..e2ddf85c 100644 --- a/org.eclipse.m2e.jdt/src/org/eclipse/m2e/jdt/internal/DefaultClasspathManagerDelegate.java +++ b/org.eclipse.m2e.jdt/src/org/eclipse/m2e/jdt/internal/DefaultClasspathManagerDelegate.java @@ -68,10 +68,10 @@ public class DefaultClasspathManagerDelegate implements IClasspathManagerDelegat ArrayList<IJavaProjectConfigurator> configurators = new ArrayList<IJavaProjectConfigurator>(); - ILifecycleMapping lifecycleMapping = configurationManager.getLifecycleMapping(projectFacade, monitor); + ILifecycleMapping lifecycleMapping = configurationManager.getLifecycleMapping(projectFacade); if(lifecycleMapping != null) { - for(AbstractProjectConfigurator configurator : lifecycleMapping.getProjectConfigurators(monitor)) { + for(AbstractProjectConfigurator configurator : lifecycleMapping.getProjectConfigurators(projectFacade, monitor)) { if(configurator instanceof IJavaProjectConfigurator) { configurators.add((IJavaProjectConfigurator) configurator); } |