Get into account the order of the defined mapping for ivy:makepom

Project: http://git-wip-us.apache.org/repos/asf/ant-ivy/repo
Commit: http://git-wip-us.apache.org/repos/asf/ant-ivy/commit/47465314
Tree: http://git-wip-us.apache.org/repos/asf/ant-ivy/tree/47465314
Diff: http://git-wip-us.apache.org/repos/asf/ant-ivy/diff/47465314

Branch: refs/heads/master
Commit: 4746531428aaf9e3ae7d505b5a203350d138ea41
Parents: 89a0de6
Author: Nicolas Lalevée <[email protected]>
Authored: Sun Jan 18 16:07:05 2015 +0100
Committer: Nicolas Lalevée <[email protected]>
Committed: Sun Jan 18 17:21:10 2015 +0100

----------------------------------------------------------------------
 src/java/org/apache/ivy/ant/IvyMakePom.java     | 30 +++++++++-----------
 .../parser/m2/PomModuleDescriptorWriter.java    |  3 +-
 .../ivy/plugins/parser/m2/PomWriterOptions.java | 17 +++++------
 3 files changed, 25 insertions(+), 25 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/47465314/src/java/org/apache/ivy/ant/IvyMakePom.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyMakePom.java 
b/src/java/org/apache/ivy/ant/IvyMakePom.java
index 406b155..395a4ad 100644
--- a/src/java/org/apache/ivy/ant/IvyMakePom.java
+++ b/src/java/org/apache/ivy/ant/IvyMakePom.java
@@ -22,15 +22,14 @@ import java.io.IOException;
 import java.net.MalformedURLException;
 import java.text.ParseException;
 import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
+import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 
 import org.apache.ivy.core.module.descriptor.ModuleDescriptor;
 import org.apache.ivy.plugins.parser.m2.PomModuleDescriptorWriter;
 import org.apache.ivy.plugins.parser.m2.PomWriterOptions;
+import org.apache.ivy.plugins.parser.m2.PomWriterOptions.ExtraDependency;
 import org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorParser;
 import org.apache.ivy.util.FileUtil;
 import org.apache.tools.ant.BuildException;
@@ -152,9 +151,9 @@ public class IvyMakePom extends IvyTask {
 
     private String description;
 
-    private Collection mappings = new ArrayList();
+    private List<Mapping> mappings = new ArrayList<Mapping>();
 
-    private Collection dependencies = new ArrayList();
+    private List<Dependency> dependencies = new ArrayList<Dependency>();
 
     public File getPomFile() {
         return pomFile;
@@ -240,6 +239,7 @@ public class IvyMakePom extends IvyTask {
         return dependency;
     }
 
+    @Override
     public void doExecute() throws BuildException {
         try {
             if (ivyFile == null) {
@@ -281,10 +281,9 @@ public class IvyMakePom extends IvyTask {
         return options;
     }
 
-    private Map getMappingsMap() {
-        Map mappingsMap = new HashMap();
-        for (Iterator iter = mappings.iterator(); iter.hasNext();) {
-            Mapping mapping = (Mapping) iter.next();
+    private Map<String, String> getMappingsMap() {
+        Map<String, String> mappingsMap = new LinkedHashMap<String, String>();
+        for (Mapping mapping : mappings) {
             String[] mappingConfs = splitConfs(mapping.getConf());
             for (int i = 0; i < mappingConfs.length; i++) {
                 if (!mappingsMap.containsKey(mappingConfs[i])) {
@@ -295,13 +294,12 @@ public class IvyMakePom extends IvyTask {
         return mappingsMap;
     }
 
-    private List getDependencies() {
-        List result = new ArrayList();
-        for (Iterator iter = dependencies.iterator(); iter.hasNext();) {
-            Dependency dependency = (Dependency) iter.next();
-            result.add(new 
PomWriterOptions.ExtraDependency(dependency.getGroup(), dependency
-                    .getArtifact(), dependency.getVersion(), 
dependency.getScope(), dependency
-                    .getType(), dependency.getClassifier(), 
dependency.getOptional()));
+    private List<ExtraDependency> getDependencies() {
+        List<ExtraDependency> result = new ArrayList<ExtraDependency>();
+        for (Dependency dependency : dependencies) {
+            result.add(new ExtraDependency(dependency.getGroup(), 
dependency.getArtifact(),
+                    dependency.getVersion(), dependency.getScope(), 
dependency.getType(),
+                    dependency.getClassifier(), dependency.getOptional()));
         }
         return result;
     }

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/47465314/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorWriter.java
----------------------------------------------------------------------
diff --git 
a/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorWriter.java 
b/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorWriter.java
index 5cd254a..646d3b5 100644
--- a/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorWriter.java
+++ b/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorWriter.java
@@ -28,6 +28,7 @@ import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Iterator;
+import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -51,7 +52,7 @@ public final class PomModuleDescriptorWriter {
     private static final String SKIP_LINE = "SKIP_LINE";
 
     private static final ConfigurationScopeMapping DEFAULT_MAPPING = new 
ConfigurationScopeMapping(
-            new HashMap() {
+            new LinkedHashMap<String, String>() {
                 {
                     put("compile", "compile");
                     put("runtime", "runtime");

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/47465314/src/java/org/apache/ivy/plugins/parser/m2/PomWriterOptions.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/plugins/parser/m2/PomWriterOptions.java 
b/src/java/org/apache/ivy/plugins/parser/m2/PomWriterOptions.java
index 544d932..212ea1b 100644
--- a/src/java/org/apache/ivy/plugins/parser/m2/PomWriterOptions.java
+++ b/src/java/org/apache/ivy/plugins/parser/m2/PomWriterOptions.java
@@ -19,7 +19,7 @@ package org.apache.ivy.plugins.parser.m2;
 
 import java.io.File;
 import java.util.ArrayList;
-import java.util.HashMap;
+import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -37,7 +37,7 @@ public class PomWriterOptions {
 
     private String artifactPackaging;
 
-    private List/* <ExtraDependency> */extraDependencies = new ArrayList();
+    private List<ExtraDependency> extraDependencies = new 
ArrayList<ExtraDependency>();
 
     private String description;
 
@@ -91,11 +91,11 @@ public class PomWriterOptions {
         return this;
     }
 
-    public List/* <ExtraDependency> */getExtraDependencies() {
+    public List<ExtraDependency> getExtraDependencies() {
         return extraDependencies;
     }
 
-    public PomWriterOptions setExtraDependencies(List/* <ExtraDependency> 
*/extraDependencies) {
+    public PomWriterOptions setExtraDependencies(List<ExtraDependency> 
extraDependencies) {
         this.extraDependencies = extraDependencies;
         return this;
     }
@@ -128,10 +128,11 @@ public class PomWriterOptions {
     }
 
     public static class ConfigurationScopeMapping {
-        private Map/* <String,String> */scopes;
+        private Map<String, String> scopes;
 
-        public ConfigurationScopeMapping(Map/* <String,String> 
*/scopesMapping) {
-            this.scopes = new HashMap(scopesMapping);
+        public ConfigurationScopeMapping(Map<String, String> scopesMapping) {
+            // preserve the order
+            this.scopes = new LinkedHashMap<String, String>(scopesMapping);
         }
 
         /**
@@ -144,7 +145,7 @@ public class PomWriterOptions {
         public String getScope(String[] confs) {
             for (int i = 0; i < confs.length; i++) {
                 if (scopes.containsKey(confs[i])) {
-                    return (String) scopes.get(confs[i]);
+                    return scopes.get(confs[i]);
                 }
             }
 

Reply via email to