460959 : always use base version when maven-ear-plugin < 2.9
Change-Id: I8b53394fcb5a5c265c5247f891e76aed5ba4191d
Signed-off-by: Fred Bricon <fbricon@gmail.com>
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/EarPluginConfiguration.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/EarPluginConfiguration.java
index 7d85169..4c5626b 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/EarPluginConfiguration.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/EarPluginConfiguration.java
@@ -16,6 +16,8 @@
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.resolver.filter.ScopeArtifactFilter;
+import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
+import org.apache.maven.artifact.versioning.VersionRange;
import org.apache.maven.model.Plugin;
import org.apache.maven.project.MavenProject;
import org.codehaus.plexus.util.StringUtils;
@@ -77,6 +79,8 @@
private Set<EarModule> earModules;
+ private boolean supportsUseBaseVersion = false;
+
public EarPluginConfiguration(MavenProject mavenProject) {
if(JEEPackaging.EAR != JEEPackaging.getValue(mavenProject.getPackaging())) {
throw new IllegalArgumentException(Messages.EarPluginConfiguration_Project_Must_Have_ear_Packaging);
@@ -84,6 +88,15 @@
this.mavenProject = mavenProject;
Plugin plugin = getPlugin();
+ try {
+ VersionRange ear_2_9 = VersionRange.createFromVersionSpec("[2.9,)"); //$NON-NLS-1$
+ if(ear_2_9.containsVersion(new DefaultArtifactVersion(plugin.getVersion()))) {
+ supportsUseBaseVersion = true;
+ }
+ } catch(Exception ex) {
+ //Can't happen
+ }
+
setConfiguration((Xpp3Dom)plugin.getConfiguration());
}
@@ -267,14 +280,16 @@
Xpp3Dom config = getConfiguration();
FileNameMapping mapping = null;
- boolean useBaseVersion = false;
+ boolean useBaseVersion = !supportsUseBaseVersion;
if(config != null) {
Xpp3Dom fileNameMappingDom = config.getChild("fileNameMapping"); //$NON-NLS-1$
if(fileNameMappingDom != null) {
String fileNameMappingName = fileNameMappingDom.getValue().trim();
mapping = FileNameMappingFactory.getFileNameMapping(fileNameMappingName);
}
- useBaseVersion = DomUtils.getBooleanChildValue(config, "useBaseVersion", false); //$NON-NLS-1$
+ if (supportsUseBaseVersion) {// for ear-plugin >= 2.9
+ useBaseVersion = DomUtils.getBooleanChildValue(config, "useBaseVersion", false); //$NON-NLS-1$
+ }
}
if (mapping == null) {
mapping = FileNameMappingFactory.getDefaultFileNameMapping();