IDEA-73842 fix tests

This commit is contained in:
Vladimir Krivosheev
2011-10-06 18:01:00 +04:00
parent 2a0b0b64aa
commit 09a6257ae1
2 changed files with 48 additions and 37 deletions
@@ -0,0 +1,47 @@
package org.jetbrains.idea.maven.server.embedder;
import com.intellij.openapi.util.text.StringUtil;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
import org.apache.maven.artifact.resolver.ArtifactResolutionException;
import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
import org.apache.maven.model.Plugin;
import org.apache.maven.plugin.DefaultPluginManager;
import org.apache.maven.plugin.InvalidPluginException;
import org.apache.maven.plugin.PluginManagerException;
import org.apache.maven.plugin.PluginNotFoundException;
import org.apache.maven.plugin.descriptor.PluginDescriptor;
import org.apache.maven.plugin.version.PluginVersionNotFoundException;
import org.apache.maven.plugin.version.PluginVersionResolutionException;
import org.apache.maven.project.MavenProject;
import org.apache.maven.settings.Settings;
// IDEA-73842
public class Flexmojos4PluginWorkaround extends DefaultPluginManager {
@Override
public PluginDescriptor verifyPlugin(Plugin plugin, MavenProject project, Settings settings, ArtifactRepository localRepository) throws
ArtifactResolutionException,
PluginVersionResolutionException,
ArtifactNotFoundException,
InvalidVersionSpecificationException,
InvalidPluginException,
PluginManagerException,
PluginNotFoundException,
PluginVersionNotFoundException {
if ("flexmojos-maven-plugin".equals(plugin.getArtifactId()) && "org.sonatype.flexmojos".equals(plugin.getGroupId())) {
String pluginVersion = plugin.getVersion();
if (pluginVersion == null) {
pluginVersion = pluginVersionManager.resolvePluginVersion(plugin.getGroupId(), plugin.getArtifactId(),
project, settings, localRepository);
plugin.setVersion(pluginVersion);
}
if (StringUtil.compareVersionNumbers(pluginVersion, "4") >= 0) {
//noinspection ConstantConditions
return null;
}
}
return super.verifyPlugin(plugin, project, settings, localRepository);
}
}
@@ -17,7 +17,6 @@ package org.jetbrains.idea.maven.server.embedder;
import com.intellij.openapi.progress.ProcessCanceledException;
import com.intellij.openapi.util.Ref;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.util.Function;
import gnu.trove.THashMap;
import gnu.trove.THashSet;
@@ -32,15 +31,12 @@ import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
import org.apache.maven.artifact.resolver.ArtifactResolutionException;
import org.apache.maven.artifact.resolver.ArtifactResolver;
import org.apache.maven.artifact.resolver.ResolutionListener;
import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
import org.apache.maven.model.Activation;
import org.apache.maven.model.Model;
import org.apache.maven.model.Plugin;
import org.apache.maven.model.Profile;
import org.apache.maven.plugin.*;
import org.apache.maven.plugin.PluginManager;
import org.apache.maven.plugin.descriptor.PluginDescriptor;
import org.apache.maven.plugin.version.PluginVersionNotFoundException;
import org.apache.maven.plugin.version.PluginVersionResolutionException;
import org.apache.maven.profiles.activation.*;
import org.apache.maven.project.*;
import org.apache.maven.project.artifact.ProjectArtifactFactory;
@@ -52,7 +48,6 @@ import org.apache.maven.project.interpolation.ModelInterpolator;
import org.apache.maven.project.path.DefaultPathTranslator;
import org.apache.maven.project.path.PathTranslator;
import org.apache.maven.project.validation.ModelValidationResult;
import org.apache.maven.settings.Settings;
import org.apache.maven.shared.dependency.tree.DependencyNode;
import org.apache.maven.shared.dependency.tree.DependencyTreeResolutionListener;
import org.codehaus.plexus.PlexusContainer;
@@ -567,37 +562,6 @@ public class Maven2ServerEmbedderImpl extends MavenRemoteObject implements Maven
MavenEmbedder.setImplementation(c, PluginManager.class, Flexmojos4PluginWorkaround.class);
}
// IDEA-73842
private static class Flexmojos4PluginWorkaround extends DefaultPluginManager {
@Override
public PluginDescriptor verifyPlugin(Plugin plugin, MavenProject project, Settings settings, ArtifactRepository localRepository) throws
ArtifactResolutionException,
PluginVersionResolutionException,
ArtifactNotFoundException,
InvalidVersionSpecificationException,
InvalidPluginException,
PluginManagerException,
PluginNotFoundException,
PluginVersionNotFoundException {
if ("flexmojos-maven-plugin".equals(plugin.getArtifactId()) && "org.sonatype.flexmojos".equals(plugin.getGroupId())) {
String pluginVersion = plugin.getVersion();
if (pluginVersion == null) {
pluginVersion = pluginVersionManager.resolvePluginVersion(plugin.getGroupId(), plugin.getArtifactId(),
project, settings, localRepository);
plugin.setVersion(pluginVersion);
}
if (StringUtil.compareVersionNumbers(pluginVersion, "4") >= 0) {
//noinspection ConstantConditions
return null;
}
}
return super.verifyPlugin(plugin, project, settings,
localRepository);
}
}
public void customize(@Nullable MavenWorkspaceMap workspaceMap,
boolean failOnUnresolvedDependency,
@NotNull MavenServerConsole console,