You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by ja...@apache.org on 2017/06/29 06:29:24 UTC

[1/2] ant-ivy git commit: Generics + foreach loops and Java 7 syntax in ant and tools packages

Repository: ant-ivy
Updated Branches:
  refs/heads/master 041e9565a -> 9235380f0


http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyResources.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyResources.java b/src/java/org/apache/ivy/ant/IvyResources.java
index 41ec043..b185080 100644
--- a/src/java/org/apache/ivy/ant/IvyResources.java
+++ b/src/java/org/apache/ivy/ant/IvyResources.java
@@ -27,6 +27,7 @@ import org.apache.tools.ant.BuildException;
 import org.apache.tools.ant.Location;
 import org.apache.tools.ant.Project;
 import org.apache.tools.ant.types.Reference;
+import org.apache.tools.ant.types.Resource;
 import org.apache.tools.ant.types.ResourceCollection;
 import org.apache.tools.ant.types.resources.BaseResourceCollectionWrapper;
 import org.apache.tools.ant.types.resources.FileResource;
@@ -38,7 +39,7 @@ public class IvyResources extends IvyCacheTask implements ResourceCollection {
      */
     private class IvyBaseResourceCollectionWrapper extends BaseResourceCollectionWrapper {
 
-        protected Collection getCollection() {
+        protected Collection<Resource> getCollection() {
             return resolveResources(null);
         }
 
@@ -81,7 +82,7 @@ public class IvyResources extends IvyCacheTask implements ResourceCollection {
         return true;
     }
 
-    public Iterator iterator() {
+    public Iterator<Resource> iterator() {
         return wrapper.iterator();
     }
 
@@ -91,16 +92,15 @@ public class IvyResources extends IvyCacheTask implements ResourceCollection {
 
     // convert the ivy reports into an Ant Resource collection
 
-    private Collection resolveResources(String id) throws BuildException {
+    private Collection<Resource> resolveResources(String id) throws BuildException {
         prepareAndCheck();
         try {
-            List/* <FileResource> */resources = new ArrayList();
+            List<Resource> resources = new ArrayList<>();
             if (id != null) {
                 getProject().addReference(id, this);
             }
-            for (Iterator iter = getArtifactReports().iterator(); iter.hasNext();) {
-                ArtifactDownloadReport a = (ArtifactDownloadReport) iter.next();
-                resources.add(new FileResource(a.getLocalFile()));
+            for (ArtifactDownloadReport adr : getArtifactReports()) {
+                resources.add(new FileResource(adr.getLocalFile()));
             }
             return resources;
         } catch (Exception ex) {

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyRetrieve.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyRetrieve.java b/src/java/org/apache/ivy/ant/IvyRetrieve.java
index c783827..0fc0f7f 100644
--- a/src/java/org/apache/ivy/ant/IvyRetrieve.java
+++ b/src/java/org/apache/ivy/ant/IvyRetrieve.java
@@ -137,8 +137,8 @@ public class IvyRetrieve extends IvyPostResolveTask {
     }
 
     protected Collection<String> getAllowedLogOptions() {
-        return Arrays.asList(new String[] {LogOptions.LOG_DEFAULT, LogOptions.LOG_DOWNLOAD_ONLY,
-                LogOptions.LOG_QUIET});
+        return Arrays.asList(LogOptions.LOG_DEFAULT, LogOptions.LOG_DOWNLOAD_ONLY,
+                LogOptions.LOG_QUIET);
     }
 
     public String getIvypattern() {

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyTask.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyTask.java b/src/java/org/apache/ivy/ant/IvyTask.java
index a421447..e3adb85 100644
--- a/src/java/org/apache/ivy/ant/IvyTask.java
+++ b/src/java/org/apache/ivy/ant/IvyTask.java
@@ -121,12 +121,12 @@ public abstract class IvyTask extends Task {
         return (String[]) getReference("ivy.resolved.configurations.ref", org, module, strict);
     }
 
-    protected Object getResolvedDescriptor(String resolveId) {
+    protected <T> T getResolvedDescriptor(String resolveId) {
         return getResolvedDescriptor(resolveId, true);
     }
 
-    protected Object getResolvedDescriptor(String resolveId, boolean strict) {
-        Object result = getProject().getReference("ivy.resolved.descriptor." + resolveId);
+    protected <T> T getResolvedDescriptor(String resolveId, boolean strict) {
+        T result = getProject().getReference("ivy.resolved.descriptor." + resolveId);
         if (strict && (result == null)) {
             throw new BuildException("ModuleDescriptor for resolve with id '" + resolveId
                     + "' not found.");
@@ -134,16 +134,16 @@ public abstract class IvyTask extends Task {
         return result;
     }
 
-    protected Object getResolvedDescriptor(String org, String module) {
+    protected <T> T getResolvedDescriptor(String org, String module) {
         return getResolvedDescriptor(org, module, false);
     }
 
-    protected Object getResolvedDescriptor(String org, String module, boolean strict) {
+    protected <T> T getResolvedDescriptor(String org, String module, boolean strict) {
         return getReference("ivy.resolved.descriptor", org, module, strict);
     }
 
-    private Object getReference(String prefix, String org, String module, boolean strict) {
-        Object reference = null;
+    private <T> T getReference(String prefix, String org, String module, boolean strict) {
+        T reference = null;
         if (org != null && module != null) {
             reference = getProject().getReference(prefix + "." + org + "." + module);
         }
@@ -157,9 +157,9 @@ public abstract class IvyTask extends Task {
         ResolveReport result = null;
 
         if (resolveId == null) {
-            result = (ResolveReport) getReference("ivy.resolved.report", org, module, false);
+            result = getReference("ivy.resolved.report", org, module, false);
         } else {
-            result = (ResolveReport) getReference("ivy.resolved.report." + resolveId, null, null,
+            result = getReference("ivy.resolved.report." + resolveId, null, null,
                 false);
         }
 

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyVar.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyVar.java b/src/java/org/apache/ivy/ant/IvyVar.java
index cd8d670..dd1738f 100644
--- a/src/java/org/apache/ivy/ant/IvyVar.java
+++ b/src/java/org/apache/ivy/ant/IvyVar.java
@@ -21,7 +21,7 @@ import java.io.File;
 import java.io.FileInputStream;
 import java.io.InputStream;
 import java.net.URL;
-import java.util.Iterator;
+import java.util.Map;
 import java.util.Properties;
 
 import org.apache.ivy.Ivy;
@@ -110,10 +110,8 @@ public class IvyVar extends IvyTask {
                     }
                 }
             }
-            for (Iterator iter = props.keySet().iterator(); iter.hasNext();) {
-                String name = (String) iter.next();
-                String value = (String) props.get(name);
-                settings.setVariable(getVarName(name), value);
+            for (Map.Entry<Object, Object> entry : props.entrySet()) {
+                settings.setVariable(getVarName((String) entry.getKey()), (String) entry.getValue());
             }
         }
     }

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/core/event/IvyEvent.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/core/event/IvyEvent.java b/src/java/org/apache/ivy/core/event/IvyEvent.java
index 02ab78e..68e13b3 100644
--- a/src/java/org/apache/ivy/core/event/IvyEvent.java
+++ b/src/java/org/apache/ivy/core/event/IvyEvent.java
@@ -46,7 +46,7 @@ public class IvyEvent {
 
     private String name;
 
-    private Map attributes = new HashMap();
+    private Map<String, String> attributes = new HashMap<>();
 
     protected IvyEvent(String name) {
         this.source = IvyContext.getContext().getEventManager();
@@ -101,8 +101,8 @@ public class IvyEvent {
      *
      * @return the attributes of this event, as a Map(String,String)
      */
-    public Map getAttributes() {
-        return new HashMap(attributes);
+    public Map<String, String> getAttributes() {
+        return new HashMap<>(attributes);
     }
 
     public String toString() {

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/core/settings/IvyVariableContainerImpl.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/core/settings/IvyVariableContainerImpl.java b/src/java/org/apache/ivy/core/settings/IvyVariableContainerImpl.java
index 68da2c9..3ba7b87 100644
--- a/src/java/org/apache/ivy/core/settings/IvyVariableContainerImpl.java
+++ b/src/java/org/apache/ivy/core/settings/IvyVariableContainerImpl.java
@@ -25,15 +25,15 @@ import org.apache.ivy.util.Message;
 
 public class IvyVariableContainerImpl implements IvyVariableContainer {
 
-    private Map variables;
+    private Map<String, String> variables;
 
     private String envPrefix;
 
     public IvyVariableContainerImpl() {
-        this.variables = new HashMap();
+        this.variables = new HashMap<>();
     }
 
-    public IvyVariableContainerImpl(Map variables) {
+    public IvyVariableContainerImpl(Map<String, String> variables) {
         this.variables = variables;
     }
 
@@ -64,7 +64,7 @@ public class IvyVariableContainerImpl implements IvyVariableContainer {
         return IvyPatternHelper.substituteVariables(value, this);
     }
 
-    protected Map getVariables() {
+    protected Map<String, String> getVariables() {
         return variables;
     }
 
@@ -82,7 +82,7 @@ public class IvyVariableContainerImpl implements IvyVariableContainer {
         if ((envPrefix != null) && name.startsWith(envPrefix)) {
             val = System.getenv(name.substring(envPrefix.length()));
         } else {
-            val = (String) variables.get(name);
+            val = variables.get(name);
         }
 
         return val;
@@ -95,7 +95,7 @@ public class IvyVariableContainerImpl implements IvyVariableContainer {
         } catch (CloneNotSupportedException e) {
             throw new RuntimeException("unable to clone a " + this.getClass());
         }
-        clone.variables = new HashMap(this.variables);
+        clone.variables = new HashMap<>(this.variables);
         return clone;
     }
 }

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/tools/analyser/JarJarDependencyAnalyser.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/tools/analyser/JarJarDependencyAnalyser.java b/src/java/org/apache/ivy/tools/analyser/JarJarDependencyAnalyser.java
index 81736b1..ecb0cbd 100644
--- a/src/java/org/apache/ivy/tools/analyser/JarJarDependencyAnalyser.java
+++ b/src/java/org/apache/ivy/tools/analyser/JarJarDependencyAnalyser.java
@@ -28,6 +28,7 @@ import java.util.Map;
 import org.apache.ivy.core.module.descriptor.DefaultDependencyDescriptor;
 import org.apache.ivy.core.module.descriptor.DefaultModuleDescriptor;
 import org.apache.ivy.core.module.descriptor.ModuleDescriptor;
+import org.apache.ivy.core.module.id.ModuleRevisionId;
 import org.apache.ivy.util.Message;
 
 public class JarJarDependencyAnalyser implements DependencyAnalyser {
@@ -39,10 +40,10 @@ public class JarJarDependencyAnalyser implements DependencyAnalyser {
 
     public ModuleDescriptor[] analyze(JarModule[] modules) {
 
-        StringBuffer jarjarCmd = new StringBuffer("java -jar \"").append(
+        StringBuilder jarjarCmd = new StringBuilder("java -jar \"").append(
             jarjarjarLocation.getAbsolutePath()).append("\" --find --level=jar ");
-        Map jarModulesMap = new HashMap();
-        Map mds = new HashMap();
+        Map<String, JarModule> jarModulesMap = new HashMap<>();
+        Map<ModuleRevisionId, DefaultModuleDescriptor> mds = new HashMap<>();
 
         for (int i = 0; i < modules.length; i++) {
             jarModulesMap.put(modules[i].getJar().getAbsolutePath(), modules[i]);
@@ -63,15 +64,15 @@ public class JarJarDependencyAnalyser implements DependencyAnalyser {
             String line;
             while ((line = r.readLine()) != null) {
                 String[] deps = line.split(" -> ");
-                JarModule module = (JarModule) jarModulesMap.get(deps[0]);
-                JarModule dependency = (JarModule) jarModulesMap.get(deps[1]);
+                JarModule module = jarModulesMap.get(deps[0]);
+                JarModule dependency = jarModulesMap.get(deps[1]);
 
                 if (module.getMrid().getModuleId().equals(dependency.getMrid().getModuleId())) {
                     continue;
                 }
                 Message.verbose(module.getMrid() + " depends on " + dependency.getMrid());
 
-                DefaultModuleDescriptor md = (DefaultModuleDescriptor) mds.get(module.getMrid());
+                DefaultModuleDescriptor md = mds.get(module.getMrid());
 
                 DefaultDependencyDescriptor dd = new DefaultDependencyDescriptor(md,
                         dependency.getMrid(), false, false, true);
@@ -82,7 +83,7 @@ public class JarJarDependencyAnalyser implements DependencyAnalyser {
         } catch (IOException e) {
             Message.debug(e);
         }
-        return (ModuleDescriptor[]) mds.values().toArray(new ModuleDescriptor[mds.values().size()]);
+        return mds.values().toArray(new ModuleDescriptor[mds.values().size()]);
     }
 
     public static void main(String[] args) {

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/tools/analyser/JarModuleFinder.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/tools/analyser/JarModuleFinder.java b/src/java/org/apache/ivy/tools/analyser/JarModuleFinder.java
index 8cbd262..9e216ae 100644
--- a/src/java/org/apache/ivy/tools/analyser/JarModuleFinder.java
+++ b/src/java/org/apache/ivy/tools/analyser/JarModuleFinder.java
@@ -39,24 +39,20 @@ public class JarModuleFinder {
     }
 
     public JarModule[] findJarModules() {
-        List ret = new ArrayList();
+        List<JarModule> ret = new ArrayList<>();
         URLLister lister = new FileURLLister();
         try {
-            String[] orgs = ResolverHelper.listTokenValues(lister, pattern, "organisation");
-            for (int i = 0; i < orgs.length; i++) {
+            for (String org : ResolverHelper.listTokenValues(lister, pattern, "organisation")) {
                 String orgPattern = IvyPatternHelper.substituteToken(pattern,
-                    IvyPatternHelper.ORGANISATION_KEY, orgs[i]);
-                String[] modules = ResolverHelper.listTokenValues(lister, orgPattern, "module");
-                for (int j = 0; j < modules.length; j++) {
+                        IvyPatternHelper.ORGANISATION_KEY, org);
+                for (String module : ResolverHelper.listTokenValues(lister, orgPattern, "module")) {
                     String modPattern = IvyPatternHelper.substituteToken(orgPattern,
-                        IvyPatternHelper.MODULE_KEY, modules[j]);
-                    String[] revs = ResolverHelper.listTokenValues(lister, modPattern, "revision");
-                    for (int k = 0; k < revs.length; k++) {
-                        File jar = new File(IvyPatternHelper.substitute(filePattern, orgs[i],
-                            modules[j], revs[k], modules[j], "jar", "jar"));
+                            IvyPatternHelper.MODULE_KEY, module);
+                    for (String rev : ResolverHelper.listTokenValues(lister, modPattern, "revision")) {
+                        File jar = new File(IvyPatternHelper.substitute(filePattern, org,
+                                module, rev, module, "jar", "jar"));
                         if (jar.exists()) {
-                            ret.add(new JarModule(ModuleRevisionId.newInstance(orgs[i], modules[j],
-                                revs[k]), jar));
+                            ret.add(new JarModule(ModuleRevisionId.newInstance(org, module, rev), jar));
                         }
                     }
                 }
@@ -66,15 +62,15 @@ public class JarModuleFinder {
             Message.debug(e);
             // TODO: handle exception
         }
-        return (JarModule[]) ret.toArray(new JarModule[ret.size()]);
+        return ret.toArray(new JarModule[ret.size()]);
     }
 
     public static void main(String[] args) {
         JarModule[] mods = new JarModuleFinder(
                 "D:/temp/test2/ivyrep/[organisation]/[module]/[revision]/[artifact].[ext]")
                 .findJarModules();
-        for (int i = 0; i < mods.length; i++) {
-            System.out.println(mods[i]);
+        for (JarModule mod : mods) {
+            System.out.println(mod);
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/tools/analyser/RepositoryAnalyser.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/tools/analyser/RepositoryAnalyser.java b/src/java/org/apache/ivy/tools/analyser/RepositoryAnalyser.java
index aa34a45..eb45fa0 100644
--- a/src/java/org/apache/ivy/tools/analyser/RepositoryAnalyser.java
+++ b/src/java/org/apache/ivy/tools/analyser/RepositoryAnalyser.java
@@ -31,14 +31,14 @@ public class RepositoryAnalyser {
         JarModuleFinder finder = new JarModuleFinder(pattern);
         ModuleDescriptor[] mds = depAnalyser.analyze(finder.findJarModules());
         Message.info("found " + mds.length + " modules");
-        for (int i = 0; i < mds.length; i++) {
+        for (ModuleDescriptor md : mds) {
             File ivyFile = new File(IvyPatternHelper.substitute(
-                pattern,
-                DefaultArtifact.newIvyArtifact(mds[i].getModuleRevisionId(),
-                    mds[i].getPublicationDate())));
+                    pattern,
+                    DefaultArtifact.newIvyArtifact(md.getModuleRevisionId(),
+                            md.getPublicationDate())));
             try {
                 Message.info("generating " + ivyFile);
-                XmlModuleDescriptorWriter.write(mds[i], ivyFile);
+                XmlModuleDescriptorWriter.write(md, ivyFile);
             } catch (IOException e) {
                 Message.debug(e);
             }


[2/2] ant-ivy git commit: Generics + foreach loops and Java 7 syntax in ant and tools packages

Posted by ja...@apache.org.
Generics + foreach loops and Java 7 syntax in ant and tools packages

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

Branch: refs/heads/master
Commit: 9235380f05e88de1a881950cb21a3d254585d5df
Parents: 041e956
Author: twogee <g....@gmail.com>
Authored: Thu Jun 15 20:40:48 2017 +0200
Committer: Jaikiran Pai <ja...@apache.org>
Committed: Thu Jun 29 11:58:45 2017 +0530

----------------------------------------------------------------------
 .../org/apache/ivy/ant/AntBuildTrigger.java     | 15 ++---
 src/java/org/apache/ivy/ant/AntCallTrigger.java | 13 ++---
 .../apache/ivy/ant/AntWorkspaceResolver.java    | 25 ++++----
 src/java/org/apache/ivy/ant/FixDepsTask.java    |  4 +-
 src/java/org/apache/ivy/ant/IvyAntSettings.java | 16 ++---
 .../apache/ivy/ant/IvyAntVariableContainer.java | 18 +++---
 .../org/apache/ivy/ant/IvyArtifactProperty.java | 13 ++---
 .../org/apache/ivy/ant/IvyArtifactReport.java   | 59 ++++++++-----------
 src/java/org/apache/ivy/ant/IvyBuildList.java   | 61 +++++++++-----------
 .../org/apache/ivy/ant/IvyCacheFileset.java     | 11 ++--
 src/java/org/apache/ivy/ant/IvyCachePath.java   | 15 ++---
 src/java/org/apache/ivy/ant/IvyCacheTask.java   | 14 ++---
 src/java/org/apache/ivy/ant/IvyCheck.java       |  9 ++-
 src/java/org/apache/ivy/ant/IvyCleanCache.java  |  4 +-
 src/java/org/apache/ivy/ant/IvyConfigure.java   |  4 +-
 src/java/org/apache/ivy/ant/IvyDependency.java  |  8 +--
 .../org/apache/ivy/ant/IvyDependencyConf.java   | 12 ++--
 .../org/apache/ivy/ant/IvyDependencyTree.java   | 13 ++---
 .../ivy/ant/IvyDependencyUpdateChecker.java     | 59 ++++++-------------
 .../apache/ivy/ant/IvyExtractFromSources.java   | 37 +++++-------
 src/java/org/apache/ivy/ant/IvyInfo.java        | 49 +++++++---------
 src/java/org/apache/ivy/ant/IvyListModules.java |  6 +-
 src/java/org/apache/ivy/ant/IvyMakePom.java     | 15 +++--
 .../org/apache/ivy/ant/IvyPostResolveTask.java  | 32 +++++-----
 src/java/org/apache/ivy/ant/IvyPublish.java     |  6 +-
 src/java/org/apache/ivy/ant/IvyReport.java      | 21 +++----
 .../org/apache/ivy/ant/IvyRepositoryReport.java | 48 +++++++--------
 src/java/org/apache/ivy/ant/IvyResolve.java     |  6 +-
 src/java/org/apache/ivy/ant/IvyResources.java   | 14 ++---
 src/java/org/apache/ivy/ant/IvyRetrieve.java    |  4 +-
 src/java/org/apache/ivy/ant/IvyTask.java        | 18 +++---
 src/java/org/apache/ivy/ant/IvyVar.java         |  8 +--
 .../org/apache/ivy/core/event/IvyEvent.java     |  6 +-
 .../core/settings/IvyVariableContainerImpl.java | 12 ++--
 .../analyser/JarJarDependencyAnalyser.java      | 15 ++---
 .../ivy/tools/analyser/JarModuleFinder.java     | 28 ++++-----
 .../ivy/tools/analyser/RepositoryAnalyser.java  | 10 ++--
 37 files changed, 299 insertions(+), 409 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/AntBuildTrigger.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/AntBuildTrigger.java b/src/java/org/apache/ivy/ant/AntBuildTrigger.java
index 1950333..735fe23 100644
--- a/src/java/org/apache/ivy/ant/AntBuildTrigger.java
+++ b/src/java/org/apache/ivy/ant/AntBuildTrigger.java
@@ -20,7 +20,6 @@ package org.apache.ivy.ant;
 import java.io.File;
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.Iterator;
 import java.util.Map;
 
 import org.apache.ivy.core.IvyContext;
@@ -62,7 +61,7 @@ public class AntBuildTrigger extends AbstractTrigger implements Trigger {
 
     private String target = null;
 
-    private Collection builds = new ArrayList();
+    private Collection<String> builds = new ArrayList<>();
 
     private String buildFilePattern;
 
@@ -91,14 +90,12 @@ public class AntBuildTrigger extends AbstractTrigger implements Trigger {
                 if (target != null) {
                     ant.setTarget(target);
                 }
-                Map atts = event.getAttributes();
-                for (Iterator iter = atts.keySet().iterator(); iter.hasNext();) {
-                    String key = (String) iter.next();
-                    String value = (String) atts.get(key);
-                    if (value != null) {
+                Map<String, String> atts = event.getAttributes();
+                for (Map.Entry<String, String> entry : atts.entrySet()) {
+                    if (entry.getValue() != null) {
                         Property p = ant.createProperty();
-                        p.setName(prefix == null ? key : prefix + key);
-                        p.setValue(value);
+                        p.setName(prefix == null ? entry.getKey() : prefix + entry.getKey());
+                        p.setValue(entry.getValue());
                     }
                 }
 

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/AntCallTrigger.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/AntCallTrigger.java b/src/java/org/apache/ivy/ant/AntCallTrigger.java
index 0770dbd..9544e39 100644
--- a/src/java/org/apache/ivy/ant/AntCallTrigger.java
+++ b/src/java/org/apache/ivy/ant/AntCallTrigger.java
@@ -19,7 +19,6 @@ package org.apache.ivy.ant;
 
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.Iterator;
 import java.util.Map;
 
 import org.apache.ivy.core.IvyContext;
@@ -55,7 +54,7 @@ public class AntCallTrigger extends AbstractTrigger implements Trigger {
 
     private String target = null;
 
-    private Collection calls = new ArrayList();
+    private Collection<IvyEvent> calls = new ArrayList<>();
 
     private String prefix;
 
@@ -73,16 +72,14 @@ public class AntCallTrigger extends AbstractTrigger implements Trigger {
             call.setProject(project);
             call.setTaskName("antcall");
 
-            Map attributes = event.getAttributes();
+            Map<String, String> attributes = event.getAttributes();
             String target = IvyPatternHelper.substituteTokens(getTarget(), attributes);
             call.setTarget(target);
 
-            for (Iterator iter = attributes.keySet().iterator(); iter.hasNext();) {
-                String key = (String) iter.next();
-                String value = (String) attributes.get(key);
+            for (Map.Entry<String, String> entry : attributes.entrySet()) {
                 Property p = call.createParam();
-                p.setName(prefix == null ? key : prefix + key);
-                p.setValue(value == null ? "" : value);
+                p.setName(prefix == null ? entry.getKey() : prefix + entry.getKey());
+                p.setValue(entry.getValue() == null ? "" : entry.getValue());
             }
 
             Message.verbose("triggering ant call: target=" + target + " for " + event);

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/AntWorkspaceResolver.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/AntWorkspaceResolver.java b/src/java/org/apache/ivy/ant/AntWorkspaceResolver.java
index 14fd0b1..5166a7b 100644
--- a/src/java/org/apache/ivy/ant/AntWorkspaceResolver.java
+++ b/src/java/org/apache/ivy/ant/AntWorkspaceResolver.java
@@ -25,7 +25,6 @@ import java.text.ParseException;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
@@ -45,6 +44,7 @@ import org.apache.ivy.plugins.resolver.AbstractWorkspaceResolver;
 import org.apache.ivy.util.Message;
 import org.apache.tools.ant.BuildException;
 import org.apache.tools.ant.types.DataType;
+import org.apache.tools.ant.types.Resource;
 import org.apache.tools.ant.types.ResourceCollection;
 import org.apache.tools.ant.types.resources.FileResource;
 
@@ -77,7 +77,7 @@ public class AntWorkspaceResolver extends DataType {
         }
     }
 
-    private List<ResourceCollection> allResources = new ArrayList<ResourceCollection>();
+    private List<ResourceCollection> allResources = new ArrayList<>();
 
     private boolean haltOnError = true;
 
@@ -85,7 +85,7 @@ public class AntWorkspaceResolver extends DataType {
 
     private String name;
 
-    private List<WorkspaceArtifact> artifacts = new ArrayList<WorkspaceArtifact>();
+    private List<WorkspaceArtifact> artifacts = new ArrayList<>();
 
     public void setName(String name) {
         this.name = name;
@@ -129,10 +129,10 @@ public class AntWorkspaceResolver extends DataType {
 
         private synchronized Map<ModuleDescriptor, File> getModuleDescriptors() {
             if (md2IvyFile == null) {
-                md2IvyFile = new HashMap<ModuleDescriptor, File>();
+                md2IvyFile = new HashMap<>();
                 for (ResourceCollection resources : allResources) {
-                    for (Iterator it = resources.iterator(); it.hasNext();) {
-                        File ivyFile = ((FileResource) it.next()).getFile();
+                    for (Resource resource : resources) {
+                        File ivyFile = ((FileResource) resource).getFile();
                         try {
                             ModuleDescriptor md = ModuleDescriptorParserRegistry.getInstance()
                                     .parseDescriptor(getParserSettings(), ivyFile.toURI().toURL(),
@@ -156,8 +156,7 @@ public class AntWorkspaceResolver extends DataType {
 
         public ResolvedModuleRevision getDependency(DependencyDescriptor dd, ResolveData data)
                 throws ParseException {
-            Map<ModuleDescriptor, File> mds = getModuleDescriptors();
-            for (Entry<ModuleDescriptor, File> md : mds.entrySet()) {
+            for (Entry<ModuleDescriptor, File> md : getModuleDescriptors().entrySet()) {
                 ResolvedModuleRevision rmr = checkCandidate(dd, md.getKey(),
                     getProjectName(md.getValue()));
                 if (rmr != null) {
@@ -169,7 +168,7 @@ public class AntWorkspaceResolver extends DataType {
 
         @Override
         protected List<Artifact> createWorkspaceArtifacts(ModuleDescriptor md) {
-            List<Artifact> res = new ArrayList<Artifact>();
+            List<Artifact> res = new ArrayList<>();
 
             for (WorkspaceArtifact wa : artifacts) {
                 String name = wa.name;
@@ -209,10 +208,10 @@ public class AntWorkspaceResolver extends DataType {
         public DownloadReport download(Artifact[] artifacts, DownloadOptions options) {
             // Not much to do here - downloads are not required for workspace projects.
             DownloadReport dr = new DownloadReport();
-            for (int i = 0; i < artifacts.length; i++) {
-                ArtifactDownloadReport adr = new ArtifactDownloadReport(artifacts[i]);
+            for (Artifact artifact : artifacts) {
+                ArtifactDownloadReport adr = new ArtifactDownloadReport(artifact);
                 dr.addArtifactReport(adr);
-                URL url = artifacts[i].getUrl();
+                URL url = artifact.getUrl();
                 if (url == null || !url.getProtocol().equals("file")) {
                     // this is not an artifact managed by this resolver
                     adr.setDownloadStatus(DownloadStatus.FAILED);
@@ -227,7 +226,7 @@ public class AntWorkspaceResolver extends DataType {
                 adr.setLocalFile(f);
                 adr.setDownloadStatus(DownloadStatus.NO);
                 adr.setSize(0);
-                Message.verbose("\t[IN WORKSPACE] " + artifacts[i]);
+                Message.verbose("\t[IN WORKSPACE] " + artifact);
             }
             return dr;
         }

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/FixDepsTask.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/FixDepsTask.java b/src/java/org/apache/ivy/ant/FixDepsTask.java
index 8695cb8..63772ca 100644
--- a/src/java/org/apache/ivy/ant/FixDepsTask.java
+++ b/src/java/org/apache/ivy/ant/FixDepsTask.java
@@ -32,7 +32,7 @@ public class FixDepsTask extends IvyPostResolveTask {
 
     private File dest;
 
-    private List<Keep> keeps = new ArrayList<Keep>();
+    private List<Keep> keeps = new ArrayList<>();
 
     public void setToFile(File dest) {
         this.dest = dest;
@@ -73,7 +73,7 @@ public class FixDepsTask extends IvyPostResolveTask {
 
         ResolveReport report = getResolvedReport();
 
-        List<ModuleId> midToKeep = new ArrayList<ModuleId>();
+        List<ModuleId> midToKeep = new ArrayList<>();
         for (Keep keep : keeps) {
             midToKeep.add(ModuleId.newInstance(keep.org, keep.module));
         }

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyAntSettings.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyAntSettings.java b/src/java/org/apache/ivy/ant/IvyAntSettings.java
index 9f169d6..6672b10 100644
--- a/src/java/org/apache/ivy/ant/IvyAntSettings.java
+++ b/src/java/org/apache/ivy/ant/IvyAntSettings.java
@@ -304,10 +304,7 @@ public class IvyAntSettings extends DataType {
             }
             ivyAntVariableContainer.updateProject(id);
             ivyEngine = ivy;
-        } catch (ParseException e) {
-            throw new BuildException("impossible to configure ivy:settings with given "
-                    + (file != null ? "file: " + file : "url: " + url) + " : " + e, e);
-        } catch (IOException e) {
+        } catch (ParseException | IOException e) {
             throw new BuildException("impossible to configure ivy:settings with given "
                     + (file != null ? "file: " + file : "url: " + url) + " : " + e, e);
         } finally {
@@ -354,15 +351,14 @@ public class IvyAntSettings extends DataType {
                 new File(getProject().getBaseDir(), settingsFileName),
                 new File(getProject().getBaseDir(), "ivyconf.xml"), new File(settingsFileName),
                 new File("ivyconf.xml")};
-        for (int i = 0; i < settingsLocations.length; i++) {
-            file = settingsLocations[i];
-            task.log("searching settings file: trying " + file, Project.MSG_VERBOSE);
-            if (file.exists()) {
+        for (File settingsFile : settingsLocations) {
+            task.log("searching settings file: trying " + settingsFile, Project.MSG_VERBOSE);
+            if (settingsFile.exists()) {
+                file = settingsFile;
                 break;
             }
         }
-        if (!file.exists()) {
-            file = null;
+        if (file == null) {
             if (Boolean.valueOf(getProject().getProperty("ivy.14.compatible"))) {
                 task.log("no settings file found, using Ivy 1.4 default...", Project.MSG_VERBOSE);
                 url = IvySettings.getDefault14SettingsURL();

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyAntVariableContainer.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyAntVariableContainer.java b/src/java/org/apache/ivy/ant/IvyAntVariableContainer.java
index f9dc77f..e1c1d54 100644
--- a/src/java/org/apache/ivy/ant/IvyAntVariableContainer.java
+++ b/src/java/org/apache/ivy/ant/IvyAntVariableContainer.java
@@ -18,7 +18,6 @@
 package org.apache.ivy.ant;
 
 import java.util.HashMap;
-import java.util.Iterator;
 import java.util.Map;
 import java.util.Map.Entry;
 
@@ -30,7 +29,7 @@ import org.apache.tools.ant.taskdefs.Property;
 
 class IvyAntVariableContainer extends IvyVariableContainerImpl implements IvyVariableContainer {
 
-    private Map overwrittenProperties = new HashMap();
+    private Map<String, String> overwrittenProperties = new HashMap<>();
 
     private Project project;
 
@@ -39,7 +38,7 @@ class IvyAntVariableContainer extends IvyVariableContainerImpl implements IvyVar
     }
 
     public String getVariable(String name) {
-        String r = (String) overwrittenProperties.get(name);
+        String r = overwrittenProperties.get(name);
         if (r == null) {
             r = project.getProperty(name);
         }
@@ -73,14 +72,12 @@ class IvyAntVariableContainer extends IvyVariableContainerImpl implements IvyVar
      *            be used as property names suffix
      */
     public void updateProject(String id) {
-        Map r = new HashMap(super.getVariables());
+        Map<String, String> r = new HashMap<>(super.getVariables());
         r.putAll(overwrittenProperties);
-        for (Iterator it = r.entrySet().iterator(); it.hasNext();) {
-            Entry entry = (Entry) it.next();
-
-            setPropertyIfNotSet((String) entry.getKey(), (String) entry.getValue());
+        for (Entry<String, String> entry : r.entrySet()) {
+            setPropertyIfNotSet(entry.getKey(), entry.getValue());
             if (id != null) {
-                setPropertyIfNotSet((String) entry.getKey() + "." + id, (String) entry.getValue());
+                setPropertyIfNotSet(entry.getKey() + "." + id, entry.getValue());
             }
         }
 
@@ -102,7 +99,8 @@ class IvyAntVariableContainer extends IvyVariableContainerImpl implements IvyVar
     @SuppressWarnings("unchecked")
     public Object clone() {
         IvyAntVariableContainer result = (IvyAntVariableContainer) super.clone();
-        result.overwrittenProperties = (HashMap) ((HashMap) this.overwrittenProperties).clone();
+        result.overwrittenProperties = (HashMap<String, String>) ((HashMap<String, String>) this.overwrittenProperties)
+                .clone();
         return result;
     }
 }

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyArtifactProperty.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyArtifactProperty.java b/src/java/org/apache/ivy/ant/IvyArtifactProperty.java
index 5c598f9..5308158 100644
--- a/src/java/org/apache/ivy/ant/IvyArtifactProperty.java
+++ b/src/java/org/apache/ivy/ant/IvyArtifactProperty.java
@@ -62,23 +62,20 @@ public class IvyArtifactProperty extends IvyPostResolveTask {
 
         try {
             ResolutionCacheManager cacheMgr = getIvyInstance().getResolutionCacheManager();
-            String[] confs = splitConfs(getConf());
             String resolveId = getResolveId();
             if (resolveId == null) {
                 resolveId = ResolveOptions.getDefaultResolveId(getResolvedModuleId());
             }
             XmlReportParser parser = new XmlReportParser();
-            for (int i = 0; i < confs.length; i++) {
-                File report = cacheMgr.getConfigurationResolveReportInCache(resolveId, confs[i]);
+            for (String conf : splitConfs(getConf())) {
+                File report = cacheMgr.getConfigurationResolveReportInCache(resolveId, conf);
                 parser.parse(report);
 
-                Artifact[] artifacts = parser.getArtifacts();
-                for (int j = 0; j < artifacts.length; j++) {
-                    Artifact artifact = artifacts[j];
+                for (Artifact artifact : parser.getArtifacts()) {
                     String name = IvyPatternHelper.substitute(getSettings().substitute(getName()),
-                        artifact, confs[i]);
+                            artifact, conf);
                     String value = IvyPatternHelper.substitute(
-                        getSettings().substitute(getValue()), artifact, confs[i]);
+                            getSettings().substitute(getValue()), artifact, conf);
                     setProperty(name, value);
                 }
             }

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyArtifactReport.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyArtifactReport.java b/src/java/org/apache/ivy/ant/IvyArtifactReport.java
index cc55d43..aff8c4c 100644
--- a/src/java/org/apache/ivy/ant/IvyArtifactReport.java
+++ b/src/java/org/apache/ivy/ant/IvyArtifactReport.java
@@ -23,7 +23,6 @@ import java.io.IOException;
 import java.text.ParseException;
 import java.util.HashMap;
 import java.util.HashSet;
-import java.util.Iterator;
 import java.util.Map;
 import java.util.Set;
 
@@ -86,28 +85,26 @@ public class IvyArtifactReport extends IvyPostResolveTask {
             String[] confs = splitConfs(getConf());
             ModuleDescriptor md = null;
             if (getResolveId() != null) {
-                md = (ModuleDescriptor) getResolvedDescriptor(getResolveId());
+                md = getResolvedDescriptor(getResolveId());
             } else {
-                md = (ModuleDescriptor) getResolvedDescriptor(getOrganisation(), getModule(), false);
+                md = getResolvedDescriptor(getOrganisation(), getModule(), false);
             }
-            IvyNode[] dependencies = getIvyInstance().getResolveEngine().getDependencies(
-                md,
+            IvyNode[] dependencies = getIvyInstance().getResolveEngine().getDependencies(md,
                 ((ResolveOptions) new ResolveOptions().setLog(getLog())).setConfs(confs)
                         .setResolveId(getResolveId()).setValidate(doValidate(getSettings())), null);
 
-            Map artifactsToCopy = getIvyInstance().getRetrieveEngine().determineArtifactsToCopy(
-                ModuleRevisionId.newInstance(getOrganisation(), getModule(), getRevision()),
-                pattern,
-                ((RetrieveOptions) new RetrieveOptions().setLog(getLog())).setConfs(confs)
-                        .setResolveId(getResolveId()));
+            Map<ArtifactDownloadReport, Set<String>> artifactsToCopy = getIvyInstance().getRetrieveEngine()
+                    .determineArtifactsToCopy(ModuleRevisionId.newInstance(getOrganisation(),
+                            getModule(), getRevision()), pattern,
+                            ((RetrieveOptions) new RetrieveOptions().setLog(getLog()))
+                                    .setConfs(confs).setResolveId(getResolveId()));
 
-            Map moduleRevToArtifactsMap = new HashMap();
-            for (Iterator iter = artifactsToCopy.keySet().iterator(); iter.hasNext();) {
-                ArtifactDownloadReport artifact = (ArtifactDownloadReport) iter.next();
-                Set moduleRevArtifacts = (Set) moduleRevToArtifactsMap.get(artifact.getArtifact()
+            Map<ModuleRevisionId, Set<ArtifactDownloadReport>> moduleRevToArtifactsMap = new HashMap<>();
+            for (ArtifactDownloadReport artifact : artifactsToCopy.keySet()) {
+                Set<ArtifactDownloadReport> moduleRevArtifacts = moduleRevToArtifactsMap.get(artifact.getArtifact()
                         .getModuleRevisionId());
                 if (moduleRevArtifacts == null) {
-                    moduleRevArtifacts = new HashSet();
+                    moduleRevArtifacts = new HashSet<>();
                     moduleRevToArtifactsMap.put(artifact.getArtifact().getModuleRevisionId(),
                         moduleRevArtifacts);
                 }
@@ -123,29 +120,28 @@ public class IvyArtifactReport extends IvyPostResolveTask {
         }
     }
 
-    private void generateXml(IvyNode[] dependencies, Map moduleRevToArtifactsMap,
-            Map artifactsToCopy) {
+    private void generateXml(IvyNode[] dependencies,
+                             Map<ModuleRevisionId, Set<ArtifactDownloadReport>> moduleRevToArtifactsMap,
+                             Map<ArtifactDownloadReport, Set<String>> artifactsToCopy) {
         try {
-            FileOutputStream fileOutputStream = new FileOutputStream(tofile);
-            try {
+            try (FileOutputStream fileOutputStream = new FileOutputStream(tofile)) {
                 TransformerHandler saxHandler = createTransformerHandler(fileOutputStream);
 
                 saxHandler.startDocument();
                 saxHandler.startElement(null, "modules", "modules", new AttributesImpl());
 
-                for (int i = 0; i < dependencies.length; i++) {
-                    IvyNode dependency = dependencies[i];
-                    if (dependency.getModuleRevision() == null || dependency.isCompletelyEvicted()) {
+                for (IvyNode dependency : dependencies) {
+                    if (dependency.getModuleRevision() == null
+                            || dependency.isCompletelyEvicted()) {
                         continue;
                     }
 
                     startModule(saxHandler, dependency);
 
-                    Set artifactsOfModuleRev = (Set) moduleRevToArtifactsMap.get(dependency
+                    Set<ArtifactDownloadReport> artifactsOfModuleRev = moduleRevToArtifactsMap.get(dependency
                             .getModuleRevision().getId());
                     if (artifactsOfModuleRev != null) {
-                        for (Iterator iter = artifactsOfModuleRev.iterator(); iter.hasNext();) {
-                            ArtifactDownloadReport artifact = (ArtifactDownloadReport) iter.next();
+                        for (ArtifactDownloadReport artifact : artifactsOfModuleRev) {
 
                             RepositoryCacheManager cache = dependency.getModuleRevision()
                                     .getArtifactResolver().getRepositoryCacheManager();
@@ -155,10 +151,7 @@ public class IvyArtifactReport extends IvyPostResolveTask {
                             writeOriginLocationIfPresent(cache, saxHandler, artifact);
                             writeCacheLocationIfPresent(cache, saxHandler, artifact);
 
-                            Set artifactDestPaths = (Set) artifactsToCopy.get(artifact);
-                            for (Iterator iterator = artifactDestPaths.iterator(); iterator
-                                    .hasNext();) {
-                                String artifactDestPath = (String) iterator.next();
+                            for (String artifactDestPath : artifactsToCopy.get(artifact)) {
                                 writeRetrieveLocation(saxHandler, artifactDestPath);
                             }
                             saxHandler.endElement(null, "artifact", "artifact");
@@ -168,14 +161,8 @@ public class IvyArtifactReport extends IvyPostResolveTask {
                 }
                 saxHandler.endElement(null, "modules", "modules");
                 saxHandler.endDocument();
-            } finally {
-                fileOutputStream.close();
             }
-        } catch (SAXException e) {
-            throw new BuildException("impossible to generate report", e);
-        } catch (TransformerConfigurationException e) {
-            throw new BuildException("impossible to generate report", e);
-        } catch (IOException e) {
+        } catch (SAXException | IOException | TransformerConfigurationException e) {
             throw new BuildException("impossible to generate report", e);
         }
     }

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyBuildList.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyBuildList.java b/src/java/org/apache/ivy/ant/IvyBuildList.java
index bdc9ab9..b0cbf98 100644
--- a/src/java/org/apache/ivy/ant/IvyBuildList.java
+++ b/src/java/org/apache/ivy/ant/IvyBuildList.java
@@ -65,7 +65,7 @@ public class IvyBuildList extends IvyTask {
 
     public static final String DESCRIPTOR_REQUIRED = "required";
 
-    private List<FileSet> buildFileSets = new ArrayList<FileSet>();
+    private List<FileSet> buildFileSets = new ArrayList<>();
 
     private String reference;
 
@@ -168,12 +168,12 @@ public class IvyBuildList extends IvyTask {
 
         Path path = new Path(getProject());
 
-        Map<ModuleDescriptor, File> buildFiles = new HashMap<ModuleDescriptor, File>();
-        List<File> independent = new ArrayList<File>();
-        List<File> noDescriptor = new ArrayList<File>();
-        Collection<ModuleDescriptor> mds = new ArrayList<ModuleDescriptor>();
+        Map<ModuleDescriptor, File> buildFiles = new HashMap<>();
+        List<File> independent = new ArrayList<>();
+        List<File> noDescriptor = new ArrayList<>();
+        Collection<ModuleDescriptor> mds = new ArrayList<>();
 
-        Set<String> rootModuleNames = new LinkedHashSet<String>();
+        Set<String> rootModuleNames = new LinkedHashSet<>();
         if (!"*".equals(root)) {
             StringTokenizer st = new StringTokenizer(root, delimiter);
             while (st.hasMoreTokens()) {
@@ -181,7 +181,7 @@ public class IvyBuildList extends IvyTask {
             }
         }
 
-        Set<String> leafModuleNames = new LinkedHashSet<String>();
+        Set<String> leafModuleNames = new LinkedHashSet<>();
         if (!"*".equals(leaf)) {
             StringTokenizer st = new StringTokenizer(leaf, delimiter);
             while (st.hasMoreTokens()) {
@@ -189,7 +189,7 @@ public class IvyBuildList extends IvyTask {
             }
         }
 
-        Set<String> restartFromModuleNames = new LinkedHashSet<String>();
+        Set<String> restartFromModuleNames = new LinkedHashSet<>();
         if (!"*".equals(restartFrom)) {
             StringTokenizer st = new StringTokenizer(restartFrom, delimiter);
             // Only accept one (first) module
@@ -198,9 +198,8 @@ public class IvyBuildList extends IvyTask {
 
         for (FileSet fs : buildFileSets) {
             DirectoryScanner ds = fs.getDirectoryScanner(getProject());
-            String[] builds = ds.getIncludedFiles();
-            for (int i = 0; i < builds.length; i++) {
-                File buildFile = new File(ds.getBasedir(), builds[i]);
+            for (String build : ds.getIncludedFiles()) {
+                File buildFile = new File(ds.getBasedir(), build);
                 File ivyFile = getIvyFileFor(buildFile);
                 if (!ivyFile.exists()) {
                     onMissingDescriptor(buildFile, ivyFile, noDescriptor);
@@ -261,7 +260,7 @@ public class IvyBuildList extends IvyTask {
         // so they are not removed from build path.
         if (!restartFromModuleDescriptors.isEmpty()) {
             boolean foundRestartFrom = false;
-            List<ModuleDescriptor> keptModules = new ArrayList<ModuleDescriptor>();
+            List<ModuleDescriptor> keptModules = new ArrayList<>();
             ModuleDescriptor restartFromModuleDescriptor = restartFromModuleDescriptors.get(0);
             for (ModuleDescriptor md : sortedModules) {
                 if (md.equals(restartFromModuleDescriptor)) {
@@ -273,7 +272,7 @@ public class IvyBuildList extends IvyTask {
             }
             sortedModules = keptModules;
         }
-        StringBuffer order = new StringBuffer();
+        StringBuilder order = new StringBuilder();
         for (ListIterator<ModuleDescriptor> iter = sortedModules.listIterator(); iter.hasNext();) {
             ModuleDescriptor md = iter.next();
             order.append(md.getModuleRevisionId().getModuleId());
@@ -305,13 +304,8 @@ public class IvyBuildList extends IvyTask {
                 Message.warn("a module has no module descriptor. " + "Build file: " + buildFile
                         + ". Expected descriptor: " + ivyFile);
             }
-            Message.verbose("no descriptor for "
-                    + buildFile
-                    + ": descriptor="
-                    + ivyFile
-                    + ": adding it at the "
-                    + (OnMissingDescriptor.TAIL.equals(onMissingDescriptor) ? "tail" : "head"
-                            + " of the path"));
+            Message.verbose(String.format("no descriptor for %s: descriptor=%s: adding it at the %s of the path",
+                    buildFile, ivyFile, (OnMissingDescriptor.TAIL.equals(onMissingDescriptor) ? "tail" : "head")));
             Message.verbose("\t(change onMissingDescriptor if you want to take another action");
             noDescriptor.add(buildFile);
         }
@@ -319,8 +313,8 @@ public class IvyBuildList extends IvyTask {
 
     private List<ModuleDescriptor> convertModuleNamesToModuleDescriptors(
             Collection<ModuleDescriptor> mds, Set<String> moduleNames, String kind) {
-        List<ModuleDescriptor> result = new ArrayList<ModuleDescriptor>();
-        Set<String> foundModuleNames = new HashSet<String>();
+        List<ModuleDescriptor> result = new ArrayList<>();
+        Set<String> foundModuleNames = new HashSet<>();
 
         for (ModuleDescriptor md : mds) {
             String name = md.getModuleRevisionId().getModuleId().getName();
@@ -331,10 +325,10 @@ public class IvyBuildList extends IvyTask {
         }
 
         if (foundModuleNames.size() < moduleNames.size()) {
-            Set<String> missingModules = new HashSet<String>(moduleNames);
+            Set<String> missingModules = new HashSet<>(moduleNames);
             missingModules.removeAll(foundModuleNames);
 
-            StringBuffer missingNames = new StringBuffer();
+            StringBuilder missingNames = new StringBuilder();
             String sep = "";
             for (String name : missingModules) {
                 missingNames.append(sep);
@@ -361,13 +355,13 @@ public class IvyBuildList extends IvyTask {
      */
     private Collection<ModuleDescriptor> filterModulesFromRoot(Collection<ModuleDescriptor> mds,
             List<ModuleDescriptor> rootmds) {
-        Map<ModuleId, ModuleDescriptor> moduleIdMap = new HashMap<ModuleId, ModuleDescriptor>();
+        Map<ModuleId, ModuleDescriptor> moduleIdMap = new HashMap<>();
         for (ModuleDescriptor md : mds) {
             moduleIdMap.put(md.getModuleRevisionId().getModuleId(), md);
         }
 
         // recursively process the nodes
-        Set<ModuleDescriptor> toKeep = new LinkedHashSet<ModuleDescriptor>();
+        Set<ModuleDescriptor> toKeep = new LinkedHashSet<>();
 
         for (ModuleDescriptor rootmd : rootmds) {
             processFilterNodeFromRoot(rootmd, toKeep, moduleIdMap);
@@ -404,10 +398,8 @@ public class IvyBuildList extends IvyTask {
     private void processFilterNodeFromRoot(ModuleDescriptor node, Set<ModuleDescriptor> toKeep,
             Map<ModuleId, ModuleDescriptor> moduleIdMap) {
         // toKeep.add(node);
-
-        DependencyDescriptor[] deps = node.getDependencies();
-        for (int i = 0; i < deps.length; i++) {
-            ModuleId id = deps[i].getDependencyId();
+        for (DependencyDescriptor dep : node.getDependencies()) {
+            ModuleId id = dep.getDependencyId();
             ModuleDescriptor md = moduleIdMap.get(id);
             // we test if this module id has a module descriptor, and if it isn't already in the
             // toKeep Set, in which there's probably a circular dependency
@@ -432,13 +424,13 @@ public class IvyBuildList extends IvyTask {
      */
     private Collection<ModuleDescriptor> filterModulesFromLeaf(Collection<ModuleDescriptor> mds,
             List<ModuleDescriptor> leafmds) {
-        Map<ModuleId, ModuleDescriptor> moduleIdMap = new HashMap<ModuleId, ModuleDescriptor>();
+        Map<ModuleId, ModuleDescriptor> moduleIdMap = new HashMap<>();
         for (ModuleDescriptor md : mds) {
             moduleIdMap.put(md.getModuleRevisionId().getModuleId(), md);
         }
 
         // recursively process the nodes
-        Set<ModuleDescriptor> toKeep = new LinkedHashSet<ModuleDescriptor>();
+        Set<ModuleDescriptor> toKeep = new LinkedHashSet<>();
         for (ModuleDescriptor leafmd : leafmds) {
             // With the excludeleaf attribute set to true, take the rootmd out of the toKeep set.
             if (excludeLeaf) {
@@ -472,9 +464,8 @@ public class IvyBuildList extends IvyTask {
     private void processFilterNodeFromLeaf(ModuleDescriptor node, Set<ModuleDescriptor> toKeep,
             Map<ModuleId, ModuleDescriptor> moduleIdMap) {
         for (ModuleDescriptor md : moduleIdMap.values()) {
-            DependencyDescriptor[] deps = md.getDependencies();
-            for (int i = 0; i < deps.length; i++) {
-                ModuleId id = deps[i].getDependencyId();
+            for (DependencyDescriptor dep : md.getDependencies()) {
+                ModuleId id = dep.getDependencyId();
                 if (node.getModuleRevisionId().getModuleId().equals(id) && !toKeep.contains(md)) {
                     toKeep.add(md);
                     if (!getOnlydirectdep()) {

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyCacheFileset.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyCacheFileset.java b/src/java/org/apache/ivy/ant/IvyCacheFileset.java
index fb526ad..56bcc6d 100644
--- a/src/java/org/apache/ivy/ant/IvyCacheFileset.java
+++ b/src/java/org/apache/ivy/ant/IvyCacheFileset.java
@@ -29,6 +29,7 @@ import org.apache.tools.ant.DirectoryScanner;
 import org.apache.tools.ant.Project;
 import org.apache.tools.ant.types.FileSet;
 import org.apache.tools.ant.types.PatternSet.NameEntry;
+import org.apache.tools.ant.types.Resource;
 
 /**
  * Creates an ant fileset consisting in all artifacts found during a resolve. Note that this task is
@@ -94,7 +95,7 @@ public class IvyCacheFileset extends IvyCacheTask {
      *
      * @param artifactDownloadReports The artifact download reports for which the common base directory of the artifacts
      *                                has to be determined
-     * @return
+     * @return File
      */
     File requireCommonBaseDir(final List<ArtifactDownloadReport> artifactDownloadReports) {
         File base = null;
@@ -196,8 +197,8 @@ public class IvyCacheFileset extends IvyCacheTask {
 
         private DirectoryScanner ds = new EmptyDirectoryScanner();
 
-        public Iterator iterator() {
-            return new EmptyIterator();
+        public Iterator<Resource> iterator() {
+            return new EmptyIterator<>();
         }
 
         public Object clone() {
@@ -213,13 +214,13 @@ public class IvyCacheFileset extends IvyCacheTask {
         }
     }
 
-    private static class EmptyIterator implements Iterator {
+    private static class EmptyIterator<T> implements Iterator<T> {
 
         public boolean hasNext() {
             return false;
         }
 
-        public Object next() {
+        public T next() {
             throw new NoSuchElementException("EmptyFileSet Iterator");
         }
 

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyCachePath.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyCachePath.java b/src/java/org/apache/ivy/ant/IvyCachePath.java
index d4b7843..1a7b6eb 100644
--- a/src/java/org/apache/ivy/ant/IvyCachePath.java
+++ b/src/java/org/apache/ivy/ant/IvyCachePath.java
@@ -18,7 +18,6 @@
 package org.apache.ivy.ant;
 
 import java.io.File;
-import java.util.Iterator;
 import java.util.List;
 
 import org.apache.ivy.core.report.ArtifactDownloadReport;
@@ -73,11 +72,10 @@ public class IvyCachePath extends IvyCacheTask {
         try {
             Path path = new Path(getProject());
             getProject().addReference(pathid, path);
-            for (Iterator iter = getArtifactReports().iterator(); iter.hasNext();) {
-                ArtifactDownloadReport a = (ArtifactDownloadReport) iter.next();
-                File f = a.getLocalFile();
-                if (a.getUnpackedLocalFile() != null) {
-                    f = a.getUnpackedLocalFile();
+            for (ArtifactDownloadReport adr : getArtifactReports()) {
+                File f = adr.getLocalFile();
+                if (adr.getUnpackedLocalFile() != null) {
+                    f = adr.getUnpackedLocalFile();
                 }
                 addToPath(path, f);
             }
@@ -98,13 +96,12 @@ public class IvyCachePath extends IvyCacheTask {
             return;
         }
         BundleInfo bundleInfo = ManifestParser.parseManifest(manifest);
-        List/* <String> */cp = bundleInfo.getClasspath();
+        List<String> cp = bundleInfo.getClasspath();
         if (cp == null) {
             path.createPathElement().setLocation(f);
             return;
         }
-        for (int i = 0; i < cp.size(); i++) {
-            String p = (String) cp.get(i);
+        for (String p : cp) {
             if (p.equals(".")) {
                 path.createPathElement().setLocation(f);
             } else {

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyCacheTask.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyCacheTask.java b/src/java/org/apache/ivy/ant/IvyCacheTask.java
index e8de729..72c14a7 100644
--- a/src/java/org/apache/ivy/ant/IvyCacheTask.java
+++ b/src/java/org/apache/ivy/ant/IvyCacheTask.java
@@ -46,7 +46,7 @@ public abstract class IvyCacheTask extends IvyPostResolveTask {
     protected List<ArtifactDownloadReport> getArtifactReports() throws BuildException,
             ParseException, IOException {
         Collection<ArtifactDownloadReport> artifacts = getAllArtifactReports();
-        List<ArtifactDownloadReport> ret = new ArrayList<ArtifactDownloadReport>();
+        List<ArtifactDownloadReport> ret = new ArrayList<>();
         for (ArtifactDownloadReport artifactReport : artifacts) {
             if (getArtifactFilter().accept(artifactReport.getArtifact())) {
                 ret.add(artifactReport);
@@ -59,16 +59,16 @@ public abstract class IvyCacheTask extends IvyPostResolveTask {
     private Collection<ArtifactDownloadReport> getAllArtifactReports() throws ParseException,
             IOException {
         String[] confs = splitConfs(getConf());
-        Collection<ArtifactDownloadReport> all = new LinkedHashSet<ArtifactDownloadReport>();
+        Collection<ArtifactDownloadReport> all = new LinkedHashSet<>();
 
         ResolveReport report = getResolvedReport();
         if (report != null) {
             Message.debug("using internal report instance to get artifacts list");
-            for (int i = 0; i < confs.length; i++) {
+            for (String conf : confs) {
                 ConfigurationResolveReport configurationReport = report
-                        .getConfigurationReport(confs[i]);
+                        .getConfigurationReport(conf);
                 if (configurationReport == null) {
-                    throw new BuildException("bad confs provided: " + confs[i]
+                    throw new BuildException("bad confs provided: " + conf
                             + " not found among " + Arrays.asList(report.getConfigurations()));
                 }
                 Set<ModuleRevisionId> revisions = configurationReport.getModuleRevisionIds();
@@ -87,9 +87,9 @@ public abstract class IvyCacheTask extends IvyPostResolveTask {
             if (resolvedId == null) {
                 resolvedId = ResolveOptions.getDefaultResolveId(getResolvedModuleId());
             }
-            for (int i = 0; i < confs.length; i++) {
+            for (String conf : confs) {
                 File reportFile = cacheMgr.getConfigurationResolveReportInCache(resolvedId,
-                    confs[i]);
+                        conf);
                 parser.parse(reportFile);
 
                 ArtifactDownloadReport[] aReports = parser.getArtifactReports();

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyCheck.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyCheck.java b/src/java/org/apache/ivy/ant/IvyCheck.java
index dda9c7f..50a353e 100644
--- a/src/java/org/apache/ivy/ant/IvyCheck.java
+++ b/src/java/org/apache/ivy/ant/IvyCheck.java
@@ -38,7 +38,7 @@ import org.apache.tools.ant.types.FileSet;
 public class IvyCheck extends IvyTask {
     private File file = null;
 
-    private List filesets = new ArrayList();
+    private final List<FileSet> filesets = new ArrayList<>();
 
     private String resolvername;
 
@@ -76,15 +76,14 @@ public class IvyCheck extends IvyTask {
                     Message.verbose("checked " + file + ": OK");
                 }
             }
-            for (int i = 0; i < filesets.size(); i++) {
-                FileSet fs = (FileSet) filesets.get(i);
+            for (FileSet fs : filesets) {
                 DirectoryScanner ds = fs.getDirectoryScanner(getProject());
 
                 File fromDir = fs.getDir(getProject());
 
                 String[] srcFiles = ds.getIncludedFiles();
-                for (int j = 0; j < srcFiles.length; j++) {
-                    File file = new File(fromDir, srcFiles[j]);
+                for (String srcFile : srcFiles) {
+                    File file = new File(fromDir, srcFile);
                     if (ivy.check(file.toURI().toURL(), resolvername)) {
                         Message.verbose("checked " + file + ": OK");
                     }

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyCleanCache.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyCleanCache.java b/src/java/org/apache/ivy/ant/IvyCleanCache.java
index c4b0c07..6e1612f 100644
--- a/src/java/org/apache/ivy/ant/IvyCleanCache.java
+++ b/src/java/org/apache/ivy/ant/IvyCleanCache.java
@@ -70,8 +70,8 @@ public class IvyCleanCache extends IvyTask {
         }
         if (ALL.equals(getCache())) {
             RepositoryCacheManager[] caches = settings.getRepositoryCacheManagers();
-            for (int i = 0; i < caches.length; i++) {
-                caches[i].clean();
+            for (RepositoryCacheManager cache : caches) {
+                cache.clean();
             }
         } else if (!NONE.equals(getCache())) {
             RepositoryCacheManager cache = settings.getRepositoryCacheManager(getCache());

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyConfigure.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyConfigure.java b/src/java/org/apache/ivy/ant/IvyConfigure.java
index 6926d02..f41cb5c 100644
--- a/src/java/org/apache/ivy/ant/IvyConfigure.java
+++ b/src/java/org/apache/ivy/ant/IvyConfigure.java
@@ -48,8 +48,8 @@ public class IvyConfigure extends Task {
      */
     public static final String OVERRIDE_NOT_ALLOWED = "notallowed";
 
-    private static final Collection OVERRIDE_VALUES = Arrays.asList(new String[] {OVERRIDE_TRUE,
-            OVERRIDE_FALSE, OVERRIDE_NOT_ALLOWED});
+    private static final Collection OVERRIDE_VALUES = Arrays.asList(OVERRIDE_TRUE,
+            OVERRIDE_FALSE, OVERRIDE_NOT_ALLOWED);
 
     private String override = OVERRIDE_NOT_ALLOWED;
 

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyDependency.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyDependency.java b/src/java/org/apache/ivy/ant/IvyDependency.java
index 051a55a..3682dc1 100644
--- a/src/java/org/apache/ivy/ant/IvyDependency.java
+++ b/src/java/org/apache/ivy/ant/IvyDependency.java
@@ -31,13 +31,13 @@ import org.apache.tools.ant.BuildException;
 
 public class IvyDependency {
 
-    private List<IvyDependencyConf> confs = new ArrayList<IvyDependencyConf>();
+    private List<IvyDependencyConf> confs = new ArrayList<>();
 
-    private List<IvyDependencyArtifact> artifacts = new ArrayList<IvyDependencyArtifact>();
+    private List<IvyDependencyArtifact> artifacts = new ArrayList<>();
 
-    private List<IvyDependencyExclude> excludes = new ArrayList<IvyDependencyExclude>();
+    private List<IvyDependencyExclude> excludes = new ArrayList<>();
 
-    private List<IvyDependencyInclude> includes = new ArrayList<IvyDependencyInclude>();
+    private List<IvyDependencyInclude> includes = new ArrayList<>();
 
     private String org;
 

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyDependencyConf.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyDependencyConf.java b/src/java/org/apache/ivy/ant/IvyDependencyConf.java
index c42c956..f197b6b 100644
--- a/src/java/org/apache/ivy/ant/IvyDependencyConf.java
+++ b/src/java/org/apache/ivy/ant/IvyDependencyConf.java
@@ -18,14 +18,13 @@
 package org.apache.ivy.ant;
 
 import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.List;
 
 import org.apache.ivy.core.module.descriptor.DefaultDependencyDescriptor;
 
 public class IvyDependencyConf {
 
-    private List/* <IvyDependencyConfMapped> */mappeds = new ArrayList();
+    private final List<IvyDependencyConfMapped> mappeds = new ArrayList<>();
 
     public static class IvyDependencyConfMapped {
         private String name;
@@ -50,14 +49,11 @@ public class IvyDependencyConf {
 
     void addConf(DefaultDependencyDescriptor dd, String masterConf) {
         if (mapped != null) {
-            String[] mappeds = mapped.split(",");
-            for (int i = 0; i < mappeds.length; i++) {
-                dd.addDependencyConfiguration(masterConf, mappeds[i].trim());
+            for (String map : mapped.split(",")) {
+                dd.addDependencyConfiguration(masterConf, map.trim());
             }
         }
-        Iterator itMappeds = mappeds.iterator();
-        while (itMappeds.hasNext()) {
-            IvyDependencyConfMapped m = (IvyDependencyConfMapped) itMappeds.next();
+        for (IvyDependencyConfMapped m : mappeds) {
             dd.addDependencyConfiguration(masterConf, m.name);
         }
     }

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyDependencyTree.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyDependencyTree.java b/src/java/org/apache/ivy/ant/IvyDependencyTree.java
index e2e5978..7c30f25 100644
--- a/src/java/org/apache/ivy/ant/IvyDependencyTree.java
+++ b/src/java/org/apache/ivy/ant/IvyDependencyTree.java
@@ -20,7 +20,6 @@ package org.apache.ivy.ant;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashSet;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -58,21 +57,21 @@ public class IvyDependencyTree extends IvyPostResolveTask {
 
     private void printDependencies(final ModuleRevisionId mrid, final List<IvyNode> dependencyList, final int indent,
                                    final Set<ModuleRevisionId> ancestors) {
-        for (final Iterator iterator = dependencyList.iterator(); iterator.hasNext();) {
+        for (IvyNode dependency : dependencyList) {
             final Set<ModuleRevisionId> ancestorsForCurrentDep = new HashSet<>(ancestors);
             // previous ancestors plus the module to whom these dependencies belong to
             ancestorsForCurrentDep.add(mrid);
-            final IvyNode dependency = (IvyNode) iterator.next();
             final boolean evicted = dependency.isEvicted(getConf());
             if (evicted && !showEvicted) {
                 continue;
             }
+            final boolean isLastDependency = dependencyList.indexOf(dependency) == dependencyList.size() - 1;
             final StringBuilder sb = new StringBuilder();
             final ModuleRevisionId dependencyMrid = dependency.getId();
             final boolean circular = ancestorsForCurrentDep.contains(dependencyMrid);
             if (indent > 0) {
                 for (int i = 0; i < indent; i++) {
-                    if (i == indent - 1 && !iterator.hasNext() && !hasDependencies(dependency)) {
+                    if (i == indent - 1 && isLastDependency && !hasDependencies(dependency)) {
                         sb.append("   ");
                     } else {
                         sb.append("|  ");
@@ -80,11 +79,7 @@ public class IvyDependencyTree extends IvyPostResolveTask {
 
                 }
             }
-            if (iterator.hasNext()) {
-                sb.append("+- ");
-            } else {
-                sb.append("\\- ");
-            }
+            sb.append(isLastDependency ? "\\- " : "+- ");
             if (!evicted && circular) {
                 // log and skip processing the (transitive) dependencies of this dependency
                 sb.append("(circularly depends on) ").append(dependencyMrid);

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyDependencyUpdateChecker.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyDependencyUpdateChecker.java b/src/java/org/apache/ivy/ant/IvyDependencyUpdateChecker.java
index 83dd5ef..1eb628d 100644
--- a/src/java/org/apache/ivy/ant/IvyDependencyUpdateChecker.java
+++ b/src/java/org/apache/ivy/ant/IvyDependencyUpdateChecker.java
@@ -20,7 +20,6 @@ package org.apache.ivy.ant;
 import java.io.IOException;
 import java.text.ParseException;
 import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.List;
 
 import org.apache.ivy.core.module.descriptor.Configuration;
@@ -82,9 +81,7 @@ public class IvyDependencyUpdateChecker extends IvyPostResolveTask {
                 displayMissingDependencyOnLatest(getResolvedReport(), latestReport);
             }
 
-        } catch (ParseException e) {
-            throw new BuildException("impossible to resolve dependencies:\n\t" + e, e);
-        } catch (IOException e) {
+        } catch (ParseException | IOException e) {
             throw new BuildException("impossible to resolve dependencies:\n\t" + e, e);
         }
 
@@ -93,11 +90,8 @@ public class IvyDependencyUpdateChecker extends IvyPostResolveTask {
     private void displayDependencyUpdates(ResolveReport originalReport, ResolveReport latestReport) {
         log("Dependencies updates available :");
         boolean dependencyUpdateDetected = false;
-        for (Iterator iterator = latestReport.getDependencies().iterator(); iterator.hasNext();) {
-            IvyNode latest = (IvyNode) iterator.next();
-            for (Iterator iterator2 = originalReport.getDependencies().iterator(); iterator2
-                    .hasNext();) {
-                IvyNode originalDependency = (IvyNode) iterator2.next();
+        for (IvyNode latest : latestReport.getDependencies()) {
+            for (IvyNode originalDependency : originalReport.getDependencies()) {
                 if (originalDependency.getModuleId().equals(latest.getModuleId())) {
                     if (!originalDependency.getResolvedId().getRevision()
                             .equals(latest.getResolvedId().getRevision())) {
@@ -105,18 +99,13 @@ public class IvyDependencyUpdateChecker extends IvyPostResolveTask {
                         // (unfortunately .isTransitive() methods do not have the same meaning)
                         boolean isTransitiveDependency = latest.getDependencyDescriptor(latest
                                 .getRoot()) == null;
-                        if ((!isTransitiveDependency) || (isTransitiveDependency && showTransitive)) {
-                            StringBuffer sb = new StringBuffer();
-                            sb.append("\t")//
-                                    .append(originalDependency.getResolvedId().getOrganisation()) //
-                                    .append('#')//
-                                    .append(originalDependency.getResolvedId().getName())//
-                                    .append(isTransitiveDependency ? " (transitive)" : "") //
-                                    .append("\t")//
-                                    .append(originalDependency.getResolvedId().getRevision())//
-                                    .append(" -> ")//
-                                    .append(latest.getResolvedId().getRevision());
-                            log(sb.toString());
+                        if (!isTransitiveDependency || showTransitive) {
+                            log(String.format("\t%s#%s%s\t%s -> %s",
+                                    originalDependency.getResolvedId().getOrganisation(),
+                                    originalDependency.getResolvedId().getName(),
+                                    isTransitiveDependency ? " (transitive)" : "",
+                                    originalDependency.getResolvedId().getRevision(),
+                                    latest.getResolvedId().getRevision()));
                             dependencyUpdateDetected = true;
                         }
                     }
@@ -131,16 +120,10 @@ public class IvyDependencyUpdateChecker extends IvyPostResolveTask {
 
     private void displayMissingDependencyOnLatest(ResolveReport originalReport,
             ResolveReport latestReport) {
-        List/* <ModuleRevisionId> */listOfMissingDependencyOnLatest = new ArrayList/*
-                                                                                    * <ModuleRevisionId
-                                                                                    * >
-                                                                                    */();
-        for (Iterator iterator = originalReport.getDependencies().iterator(); iterator.hasNext();) {
-            IvyNode originalDependency = (IvyNode) iterator.next();
+        List<ModuleRevisionId> listOfMissingDependencyOnLatest = new ArrayList<>();
+        for (IvyNode originalDependency : originalReport.getDependencies()) {
             boolean dependencyFound = false;
-            for (Iterator iterator2 = latestReport.getDependencies().iterator(); iterator2
-                    .hasNext();) {
-                IvyNode latest = (IvyNode) iterator2.next();
+            for (IvyNode latest : latestReport.getDependencies()) {
                 if (originalDependency.getModuleId().equals(latest.getModuleId())) {
                     dependencyFound = true;
                 }
@@ -152,8 +135,7 @@ public class IvyDependencyUpdateChecker extends IvyPostResolveTask {
 
         if (listOfMissingDependencyOnLatest.size() > 0) {
             log("List of missing dependency on latest resolve :");
-            for (Iterator iterator = listOfMissingDependencyOnLatest.iterator(); iterator.hasNext();) {
-                ModuleRevisionId moduleRevisionId = (ModuleRevisionId) iterator.next();
+            for (ModuleRevisionId moduleRevisionId : listOfMissingDependencyOnLatest) {
                 log("\t" + moduleRevisionId.toString());
             }
         }
@@ -161,14 +143,10 @@ public class IvyDependencyUpdateChecker extends IvyPostResolveTask {
 
     private void displayNewDependencyOnLatest(ResolveReport originalReport,
             ResolveReport latestReport) {
-        List/* <ModuleRevisionId> */listOfNewDependencyOnLatest = new ArrayList/* <ModuleRevisionId> */();
-        for (Iterator iterator = latestReport.getDependencies().iterator(); iterator.hasNext();) {
-            IvyNode latest = (IvyNode) iterator.next();
-
+        List<ModuleRevisionId> listOfNewDependencyOnLatest = new ArrayList<>();
+        for (IvyNode latest : latestReport.getDependencies()) {
             boolean dependencyFound = false;
-            for (Iterator iterator2 = originalReport.getDependencies().iterator(); iterator2
-                    .hasNext();) {
-                IvyNode originalDependency = (IvyNode) iterator2.next();
+            for (IvyNode originalDependency : originalReport.getDependencies()) {
                 if (originalDependency.getModuleId().equals(latest.getModuleId())) {
                     dependencyFound = true;
                 }
@@ -179,8 +157,7 @@ public class IvyDependencyUpdateChecker extends IvyPostResolveTask {
         }
         if (listOfNewDependencyOnLatest.size() > 0) {
             log("List of new dependency on latest resolve :");
-            for (Iterator iterator = listOfNewDependencyOnLatest.iterator(); iterator.hasNext();) {
-                ModuleRevisionId moduleRevisionId = (ModuleRevisionId) iterator.next();
+            for (ModuleRevisionId moduleRevisionId : listOfNewDependencyOnLatest) {
                 log("\t" + moduleRevisionId.toString());
             }
         }

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyExtractFromSources.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyExtractFromSources.java b/src/java/org/apache/ivy/ant/IvyExtractFromSources.java
index 62e4228..588c2a6 100644
--- a/src/java/org/apache/ivy/ant/IvyExtractFromSources.java
+++ b/src/java/org/apache/ivy/ant/IvyExtractFromSources.java
@@ -27,7 +27,6 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashMap;
 import java.util.HashSet;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -67,9 +66,10 @@ public class IvyExtractFromSources extends Task {
 
     private String status;
 
-    private List ignoredPackaged = new ArrayList(); // List (String package)
+    private final List<String> ignoredPackaged = new ArrayList<>(); // List (String package)
 
-    private Map mapping = new HashMap(); // Map (String package -> ModuleRevisionId)
+    private final Map<String, ModuleRevisionId> mapping = new HashMap<>();
+    // Map(String package -> ModuleRevisionId)
 
     private Concat concat = new Concat();
 
@@ -132,35 +132,28 @@ public class IvyExtractFromSources extends Task {
         Writer out = new StringWriter();
         concat.setWriter(out);
         concat.execute();
-        Set importsSet = new HashSet(Arrays.asList(out.toString().split("\n")));
-        Set dependencies = new HashSet();
-        for (Iterator iter = importsSet.iterator(); iter.hasNext();) {
-            String pack = ((String) iter.next()).trim();
-            ModuleRevisionId mrid = getMapping(pack);
+        Set<String> importsSet = new HashSet<>(Arrays.asList(out.toString().split("\n")));
+        Set<ModuleRevisionId> dependencies = new HashSet<>();
+        for (String pack : importsSet) {
+            ModuleRevisionId mrid = getMapping(pack.trim());
             if (mrid != null) {
                 dependencies.add(mrid);
             }
         }
         try {
             PrintWriter writer = new PrintWriter(new FileOutputStream(to));
-            writer.println("<ivy-module version=\"1.0\">");
-            writer.println("\t<info organisation=\"" + organisation + "\"");
-            writer.println("\t       module=\"" + module + "\"");
+            writer.println(String.format("<ivy-module version=\"1.0\">%n\t<info organisation=\"%s\"%n\t       module=\"%s\"",
+                    organisation, module));
             if (revision != null) {
                 writer.println("\t       revision=\"" + revision + "\"");
             }
-            if (status != null) {
-                writer.println("\t       status=\"" + status + "\"");
-            } else {
-                writer.println("\t       status=\"integration\"");
-            }
-            writer.println("\t/>");
+            writer.println(String.format("\t       status=\"%s\"%n\t/>",
+                    (status == null) ? "integration" : status));
             if (!dependencies.isEmpty()) {
                 writer.println("\t<dependencies>");
-                for (Iterator iter = dependencies.iterator(); iter.hasNext();) {
-                    ModuleRevisionId mrid = (ModuleRevisionId) iter.next();
-                    writer.println("\t\t<dependency org=\"" + mrid.getOrganisation() + "\" name=\""
-                            + mrid.getName() + "\" rev=\"" + mrid.getRevision() + "\"/>");
+                for (ModuleRevisionId mrid : dependencies) {
+                    writer.println(String.format("\t\t<dependency org=\"%s\" name=\"%s\" rev=\"%s\"/>",
+                            mrid.getOrganisation(), mrid.getName(), mrid.getRevision()));
                 }
                 writer.println("\t</dependencies>");
             }
@@ -183,7 +176,7 @@ public class IvyExtractFromSources extends Task {
             if (ignoredPackaged.contains(pack)) {
                 return null;
             }
-            ret = (ModuleRevisionId) mapping.get(pack);
+            ret = mapping.get(pack);
             int lastDotIndex = pack.lastIndexOf('.');
             if (lastDotIndex != -1) {
                 pack = pack.substring(0, lastDotIndex);

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyInfo.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyInfo.java b/src/java/org/apache/ivy/ant/IvyInfo.java
index 0bbf939..df5c880 100644
--- a/src/java/org/apache/ivy/ant/IvyInfo.java
+++ b/src/java/org/apache/ivy/ant/IvyInfo.java
@@ -21,10 +21,9 @@ import java.io.File;
 import java.net.MalformedURLException;
 import java.text.ParseException;
 import java.util.ArrayList;
-import java.util.Iterator;
+import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
-import java.util.Map.Entry;
 
 import org.apache.ivy.Ivy;
 import org.apache.ivy.core.module.descriptor.Artifact;
@@ -162,50 +161,44 @@ public class IvyInfo extends IvyTask {
                 Long.toString(md.getPublicationDate().getTime()));
         }
 
-        Map extra = mrid.getExtraAttributes();
-        for (Iterator iter = extra.entrySet().iterator(); iter.hasNext();) {
-            Entry entry = (Entry) iter.next();
+        Map<String, String> extra = mrid.getExtraAttributes();
+        for (Map.Entry<String, String> entry : extra.entrySet()) {
             getProject().setProperty(property + ".extra." + entry.getKey(),
-                (String) entry.getValue());
+                    entry.getValue());
         }
 
         getProject().setProperty(property + ".configurations",
             mergeConfs(md.getConfigurationsNames()));
 
         // store the public configurations in a separate property
-        Configuration[] configs = md.getConfigurations();
-        List publicConfigsList = new ArrayList();
-        for (int i = 0; i < configs.length; i++) {
-            String name = configs[i].getName();
-            if (Visibility.PUBLIC.equals(configs[i].getVisibility())) {
+        List<String> publicConfigsList = new ArrayList<>();
+        for (Configuration config : md.getConfigurations()) {
+            String name = config.getName();
+            if (Visibility.PUBLIC.equals(config.getVisibility())) {
                 publicConfigsList.add(name);
             }
 
-            if (configs[i].getDescription() != null) {
+            if (config.getDescription() != null) {
                 getProject().setProperty(property + ".configuration." + name + ".desc",
-                    configs[i].getDescription());
+                    config.getDescription());
             }
         }
-        String[] publicConfigs = (String[]) publicConfigsList.toArray(new String[publicConfigsList
-                .size()]);
+        String[] publicConfigs = publicConfigsList.toArray(new String[publicConfigsList.size()]);
         getProject().setProperty(property + ".public.configurations", mergeConfs(publicConfigs));
 
-        Artifact[] artifacts = md.getAllArtifacts();
-        for (int i = 0; i < artifacts.length; i++) {
-            int id = i + 1;
-            getProject()
-                    .setProperty(property + ".artifact." + id + ".name", artifacts[i].getName());
-            getProject()
-                    .setProperty(property + ".artifact." + id + ".type", artifacts[i].getType());
-            getProject().setProperty(property + ".artifact." + id + ".ext", artifacts[i].getExt());
+        List<Artifact> artifacts = Arrays.asList(md.getAllArtifacts());
+        for (Artifact artifact : artifacts) {
+            int id = artifacts.indexOf(artifact) + 1;
+            getProject().setProperty(property + ".artifact." + id + ".name", artifact.getName());
+            getProject().setProperty(property + ".artifact." + id + ".type", artifact.getType());
+            getProject().setProperty(property + ".artifact." + id + ".ext", artifact.getExt());
             getProject().setProperty(property + ".artifact." + id + ".conf",
-                mergeConfs(artifacts[i].getConfigurations()));
+                mergeConfs(artifact.getConfigurations()));
 
-            Map artiExtra = artifacts[i].getExtraAttributes();
-            for (Iterator iter = artiExtra.entrySet().iterator(); iter.hasNext();) {
-                Entry entry = (Entry) iter.next();
+            Map<String, String> artiExtra = artifact.getExtraAttributes();
+            for (Map.Entry<String, String> entry : artiExtra.entrySet()) {
                 getProject().setProperty(property + ".artifact." + id + ".extra." + entry.getKey(),
-                    (String) entry.getValue());
+                    entry.getValue());
             }
         }
     }

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyListModules.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyListModules.java b/src/java/org/apache/ivy/ant/IvyListModules.java
index a516571..30975bb 100644
--- a/src/java/org/apache/ivy/ant/IvyListModules.java
+++ b/src/java/org/apache/ivy/ant/IvyListModules.java
@@ -149,9 +149,9 @@ public class IvyListModules extends IvyTask {
                 patternMatcher);
         }
 
-        for (int i = 0; i < mrids.length; i++) {
-            String name = IvyPatternHelper.substitute(settings.substitute(property), mrids[i]);
-            String value = IvyPatternHelper.substitute(settings.substitute(this.value), mrids[i]);
+        for (ModuleRevisionId mrid : mrids) {
+            String name = IvyPatternHelper.substitute(settings.substitute(property), mrid);
+            String value = IvyPatternHelper.substitute(settings.substitute(this.value), mrid);
             getProject().setProperty(name, value);
         }
     }

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/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 395a4ad..892b8f2 100644
--- a/src/java/org/apache/ivy/ant/IvyMakePom.java
+++ b/src/java/org/apache/ivy/ant/IvyMakePom.java
@@ -151,9 +151,9 @@ public class IvyMakePom extends IvyTask {
 
     private String description;
 
-    private List<Mapping> mappings = new ArrayList<Mapping>();
+    private List<Mapping> mappings = new ArrayList<>();
 
-    private List<Dependency> dependencies = new ArrayList<Dependency>();
+    private List<Dependency> dependencies = new ArrayList<>();
 
     public File getPomFile() {
         return pomFile;
@@ -282,12 +282,11 @@ public class IvyMakePom extends IvyTask {
     }
 
     private Map<String, String> getMappingsMap() {
-        Map<String, String> mappingsMap = new LinkedHashMap<String, String>();
+        Map<String, String> mappingsMap = new LinkedHashMap<>();
         for (Mapping mapping : mappings) {
-            String[] mappingConfs = splitConfs(mapping.getConf());
-            for (int i = 0; i < mappingConfs.length; i++) {
-                if (!mappingsMap.containsKey(mappingConfs[i])) {
-                    mappingsMap.put(mappingConfs[i], mapping.getScope());
+            for (String mappingConf : splitConfs(mapping.getConf())) {
+                if (!mappingsMap.containsKey(mappingConf)) {
+                    mappingsMap.put(mappingConf, mapping.getScope());
                 }
             }
         }
@@ -295,7 +294,7 @@ public class IvyMakePom extends IvyTask {
     }
 
     private List<ExtraDependency> getDependencies() {
-        List<ExtraDependency> result = new ArrayList<ExtraDependency>();
+        List<ExtraDependency> result = new ArrayList<>();
         for (Dependency dependency : dependencies) {
             result.add(new ExtraDependency(dependency.getGroup(), dependency.getArtifact(),
                     dependency.getVersion(), dependency.getScope(), dependency.getType(),

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyPostResolveTask.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyPostResolveTask.java b/src/java/org/apache/ivy/ant/IvyPostResolveTask.java
index 757b724..bcca68c 100644
--- a/src/java/org/apache/ivy/ant/IvyPostResolveTask.java
+++ b/src/java/org/apache/ivy/ant/IvyPostResolveTask.java
@@ -20,7 +20,6 @@ package org.apache.ivy.ant;
 import java.io.File;
 import java.util.Arrays;
 import java.util.HashSet;
-import java.util.Iterator;
 
 import org.apache.ivy.Ivy;
 import org.apache.ivy.core.cache.ResolutionCacheManager;
@@ -212,12 +211,9 @@ public abstract class IvyPostResolveTask extends IvyTask {
     protected void ensureResolved(IvySettings settings) {
         String requestedConfigs = getProperty(getConf(), settings, "ivy.resolved.configurations");
 
-        String[] confs = null;
-        if (getResolveId() != null) {
-            confs = getConfsToResolve(getResolveId(), requestedConfigs);
-        } else {
-            confs = getConfsToResolve(getOrganisation(), getModule(), requestedConfigs, false);
-        }
+        String[] confs = (getResolveId() == null)
+                ? getConfsToResolve(getOrganisation(), getModule(), requestedConfigs, false)
+                : getConfsToResolve(getResolveId(), requestedConfigs);
 
         if (confs.length > 0) {
             IvyResolve resolve = setupResolve(isHaltonfailure(), isUseOrigin());
@@ -230,13 +226,13 @@ public abstract class IvyPostResolveTask extends IvyTask {
     }
 
     protected String[] getConfsToResolve(String org, String module, String conf, boolean strict) {
-        ModuleDescriptor reference = (ModuleDescriptor) getResolvedDescriptor(org, module, strict);
+        ModuleDescriptor reference = getResolvedDescriptor(org, module, strict);
         String[] rconfs = getResolvedConfigurations(org, module, strict);
         return getConfsToResolve(reference, conf, rconfs);
     }
 
     protected String[] getConfsToResolve(String resolveId, String conf) {
-        ModuleDescriptor reference = (ModuleDescriptor) getResolvedDescriptor(resolveId, false);
+        ModuleDescriptor reference = getResolvedDescriptor(resolveId, false);
         if (reference == null) {
             // assume the module has been resolved outside this build, resolve the required
             // configurations again
@@ -247,8 +243,7 @@ public abstract class IvyPostResolveTask extends IvyTask {
                 return splitConfs(conf);
             }
         }
-        String[] rconfs = (String[]) getProject().getReference(
-            "ivy.resolved.configurations.ref." + resolveId);
+        String[] rconfs = getProject().getReference("ivy.resolved.configurations.ref." + resolveId);
         return getConfsToResolve(reference, conf, rconfs);
     }
 
@@ -270,29 +265,28 @@ public abstract class IvyPostResolveTask extends IvyTask {
                 confs = splitConfs(conf);
             }
 
-            HashSet rconfsSet = new HashSet(Arrays.asList(rconfs));
+            HashSet<String> rconfsSet = new HashSet<>();
 
             // for each resolved configuration, check if the report still exists
             ResolutionCacheManager cache = getSettings().getResolutionCacheManager();
-            for (Iterator it = rconfsSet.iterator(); it.hasNext();) {
-                String resolvedConf = (String) it.next();
+            for (String resolvedConf : rconfs) {
                 String resolveId = getResolveId();
                 if (resolveId == null) {
                     resolveId = ResolveOptions.getDefaultResolveId(reference);
                 }
                 File report = cache.getConfigurationResolveReportInCache(resolveId, resolvedConf);
-                if (!report.exists()) {
-                    // the report doesn't exist any longer, we have to recreate it...
-                    it.remove();
+                // if the report does not exist any longer, we have to recreate it...
+                if (report.exists()) {
+                    rconfsSet.add(resolvedConf);
                 }
             }
 
-            HashSet confsSet = new HashSet(Arrays.asList(confs));
+            HashSet<String> confsSet = new HashSet<>(Arrays.asList(confs));
             Message.debug("resolved configurations:   " + rconfsSet);
             Message.debug("asked configurations:      " + confsSet);
             confsSet.removeAll(rconfsSet);
             Message.debug("to resolve configurations: " + confsSet);
-            return (String[]) confsSet.toArray(new String[confsSet.size()]);
+            return confsSet.toArray(new String[confsSet.size()]);
         } else {
             Message.debug("module already resolved, no configuration to resolve");
             return new String[0];

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyPublish.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyPublish.java b/src/java/org/apache/ivy/ant/IvyPublish.java
index 9795231..4815b30 100644
--- a/src/java/org/apache/ivy/ant/IvyPublish.java
+++ b/src/java/org/apache/ivy/ant/IvyPublish.java
@@ -61,7 +61,7 @@ public class IvyPublish extends IvyTask {
 
     private String publishResolverName = null;
 
-    private List<String> artifactspattern = new ArrayList<String>();
+    private List<String> artifactspattern = new ArrayList<>();
 
     private File deliveryList;
 
@@ -81,7 +81,7 @@ public class IvyPublish extends IvyTask {
 
     private boolean forcedeliver;
 
-    private Collection<Artifact> artifacts = new ArrayList<Artifact>();
+    private Collection<Artifact> artifacts = new ArrayList<>();
 
     private String pubBranch;
 
@@ -391,7 +391,7 @@ public class IvyPublish extends IvyTask {
 
         private String type;
 
-        private Map<String, String> extra = new HashMap<String, String>();
+        private Map<String, String> extra = new HashMap<>();
 
         public String[] getConfigurations() {
             return null;

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyReport.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyReport.java b/src/java/org/apache/ivy/ant/IvyReport.java
index 6ac9d09..b4d4112 100644
--- a/src/java/org/apache/ivy/ant/IvyReport.java
+++ b/src/java/org/apache/ivy/ant/IvyReport.java
@@ -27,7 +27,6 @@ import java.io.InputStream;
 import java.io.OutputStream;
 import java.text.ParseException;
 import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.List;
 
 import javax.xml.transform.Source;
@@ -79,7 +78,7 @@ public class IvyReport extends IvyTask {
 
     private String xslext = "html";
 
-    private List params = new ArrayList();
+    private final List<XSLTProcess.Param> params = new ArrayList<>();
 
     private String resolveId;
 
@@ -223,14 +222,14 @@ public class IvyReport extends IvyTask {
 
     private void genxml(String[] confs) throws IOException {
         ResolutionCacheManager cacheMgr = getIvyInstance().getResolutionCacheManager();
-        for (int i = 0; i < confs.length; i++) {
-            File xml = cacheMgr.getConfigurationResolveReportInCache(resolveId, confs[i]);
+        for (String config : confs) {
+            File xml = cacheMgr.getConfigurationResolveReportInCache(resolveId, config);
 
             File out;
             if (todir != null) {
-                out = new File(todir, getOutputPattern(confs[i], "xml"));
+                out = new File(todir, getOutputPattern(config, "xml"));
             } else {
-                out = getProject().resolveFile(getOutputPattern(confs[i], "xml"));
+                out = getProject().resolveFile(getOutputPattern(config, "xml"));
             }
 
             FileUtil.copy(xml, out, null);
@@ -322,16 +321,14 @@ public class IvyReport extends IvyTask {
             transformer.setParameter("extension", xslext);
 
             // add the provided XSLT parameters
-            for (Iterator it = params.iterator(); it.hasNext();) {
-                XSLTProcess.Param param = (XSLTProcess.Param) it.next();
+            for (XSLTProcess.Param param : params) {
                 transformer.setParameter(param.getName(), param.getExpression());
             }
 
             // create the report
-            for (int i = 0; i < confs.length; i++) {
-                File reportFile = cacheMgr
-                        .getConfigurationResolveReportInCache(resolveId, confs[i]);
-                File outFile = new File(out, getOutputPattern(confs[i], ext));
+            for (String config : confs) {
+                File reportFile = cacheMgr.getConfigurationResolveReportInCache(resolveId, config);
+                File outFile = new File(out, getOutputPattern(config, ext));
 
                 log("Processing " + reportFile + " to " + outFile);
 

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyRepositoryReport.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyRepositoryReport.java b/src/java/org/apache/ivy/ant/IvyRepositoryReport.java
index 86efbf8..da27edd 100644
--- a/src/java/org/apache/ivy/ant/IvyRepositoryReport.java
+++ b/src/java/org/apache/ivy/ant/IvyRepositoryReport.java
@@ -21,7 +21,6 @@ import java.io.File;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.HashSet;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Set;
 
@@ -71,7 +70,7 @@ public class IvyRepositoryReport extends IvyTask {
 
     private String xslext = "html";
 
-    private List params = new ArrayList();
+    private final List<XSLTProcess.Param> params = new ArrayList<>();
 
     public void doExecute() throws BuildException {
         Ivy ivy = getIvyInstance();
@@ -86,27 +85,22 @@ public class IvyRepositoryReport extends IvyTask {
         } else if (module == null && !PatternMatcher.EXACT.equals(matcher)) {
             module = PatternMatcher.ANY_EXPRESSION;
         }
-        ModuleRevisionId mrid = ModuleRevisionId.newInstance(organisation, module, revision);
+        ModuleRevisionId moduleRevisionId = ModuleRevisionId.newInstance(organisation, module, revision);
 
         try {
-            ModuleRevisionId criteria = null;
-
-            if ((revision == null) || settings.getVersionMatcher().isDynamic(mrid)) {
-                criteria = new ModuleRevisionId(new ModuleId(organisation, module), branch, "*");
-            } else {
-                criteria = new ModuleRevisionId(new ModuleId(organisation, module), branch,
-                        revision);
-            }
+            ModuleRevisionId criteria = (revision == null) || settings.getVersionMatcher().isDynamic(moduleRevisionId)
+                    ? new ModuleRevisionId(new ModuleId(organisation, module), branch, "*")
+                    : new ModuleRevisionId(new ModuleId(organisation, module), branch, revision);
 
             ModuleRevisionId[] mrids = ivy.listModules(criteria, settings.getMatcher(matcher));
 
             // replace all found revisions with the original requested revision
-            Set modules = new HashSet();
-            for (int i = 0; i < mrids.length; i++) {
-                modules.add(ModuleRevisionId.newInstance(mrids[i], revision));
+            Set<ModuleRevisionId> modules = new HashSet<>();
+            for (ModuleRevisionId mrid : mrids) {
+                modules.add(ModuleRevisionId.newInstance(mrid, revision));
             }
 
-            mrids = (ModuleRevisionId[]) modules.toArray(new ModuleRevisionId[modules.size()]);
+            mrids = modules.toArray(new ModuleRevisionId[modules.size()]);
             ModuleDescriptor md = DefaultModuleDescriptor.newCallerInstance(mrids, true, false);
             String resolveId = ResolveOptions.getDefaultResolveId(md);
             ResolveReport report = ivy.resolve(md, new ResolveOptions().setResolveId(resolveId)
@@ -115,24 +109,23 @@ public class IvyRepositoryReport extends IvyTask {
             ResolutionCacheManager cacheMgr = getIvyInstance().getResolutionCacheManager();
             new XmlReportOutputter().output(report, cacheMgr, new ResolveOptions());
             if (graph) {
-                gengraph(cacheMgr, md.getModuleRevisionId().getOrganisation(), md
-                        .getModuleRevisionId().getName());
+                gengraph(cacheMgr, md.getModuleRevisionId().getOrganisation(),
+                        md.getModuleRevisionId().getName());
             }
             if (dot) {
-                gendot(cacheMgr, md.getModuleRevisionId().getOrganisation(), md
-                        .getModuleRevisionId().getName());
+                gendot(cacheMgr, md.getModuleRevisionId().getOrganisation(),
+                        md.getModuleRevisionId().getName());
             }
             if (xml) {
-
                 FileUtil.copy(cacheMgr.getConfigurationResolveReportInCache(resolveId, "default"),
                     new File(getTodir(), outputname + ".xml"), null);
             }
             if (xsl) {
-                genreport(cacheMgr, md.getModuleRevisionId().getOrganisation(), md
-                        .getModuleRevisionId().getName());
+                genreport(cacheMgr, md.getModuleRevisionId().getOrganisation(),
+                        md.getModuleRevisionId().getName());
             }
         } catch (Exception e) {
-            throw new BuildException("impossible to generate graph for " + mrid + ": " + e, e);
+            throw new BuildException("impossible to generate graph for " + moduleRevisionId + ": " + e, e);
         }
     }
 
@@ -150,13 +143,12 @@ public class IvyRepositoryReport extends IvyTask {
 
         xslt.setStyle(xslFile);
 
-        XSLTProcess.Param param = xslt.createParam();
-        param.setName("extension");
-        param.setExpression(xslext);
+        XSLTProcess.Param xslExt = xslt.createParam();
+        xslExt.setName("extension");
+        xslExt.setExpression(xslext);
 
         // add the provided XSLT parameters
-        for (Iterator it = params.iterator(); it.hasNext();) {
-            param = (XSLTProcess.Param) it.next();
+        for (XSLTProcess.Param param : params) {
             XSLTProcess.Param realParam = xslt.createParam();
             realParam.setName(param.getName());
             realParam.setExpression(param.getExpression());

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyResolve.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyResolve.java b/src/java/org/apache/ivy/ant/IvyResolve.java
index 8e42f71..92513d8 100644
--- a/src/java/org/apache/ivy/ant/IvyResolve.java
+++ b/src/java/org/apache/ivy/ant/IvyResolve.java
@@ -90,11 +90,11 @@ public class IvyResolve extends IvyTask {
 
     private boolean checkIfChanged = true; // for backward compatibility
 
-    private List<IvyDependency> dependencies = new ArrayList<IvyDependency>();
+    private List<IvyDependency> dependencies = new ArrayList<>();
 
-    private List<IvyExclude> excludes = new ArrayList<IvyExclude>();
+    private List<IvyExclude> excludes = new ArrayList<>();
 
-    private List<IvyConflict> conflicts = new ArrayList<IvyConflict>();
+    private List<IvyConflict> conflicts = new ArrayList<>();
 
     public boolean isUseOrigin() {
         return useOrigin;