http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/69207179/src/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorWriter.java
----------------------------------------------------------------------
diff --git 
a/src/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorWriter.java 
b/src/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorWriter.java
index db8c469..2f98464 100644
--- a/src/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorWriter.java
+++ b/src/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorWriter.java
@@ -109,24 +109,24 @@ public final class XmlModuleDescriptorWriter {
 
     protected static void printDependency(ModuleDescriptor md, 
DependencyDescriptor dep,
             PrintWriter out) {
-        out.print("<dependency");
-        out.print(" org=\"" + 
XMLHelper.escape(dep.getDependencyRevisionId().getOrganisation())
-                + "\"");
-        out.print(" name=\"" + 
XMLHelper.escape(dep.getDependencyRevisionId().getName()) + "\"");
-        if (dep.getDependencyRevisionId().getBranch() != null) {
-            out.print(" branch=\"" + 
XMLHelper.escape(dep.getDependencyRevisionId().getBranch())
-                    + "\"");
-        }
-        out.print(" rev=\"" + 
XMLHelper.escape(dep.getDependencyRevisionId().getRevision()) + "\"");
-        if 
(!dep.getDynamicConstraintDependencyRevisionId().equals(dep.getDependencyRevisionId()))
 {
-            if (dep.getDynamicConstraintDependencyRevisionId().getBranch() != 
null) {
+        final ModuleRevisionId dependencyRevisionId = 
dep.getDependencyRevisionId();
+        out.print(String.format("<dependency org=\"%s\" name=\"%s\"",
+                XMLHelper.escape(dependencyRevisionId.getOrganisation()),
+                XMLHelper.escape(dependencyRevisionId.getName())));
+        if (dependencyRevisionId.getBranch() != null) {
+            out.print(" branch=\"" + 
XMLHelper.escape(dependencyRevisionId.getBranch()) + "\"");
+        }
+        out.print(" rev=\"" + 
XMLHelper.escape(dependencyRevisionId.getRevision()) + "\"");
+        final ModuleRevisionId dynamicConstraintDependencyRevisionId =
+                dep.getDynamicConstraintDependencyRevisionId();
+        if 
(!dynamicConstraintDependencyRevisionId.equals(dependencyRevisionId)) {
+            if (dynamicConstraintDependencyRevisionId.getBranch() != null) {
                 out.print(" branchConstraint=\""
-                        + 
XMLHelper.escape(dep.getDynamicConstraintDependencyRevisionId()
-                                .getBranch()) + "\"");
+                        + 
XMLHelper.escape(dynamicConstraintDependencyRevisionId.getBranch())
+                        + "\"");
             }
             out.print(" revConstraint=\""
-                    + XMLHelper
-                            
.escape(dep.getDynamicConstraintDependencyRevisionId().getRevision())
+                    + 
XMLHelper.escape(dynamicConstraintDependencyRevisionId.getRevision())
                     + "\"");
         }
         if (dep.isForce()) {
@@ -138,22 +138,15 @@ public final class XmlModuleDescriptorWriter {
         if (!dep.isTransitive()) {
             out.print(" transitive=\"" + dep.isTransitive() + "\"");
         }
-        out.print(" conf=\"");
-        String[] modConfs = dep.getModuleConfigurations();
-        for (int j = 0; j < modConfs.length; j++) {
-            String[] depConfs = dep.getDependencyConfigurations(modConfs[j]);
-            out.print(XMLHelper.escape(modConfs[j]) + "->");
-            for (int k = 0; k < depConfs.length; k++) {
-                out.print(XMLHelper.escape(depConfs[k]));
-                if (k + 1 < depConfs.length) {
-                    out.print(",");
-                }
-            }
-            if (j + 1 < modConfs.length) {
-                out.print(";");
+        StringBuilder sb = new StringBuilder();
+        for (String modConf : dep.getModuleConfigurations()) {
+            if (sb.length() > 0) {
+                sb.append(";");
             }
+            sb.append(XMLHelper.escape(modConf)).append(
+                    
listToPrefixedString(dep.getDependencyConfigurations(modConf), "->"));
         }
-        out.print("\"");
+        out.print(" conf=\"" + sb + "\"");
 
         printExtraAttributes(dep, out, " ");
 
@@ -215,28 +208,17 @@ public final class XmlModuleDescriptorWriter {
         ExcludeRule[] excludes = md.getAllExcludeRules();
         if (excludes.length > 0) {
             for (ExcludeRule exclude : excludes) {
-                out.print("\t\t<exclude");
-                out.print(" org=\""
-                        + 
XMLHelper.escape(exclude.getId().getModuleId().getOrganisation())
-                        + "\"");
-                out.print(" module=\""
-                        + 
XMLHelper.escape(exclude.getId().getModuleId().getName()) + "\"");
-                out.print(" artifact=\"" + 
XMLHelper.escape(exclude.getId().getName()) + "\"");
-                out.print(" type=\"" + 
XMLHelper.escape(exclude.getId().getType()) + "\"");
-                out.print(" ext=\"" + 
XMLHelper.escape(exclude.getId().getExt()) + "\"");
+                out.print(String.format("\t\t<exclude org=\"%s\" module=\"%s\" 
artifact=\"%s\" type=\"%s\" ext=\"%s\"",
+                        
XMLHelper.escape(exclude.getId().getModuleId().getOrganisation()),
+                        
XMLHelper.escape(exclude.getId().getModuleId().getName()),
+                        XMLHelper.escape(exclude.getId().getName()),
+                        XMLHelper.escape(exclude.getId().getType()),
+                        XMLHelper.escape(exclude.getId().getExt())));
                 String[] ruleConfs = exclude.getConfigurations();
                 if 
(!Arrays.asList(ruleConfs).equals(Arrays.asList(md.getConfigurationsNames()))) {
-                    out.print(" conf=\"");
-                    for (int k = 0; k < ruleConfs.length; k++) {
-                        out.print(XMLHelper.escape(ruleConfs[k]));
-                        if (k + 1 < ruleConfs.length) {
-                            out.print(",");
-                        }
-                    }
-                    out.print("\"");
+                    out.print(listToPrefixedString(ruleConfs, " conf=\""));
                 }
-                out.print(" matcher=\"" + 
XMLHelper.escape(exclude.getMatcher().getName())
-                        + "\"");
+                out.print(" matcher=\"" + 
XMLHelper.escape(exclude.getMatcher().getName()) + "\"");
                 out.println("/>");
             }
         }
@@ -246,28 +228,17 @@ public final class XmlModuleDescriptorWriter {
             ExcludeRule[] excludes) {
         if (excludes.length > 0) {
             for (ExcludeRule exclude : excludes) {
-                out.print("\t\t\t<exclude");
-                out.print(" org=\""
-                        + 
XMLHelper.escape(exclude.getId().getModuleId().getOrganisation())
-                        + "\"");
-                out.print(" module=\""
-                        + 
XMLHelper.escape(exclude.getId().getModuleId().getName()) + "\"");
-                out.print(" name=\"" + 
XMLHelper.escape(exclude.getId().getName()) + "\"");
-                out.print(" type=\"" + 
XMLHelper.escape(exclude.getId().getType()) + "\"");
-                out.print(" ext=\"" + 
XMLHelper.escape(exclude.getId().getExt()) + "\"");
+                out.print(String.format("\t\t\t<exclude org=\"%s\" 
module=\"%s\" name=\"%s\" type=\"%s\" ext=\"%s\"",
+                        
XMLHelper.escape(exclude.getId().getModuleId().getOrganisation()),
+                        
XMLHelper.escape(exclude.getId().getModuleId().getName()),
+                        XMLHelper.escape(exclude.getId().getName()),
+                        XMLHelper.escape(exclude.getId().getType()),
+                        XMLHelper.escape(exclude.getId().getExt())));
                 String[] ruleConfs = exclude.getConfigurations();
                 if 
(!Arrays.asList(ruleConfs).equals(Arrays.asList(md.getConfigurationsNames()))) {
-                    out.print(" conf=\"");
-                    for (int k = 0; k < ruleConfs.length; k++) {
-                        out.print(XMLHelper.escape(ruleConfs[k]));
-                        if (k + 1 < ruleConfs.length) {
-                            out.print(",");
-                        }
-                    }
-                    out.print("\"");
+                    out.print(listToPrefixedString(ruleConfs, " conf=\""));
                 }
-                out.print(" matcher=\"" + 
XMLHelper.escape(exclude.getMatcher().getName())
-                        + "\"");
+                out.print(" matcher=\"" + 
XMLHelper.escape(exclude.getMatcher().getName()) + "\"");
                 out.println("/>");
             }
         }
@@ -277,23 +248,15 @@ public final class XmlModuleDescriptorWriter {
             IncludeRule[] includes) {
         if (includes.length > 0) {
             for (IncludeRule include : includes) {
-                out.print("\t\t\t<include");
-                out.print(" name=\"" + 
XMLHelper.escape(include.getId().getName()) + "\"");
-                out.print(" type=\"" + 
XMLHelper.escape(include.getId().getType()) + "\"");
-                out.print(" ext=\"" + 
XMLHelper.escape(include.getId().getExt()) + "\"");
+                out.print(String.format("\t\t\t<include name=\"%s\" 
type=\"%s\" ext=\"%s\"",
+                        XMLHelper.escape(include.getId().getName()),
+                        XMLHelper.escape(include.getId().getType()),
+                        XMLHelper.escape(include.getId().getExt())));
                 String[] ruleConfs = include.getConfigurations();
                 if 
(!Arrays.asList(ruleConfs).equals(Arrays.asList(md.getConfigurationsNames()))) {
-                    out.print(" conf=\"");
-                    for (int k = 0; k < ruleConfs.length; k++) {
-                        out.print(XMLHelper.escape(ruleConfs[k]));
-                        if (k + 1 < ruleConfs.length) {
-                            out.print(",");
-                        }
-                    }
-                    out.print("\"");
+                    out.print(listToPrefixedString(ruleConfs, " conf=\""));
                 }
-                out.print(" matcher=\"" + 
XMLHelper.escape(include.getMatcher().getName())
-                        + "\"");
+                out.print(" matcher=\"" + 
XMLHelper.escape(include.getMatcher().getName()) + "\"");
                 out.println("/>");
             }
         }
@@ -303,20 +266,13 @@ public final class XmlModuleDescriptorWriter {
             DependencyArtifactDescriptor[] depArtifacts) {
         if (depArtifacts.length > 0) {
             for (DependencyArtifactDescriptor depArtifact : depArtifacts) {
-                out.print("\t\t\t<artifact");
-                out.print(" name=\"" + XMLHelper.escape(depArtifact.getName()) 
+ "\"");
-                out.print(" type=\"" + XMLHelper.escape(depArtifact.getType()) 
+ "\"");
-                out.print(" ext=\"" + XMLHelper.escape(depArtifact.getExt()) + 
"\"");
-                String[] dadconfs = depArtifact.getConfigurations();
-                if 
(!Arrays.asList(dadconfs).equals(Arrays.asList(md.getConfigurationsNames()))) {
-                    out.print(" conf=\"");
-                    for (int k = 0; k < dadconfs.length; k++) {
-                        out.print(XMLHelper.escape(dadconfs[k]));
-                        if (k + 1 < dadconfs.length) {
-                            out.print(",");
-                        }
-                    }
-                    out.print("\"");
+                out.print(String.format("\t\t\t<artifact name=\"%s\" 
type=\"%s\" ext=\"%s\"",
+                        XMLHelper.escape(depArtifact.getName()),
+                        XMLHelper.escape(depArtifact.getType()),
+                        XMLHelper.escape(depArtifact.getExt())));
+                String[] dadConfs = depArtifact.getConfigurations();
+                if 
(!Arrays.asList(dadConfs).equals(Arrays.asList(md.getConfigurationsNames()))) {
+                    out.print(listToPrefixedString(dadConfs, " conf=\""));
                 }
                 printExtraAttributes(depArtifact, out, " ");
                 out.println("/>");
@@ -324,6 +280,20 @@ public final class XmlModuleDescriptorWriter {
         }
     }
 
+    private static String listToPrefixedString(String[] confs, String prefix) {
+        StringBuilder sb = new StringBuilder(prefix);
+        for (String conf : confs) {
+            if (sb.length() > prefix.length()) {
+                sb.append(",");
+            }
+            sb.append(XMLHelper.escape(conf));
+        }
+        if (prefix.endsWith("\"")) {
+            sb.append("\"");
+        }
+        return sb.toString();
+    }
+
     /**
      * Writes the extra attributes of the given {@link ExtendableItem} to the 
given
      * <tt>PrintWriter</tt>.
@@ -367,11 +337,11 @@ public final class XmlModuleDescriptorWriter {
         out.println("\t<publications>");
         Artifact[] artifacts = md.getAllArtifacts();
         for (Artifact artifact : artifacts) {
-            out.print("\t\t<artifact");
-            out.print(" name=\"" + XMLHelper.escape(artifact.getName()) + 
"\"");
-            out.print(" type=\"" + XMLHelper.escape(artifact.getType()) + 
"\"");
-            out.print(" ext=\"" + XMLHelper.escape(artifact.getExt()) + "\"");
-            out.print(" conf=\"" + XMLHelper.escape(getConfs(md, artifact)) + 
"\"");
+            out.print(String.format("\t\t<artifact name=\"%s\" type=\"%s\" 
ext=\"%s\" conf=\"%s\"",
+                    XMLHelper.escape(artifact.getName()),
+                    XMLHelper.escape(artifact.getType()),
+                    XMLHelper.escape(artifact.getExt()),
+                    XMLHelper.escape(getConfs(md, artifact))));
             printExtraAttributes(artifact, out, " ");
             out.println("/>");
         }
@@ -399,14 +369,7 @@ public final class XmlModuleDescriptorWriter {
         }
         String[] exts = conf.getExtends();
         if (exts.length > 0) {
-            out.print(" extends=\"");
-            for (int j = 0; j < exts.length; j++) {
-                out.print(XMLHelper.escape(exts[j]));
-                if (j + 1 < exts.length) {
-                    out.print(",");
-                }
-            }
-            out.print("\"");
+            out.print(listToPrefixedString(exts, " extends=\""));
         }
         if (!conf.isTransitive()) {
             out.print(" transitive=\"false\"");
@@ -451,9 +414,10 @@ public final class XmlModuleDescriptorWriter {
             ExtendsDescriptor[] parents = md.getInheritedDescriptors();
             for (ExtendsDescriptor parent : parents) {
                 ModuleRevisionId mrid = parent.getParentRevisionId();
-                out.print("\t\t<extends organisation=\"" + 
XMLHelper.escape(mrid.getOrganisation())
-                        + "\"" + " module=\"" + 
XMLHelper.escape(mrid.getName()) + "\""
-                        + " revision=\"" + 
XMLHelper.escape(mrid.getRevision()) + "\"");
+                out.print(String.format("\t\t<extends organisation=\"%s\" 
module=\"%s\" revision=\"%s\"",
+                        XMLHelper.escape(mrid.getOrganisation()),
+                        XMLHelper.escape(mrid.getName()),
+                        XMLHelper.escape(mrid.getRevision())));
 
                 String location = parent.getLocation();
                 if (location != null) {
@@ -503,12 +467,7 @@ public final class XmlModuleDescriptorWriter {
         out.print("<");
         out.print(extraInfo.getName());
         for (Entry<String, String> entry : 
extraInfo.getAttributes().entrySet()) {
-            out.print(" ");
-            out.print(entry.getKey());
-            out.print("=");
-            out.print("\"");
-            out.print(entry.getValue());
-            out.print("\"");
+            out.print(String.format(" %s=\"%s\"", entry.getKey(), 
entry.getValue()));
         }
         boolean requireClosingTag = false;
         if (extraInfo.getContent() != null && 
extraInfo.getContent().trim().length() > 0) {
@@ -536,19 +495,15 @@ public final class XmlModuleDescriptorWriter {
         }
     }
 
-    @SuppressWarnings("deprecation")
     private static boolean requireInnerInfoElement(ModuleDescriptor md) {
-        return md.getExtraInfo().size() > 0 || md.getExtraInfos().size() > 0
-                || md.getHomePage() != null
+        return md.getExtraInfos().size() > 0 || md.getHomePage() != null
                 || (md.getDescription() != null && 
md.getDescription().trim().length() > 0)
                 || md.getLicenses().length > 0 || 
md.getInheritedDescriptors().length > 0;
     }
 
     private static String getConfs(ModuleDescriptor md, Artifact artifact) {
         StringBuilder ret = new StringBuilder();
-
-        String[] confs = md.getConfigurationsNames();
-        for (String conf : confs) {
+        for (String conf : md.getConfigurationsNames()) {
             if (Arrays.asList(md.getArtifacts(conf)).contains(artifact)) {
                 ret.append(conf).append(",");
             }

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/69207179/src/java/org/apache/ivy/plugins/report/XmlReportWriter.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/plugins/report/XmlReportWriter.java 
b/src/java/org/apache/ivy/plugins/report/XmlReportWriter.java
index 9f33c01..deaeec7 100644
--- a/src/java/org/apache/ivy/plugins/report/XmlReportWriter.java
+++ b/src/java/org/apache/ivy/plugins/report/XmlReportWriter.java
@@ -92,7 +92,7 @@ public class XmlReportWriter {
             out.println("\t\t<module organisation=\"" + 
XMLHelper.escape(mid.getOrganisation())
                     + "\"" + " name=\"" + XMLHelper.escape(mid.getName()) + 
"\">");
             for (IvyNode dep : report.getNodes(mid)) {
-                ouputRevision(report, out, dependencies, dep);
+                outputRevision(report, out, dependencies, dep);
             }
             out.println("\t\t</module>");
         }
@@ -101,8 +101,8 @@ public class XmlReportWriter {
         out.flush();
     }
 
-    private void ouputRevision(ConfigurationResolveReport report, PrintWriter 
out,
-            List<ModuleRevisionId> dependencies, IvyNode dep) {
+    private void outputRevision(ConfigurationResolveReport report, PrintWriter 
out,
+                                List<ModuleRevisionId> dependencies, IvyNode 
dep) {
         Map<String, String> extraAttributes;
         ModuleDescriptor md = null;
         if (dep.getModuleRevision() != null) {

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/69207179/src/java/org/apache/ivy/plugins/repository/sftp/SFTPRepository.java
----------------------------------------------------------------------
diff --git 
a/src/java/org/apache/ivy/plugins/repository/sftp/SFTPRepository.java 
b/src/java/org/apache/ivy/plugins/repository/sftp/SFTPRepository.java
index 1aeda94..e1d013c 100644
--- a/src/java/org/apache/ivy/plugins/repository/sftp/SFTPRepository.java
+++ b/src/java/org/apache/ivy/plugins/repository/sftp/SFTPRepository.java
@@ -88,17 +88,11 @@ public class SFTPRepository extends 
AbstractSshBasedRepository {
     @SuppressWarnings("unchecked")
     public Resource resolveResource(String path) {
         try {
-            ChannelSftp c = getSftpChannel(path);
-
-            // ls() returns a Vector of LsEntry
-            Collection<LsEntry> r = c.ls(getPath(path));
-
+            List<LsEntry> r = getSftpChannel(path).ls(getPath(path));
             if (r != null) {
-                for (LsEntry entry : r) {
-                    SftpATTRS attrs = entry.getAttrs();
-                    return new BasicResource(path, true, attrs.getSize(),
+                SftpATTRS attrs = r.get(0).getAttrs();
+                return new BasicResource(path, true, attrs.getSize(),
                             attrs.getMTime() * MILLIS_PER_SECOND, false);
-                }
             }
         } catch (Exception e) {
             Message.debug("Error while resolving resource " + path, e);
@@ -148,7 +142,7 @@ public class SFTPRepository extends 
AbstractSshBasedRepository {
         }
     }
 
-    private void mkdirs(String directory, ChannelSftp c) throws IOException, 
SftpException {
+    private void mkdirs(String directory, ChannelSftp c) throws SftpException {
         try {
             SftpATTRS att = c.stat(directory);
             if (att != null) {

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/69207179/src/java/org/apache/ivy/plugins/repository/ssh/AbstractSshBasedRepository.java
----------------------------------------------------------------------
diff --git 
a/src/java/org/apache/ivy/plugins/repository/ssh/AbstractSshBasedRepository.java
 
b/src/java/org/apache/ivy/plugins/repository/ssh/AbstractSshBasedRepository.java
index d96d0c2..3411bd6 100644
--- 
a/src/java/org/apache/ivy/plugins/repository/ssh/AbstractSshBasedRepository.java
+++ 
b/src/java/org/apache/ivy/plugins/repository/ssh/AbstractSshBasedRepository.java
@@ -23,16 +23,17 @@ import java.net.URI;
 import java.net.URISyntaxException;
 import java.util.HashMap;
 import java.util.Locale;
+import java.util.Map;
 
 import org.apache.ivy.plugins.repository.AbstractRepository;
 import org.apache.ivy.util.Credentials;
 import org.apache.ivy.util.CredentialsUtil;
 import org.apache.ivy.util.Message;
 
+import com.jcraft.jsch.ConfigRepository;
 import com.jcraft.jsch.ConfigRepository.Config;
-import com.jcraft.jsch.Session;
 import com.jcraft.jsch.OpenSSHConfig;
-import com.jcraft.jsch.ConfigRepository;
+import com.jcraft.jsch.Session;
 
 public abstract class AbstractSshBasedRepository extends AbstractRepository {
 
@@ -61,7 +62,7 @@ public abstract class AbstractSshBasedRepository extends 
AbstractRepository {
     /**
      * hashmap of user/hosts with credentials. key is hostname, value is 
Credentials
      **/
-    private static final HashMap<String, Credentials> credentialsCache = new 
HashMap<>();
+    private static final Map<String, Credentials> credentialsCache = new 
HashMap<>();
 
     private static final int MAX_CREDENTIALS_CACHE_SIZE = 100;
 
@@ -113,7 +114,6 @@ public abstract class AbstractSshBasedRepository extends 
AbstractRepository {
             }
         }
 
-
         if (host == null) {
             throw new IllegalArgumentException(
                     "missing host information. host should be provided either "

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/69207179/src/java/org/apache/ivy/plugins/repository/ssh/Scp.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/plugins/repository/ssh/Scp.java 
b/src/java/org/apache/ivy/plugins/repository/ssh/Scp.java
index 8e5a5e1..0723e25 100644
--- a/src/java/org/apache/ivy/plugins/repository/ssh/Scp.java
+++ b/src/java/org/apache/ivy/plugins/repository/ssh/Scp.java
@@ -491,8 +491,8 @@ public class Scp {
                 throw new IllegalArgumentException("Invalid mode.");
             }
 
-            for (int i = 0; i < mode.length(); i++) {
-                if (!Character.isDigit(mode.charAt(i))) {
+            for (char c : mode.toCharArray()) {
+                if (!Character.isDigit(c)) {
                     throw new IllegalArgumentException("Invalid mode.");
                 }
             }
@@ -500,10 +500,10 @@ public class Scp {
 
         String cmd = "scp -t ";
         if (mode != null) {
-            cmd = cmd + "-p ";
+            cmd += "-p ";
         }
         if (remoteTargetDir != null && remoteTargetDir.length() > 0) {
-            cmd = cmd + "-d " + remoteTargetDir;
+            cmd += "-d " + remoteTargetDir;
         }
 
         try {
@@ -549,9 +549,9 @@ public class Scp {
      * @throws RemoteScpException
      *             in case of problems on the target system (connection ok)
      */
+    @SuppressWarnings("unused")
     public void get(String remoteFile, OutputStream localTarget) throws 
IOException,
             RemoteScpException {
-    @SuppressWarnings("unused")
         ChannelExec channel = null;
 
         if ((remoteFile == null) || (localTarget == null)) {

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/69207179/src/java/org/apache/ivy/plugins/repository/ssh/SshCache.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/plugins/repository/ssh/SshCache.java 
b/src/java/org/apache/ivy/plugins/repository/ssh/SshCache.java
index f056380..04ac8b5 100644
--- a/src/java/org/apache/ivy/plugins/repository/ssh/SshCache.java
+++ b/src/java/org/apache/ivy/plugins/repository/ssh/SshCache.java
@@ -263,7 +263,6 @@ public final class SshCache {
      * @param session
      *            to connect to
      * @return channelSftp or null if not successful (channel not existent or 
dead)
-     * @throws IOException if something goes wrong
      */
     public ChannelSftp getChannelSftp(Session session) throws IOException {
         ChannelSftp channel = null;

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/69207179/src/java/org/apache/ivy/plugins/repository/ssh/SshRepository.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/plugins/repository/ssh/SshRepository.java 
b/src/java/org/apache/ivy/plugins/repository/ssh/SshRepository.java
index 4939931..46b380c 100644
--- a/src/java/org/apache/ivy/plugins/repository/ssh/SshRepository.java
+++ b/src/java/org/apache/ivy/plugins/repository/ssh/SshRepository.java
@@ -160,7 +160,7 @@ public class SshRepository extends 
AbstractSshBasedRepository {
      */
     public List<String> list(String parent) throws IOException {
         Message.debug("SShRepository:list called: " + parent);
-        ArrayList<String> result = new ArrayList<>();
+        List<String> result = new ArrayList<>();
         Session session = null;
         ChannelExec channel = null;
         session = getSession(parent);

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/69207179/src/java/org/apache/ivy/plugins/repository/vfs/VfsRepository.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/plugins/repository/vfs/VfsRepository.java 
b/src/java/org/apache/ivy/plugins/repository/vfs/VfsRepository.java
index b220250..4706cb6 100644
--- a/src/java/org/apache/ivy/plugins/repository/vfs/VfsRepository.java
+++ b/src/java/org/apache/ivy/plugins/repository/vfs/VfsRepository.java
@@ -164,7 +164,7 @@ public class VfsRepository extends AbstractRepository {
      * @see "Supported File Systems in the jakarta-commons-vfs documentation"
      */
     public List<String> list(String vfsURI) throws IOException {
-        ArrayList<String> list = new ArrayList<>();
+        List<String> list = new ArrayList<>();
         Message.debug("list called for URI" + vfsURI);
         FileObject resourceImpl = getVFSManager().resolveFile(vfsURI);
         Message.debug("resourceImpl=" + resourceImpl.toString());

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/69207179/src/java/org/apache/ivy/plugins/repository/vfs/VfsResource.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/plugins/repository/vfs/VfsResource.java 
b/src/java/org/apache/ivy/plugins/repository/vfs/VfsResource.java
index 3250e96..bf22346 100644
--- a/src/java/org/apache/ivy/plugins/repository/vfs/VfsResource.java
+++ b/src/java/org/apache/ivy/plugins/repository/vfs/VfsResource.java
@@ -86,7 +86,7 @@ public class VfsResource implements Resource {
      */
     public List<String> getChildren() {
         init();
-        ArrayList<String> list = new ArrayList<>();
+        List<String> list = new ArrayList<>();
         try {
             if ((resourceImpl != null) && resourceImpl.exists()
                     && (resourceImpl.getType() == FileType.FOLDER)) {

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/69207179/src/java/org/apache/ivy/plugins/repository/vsftp/VsftpRepository.java
----------------------------------------------------------------------
diff --git 
a/src/java/org/apache/ivy/plugins/repository/vsftp/VsftpRepository.java 
b/src/java/org/apache/ivy/plugins/repository/vsftp/VsftpRepository.java
index 861fe3c..463facc 100644
--- a/src/java/org/apache/ivy/plugins/repository/vsftp/VsftpRepository.java
+++ b/src/java/org/apache/ivy/plugins/repository/vsftp/VsftpRepository.java
@@ -221,7 +221,7 @@ public class VsftpRepository extends AbstractRepository {
         initIvy();
         try {
             if (!parent.endsWith("/")) {
-                parent = parent + "/";
+                parent += "/";
             }
             String response = sendCommand("ls -l " + parent, true, true);
             if (response.startsWith("ls")) {
@@ -229,12 +229,12 @@ public class VsftpRepository extends AbstractRepository {
             }
             String[] lines = response.split("\n");
             List<String> ret = new ArrayList<>(lines.length);
-            for (int i = 0; i < lines.length; i++) {
-                while (lines[i].endsWith("\r") || lines[i].endsWith("\n")) {
-                    lines[i] = lines[i].substring(0, lines[i].length() - 1);
+            for (String line : lines) {
+                while (line.endsWith("\r") || line.endsWith("\n")) {
+                    line = line.substring(0, line.length() - 1);
                 }
-                if (lines[i].trim().length() != 0) {
-                    ret.add(parent + lines[i].substring(lines[i].lastIndexOf(' 
') + 1));
+                if (line.trim().length() != 0) {
+                    ret.add(parent + line.substring(line.lastIndexOf(' ') + 
1));
                 }
             }
             return ret;
@@ -383,12 +383,13 @@ public class VsftpRepository extends AbstractRepository {
                     try {
                         int c;
                         boolean getPrompt = false;
-                        // the reading is done in a for loop making five 
attempts to read the stream
+                        // the reading is done in a loop making five attempts 
to read the stream
                         // if we do not reach the next prompt
-                        for (int attempts = 0; !getPrompt && attempts < 
MAX_READ_PROMPT_ATTEMPT; attempts++) {
+                        int attempt = 0;
+                        while (!getPrompt && attempt < 
MAX_READ_PROMPT_ATTEMPT) {
                             while ((c = in.read()) != -1) {
-                                attempts = 0; // we manage to read something, 
reset numer of
-                                // attempts
+                                // we managed to read something, reset number 
of attempts
+                                attempt = 0;
                                 response.append((char) c);
                                 if (response.length() >= PROMPT.length()
                                         && 
response.substring(response.length() - PROMPT.length(),
@@ -405,6 +406,7 @@ public class VsftpRepository extends AbstractRepository {
                                     break;
                                 }
                             }
+                            attempt++;
                         }
                         if (getPrompt) {
                             // wait enough for error stream to be fully read
@@ -457,12 +459,14 @@ public class VsftpRepository extends AbstractRepository {
         } else if (!done[0]) {
             if (reader != null && reader.isAlive()) {
                 reader.interrupt();
-                for (int i = 0; i < MAX_READER_ALIVE_ATTEMPT && 
reader.isAlive(); i++) {
+                int attempt = 0;
+                while (attempt < MAX_READER_ALIVE_ATTEMPT && reader.isAlive()) 
{
                     try {
                         Thread.sleep(READER_ALIVE_SLEEP_TIME);
                     } catch (InterruptedException e) {
                         break;
                     }
+                    attempt++;
                 }
                 if (reader.isAlive()) {
                     reader.stop(); // no way to interrupt it non abruptly

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/69207179/src/java/org/apache/ivy/plugins/resolver/AbstractPatternsBasedResolver.java
----------------------------------------------------------------------
diff --git 
a/src/java/org/apache/ivy/plugins/resolver/AbstractPatternsBasedResolver.java 
b/src/java/org/apache/ivy/plugins/resolver/AbstractPatternsBasedResolver.java
index 5a3765b..6872f30 100644
--- 
a/src/java/org/apache/ivy/plugins/resolver/AbstractPatternsBasedResolver.java
+++ 
b/src/java/org/apache/ivy/plugins/resolver/AbstractPatternsBasedResolver.java
@@ -24,7 +24,6 @@ import java.util.Collections;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.HashSet;
-import java.util.Iterator;
 import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Map;
@@ -92,16 +91,17 @@ public abstract class AbstractPatternsBasedResolver extends 
BasicResolver {
         List<ResolvedResource> resolvedResources = new ArrayList<>();
         Set<String> foundRevisions = new HashSet<>();
         boolean dynamic = 
getSettings().getVersionMatcher().isDynamic(moduleRevision);
-        boolean stop = false;
-        for (Iterator<String> iter = patternList.iterator(); iter.hasNext() && 
!stop;) {
-            String pattern = iter.next();
+        for (String pattern : patternList) {
             ResolvedResource rres = findResourceUsingPattern(moduleRevision, 
pattern, artifact,
                 rmdparser, date);
             if ((rres != null) && 
!foundRevisions.contains(rres.getRevision())) {
                 // only add the first found ResolvedResource for each revision
                 foundRevisions.add(rres.getRevision());
                 resolvedResources.add(rres);
-                stop = !dynamic; // stop iterating if we are not searching a 
dynamic revision
+                if (!dynamic) {
+                    // stop iterating if we are not searching a dynamic 
revision
+                    break;
+                }
             }
         }
 
@@ -158,6 +158,7 @@ public abstract class AbstractPatternsBasedResolver extends 
BasicResolver {
         return names;
     }
 
+    @SuppressWarnings("unchecked")
     @Override
     public Map<String, String>[] listTokenValues(String[] tokens, Map<String, 
Object> criteria) {
         Set<Map<String, String>> result = new LinkedHashSet<>();

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/69207179/src/java/org/apache/ivy/plugins/resolver/AbstractResolver.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/plugins/resolver/AbstractResolver.java 
b/src/java/org/apache/ivy/plugins/resolver/AbstractResolver.java
index 1d66f45..59148de 100644
--- a/src/java/org/apache/ivy/plugins/resolver/AbstractResolver.java
+++ b/src/java/org/apache/ivy/plugins/resolver/AbstractResolver.java
@@ -174,6 +174,7 @@ public abstract class AbstractResolver implements 
DependencyResolver, HasLatestS
         return new String[0];
     }
 
+    @SuppressWarnings("unchecked")
     public Map<String, String>[] listTokenValues(String[] tokens, Map<String, 
Object> criteria) {
         return new Map[0];
     }

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/69207179/src/java/org/apache/ivy/plugins/resolver/BasicResolver.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/plugins/resolver/BasicResolver.java 
b/src/java/org/apache/ivy/plugins/resolver/BasicResolver.java
index b45db09..780cc05 100644
--- a/src/java/org/apache/ivy/plugins/resolver/BasicResolver.java
+++ b/src/java/org/apache/ivy/plugins/resolver/BasicResolver.java
@@ -95,7 +95,6 @@ public abstract class BasicResolver extends AbstractResolver {
      * converted in a message (either error or verbose) and returning null
      * </p>
      */
-    @SuppressWarnings("serial")
     private static class UnresolvedDependencyException extends 
RuntimeException {
         private static final long serialVersionUID = 1L;
 
@@ -660,8 +659,8 @@ public abstract class BasicResolver extends 
AbstractResolver {
         List<ModuleRevisionId> foundBlacklisted = new ArrayList<>();
         IvyContext context = IvyContext.getContext();
 
-        for (ListIterator<ArtifactInfo> iter = 
sorted.listIterator(sorted.size()); iter
-                .hasPrevious();) {
+        ListIterator<ArtifactInfo> iter = sorted.listIterator(sorted.size());
+        while (iter.hasPrevious()) {
             ResolvedResource rres = (ResolvedResource) iter.previous();
             // we start by filtering based on information already available,
             // even though we don't even know if the resource actually exist.
@@ -780,7 +779,7 @@ public abstract class BasicResolver extends 
AbstractResolver {
     }
 
     protected void logAttempt(String attempt) {
-        Artifact currentArtifact = (Artifact) 
IvyContext.getContext().get(getName() + ".artifact");
+        Artifact currentArtifact = IvyContext.getContext().get(getName() + 
".artifact");
         if (currentArtifact != null) {
             logArtifactAttempt(currentArtifact, attempt);
         } else {
@@ -795,10 +794,9 @@ public abstract class BasicResolver extends 
AbstractResolver {
             Message.warn("  " + m);
         }
         for (Map.Entry<Artifact, List<String>> entry : artattempts.entrySet()) 
{
-            Artifact art = entry.getKey();
             List<String> attempts = entry.getValue();
             if (attempts != null) {
-                Message.warn("  -- artifact " + art + ":");
+                Message.warn("  -- artifact " + entry.getKey() + ":");
                 for (String m : attempts) {
                     Message.warn("  " + m);
                 }

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/69207179/src/java/org/apache/ivy/plugins/resolver/ChainResolver.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/plugins/resolver/ChainResolver.java 
b/src/java/org/apache/ivy/plugins/resolver/ChainResolver.java
index 18ce352..5581f41 100644
--- a/src/java/org/apache/ivy/plugins/resolver/ChainResolver.java
+++ b/src/java/org/apache/ivy/plugins/resolver/ChainResolver.java
@@ -180,6 +180,7 @@ public class ChainResolver extends AbstractResolver {
         return null;
     }
 
+    @SuppressWarnings("unchecked")
     @Override
     public Map<String, String>[] listTokenValues(String[] tokens, Map<String, 
Object> criteria) {
         Set<Map<String, String>> result = new HashSet<>();

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/69207179/src/java/org/apache/ivy/plugins/resolver/FileSystemResolver.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/plugins/resolver/FileSystemResolver.java 
b/src/java/org/apache/ivy/plugins/resolver/FileSystemResolver.java
index f217693..c2bb7c9 100644
--- a/src/java/org/apache/ivy/plugins/resolver/FileSystemResolver.java
+++ b/src/java/org/apache/ivy/plugins/resolver/FileSystemResolver.java
@@ -155,18 +155,17 @@ public class FileSystemResolver extends 
RepositoryResolver {
                 Message.info("\tpublish committed: moved " + 
transactionTempDir + " \n\t\tto "
                         + transactionDestDir);
             } catch (IOException ex) {
-                IOException commitEx;
+                String message;
                 try {
                     getFileRepository().delete(transactionTempDir);
-                    commitEx = new IOException("publish transaction commit 
error for "
-                            + transactionDestDir + ": rolled back");
+                    message = "publish transaction commit error for "
+                                + transactionDestDir + ": rolled back";
                 } catch (IOException deleteEx) {
-                    commitEx = new IOException("publish transaction commit 
error for "
-                            + transactionDestDir + ": rollback impossible 
either, "
-                            + "please remove " + transactionTempDir + " 
manually");
+                    message = "publish transaction commit error for "
+                                + transactionDestDir + ": rollback impossible 
either, "
+                                + "please remove " + transactionTempDir + " 
manually";
                 }
-                commitEx.initCause(ex);
-                throw commitEx;
+                throw new IOException(message, ex);
             } finally {
                 closeTransaction();
             }
@@ -203,9 +202,9 @@ public class FileSystemResolver extends RepositoryResolver {
     protected Collection<String> filterNames(Collection<String> values) {
         if (supportTransaction()) {
             values = super.filterNames(values);
-            for (Iterator<String> iterator = values.iterator(); 
iterator.hasNext();) {
-                String v = iterator.next();
-                if (v.endsWith(TRANSACTION_DESTINATION_SUFFIX)) {
+            Iterator<String> iterator = values.iterator();
+            while (iterator.hasNext()) {
+                if (iterator.next().endsWith(TRANSACTION_DESTINATION_SUFFIX)) {
                     iterator.remove();
                 }
             }

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/69207179/src/java/org/apache/ivy/plugins/resolver/VsftpResolver.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/plugins/resolver/VsftpResolver.java 
b/src/java/org/apache/ivy/plugins/resolver/VsftpResolver.java
index 07a81da..0ccbacf 100644
--- a/src/java/org/apache/ivy/plugins/resolver/VsftpResolver.java
+++ b/src/java/org/apache/ivy/plugins/resolver/VsftpResolver.java
@@ -20,7 +20,7 @@ package org.apache.ivy.plugins.resolver;
 import org.apache.ivy.plugins.repository.vsftp.VsftpRepository;
 
 /**
- * This resolver uses SecureCRT vsft to access an sftp server. It supports 
listing and publishing.
+ * This resolver uses SecureCRT vsftp to access an sftp server. It supports 
listing and publishing.
  * The server host should absolutely be set using setHost, so does the 
username.
  */
 public class VsftpResolver extends RepositoryResolver {

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/69207179/src/java/org/apache/ivy/plugins/signer/bouncycastle/OpenPGPSignatureGenerator.java
----------------------------------------------------------------------
diff --git 
a/src/java/org/apache/ivy/plugins/signer/bouncycastle/OpenPGPSignatureGenerator.java
 
b/src/java/org/apache/ivy/plugins/signer/bouncycastle/OpenPGPSignatureGenerator.java
index 33b880b..d800d0e 100644
--- 
a/src/java/org/apache/ivy/plugins/signer/bouncycastle/OpenPGPSignatureGenerator.java
+++ 
b/src/java/org/apache/ivy/plugins/signer/bouncycastle/OpenPGPSignatureGenerator.java
@@ -149,11 +149,12 @@ public class OpenPGPSignatureGenerator implements 
SignatureGenerator {
                 new BcKeyFingerprintCalculator());
 
         PGPSecretKey key = null;
-        for (Iterator<PGPSecretKeyRing> it = pgpSec.getKeyRings(); key == null 
&& it.hasNext();) {
+        Iterator<PGPSecretKeyRing> it = pgpSec.getKeyRings();
+        while (key == null && it.hasNext()) {
             PGPSecretKeyRing kRing = it.next();
 
-            for (Iterator<PGPSecretKey> it2 = kRing.getSecretKeys(); key == 
null
-                    && it2.hasNext();) {
+            Iterator<PGPSecretKey> it2 = kRing.getSecretKeys();
+            while (key == null && it2.hasNext()) {
                 PGPSecretKey k = it2.next();
                 if ((keyId == null) && k.isSigningKey()) {
                     key = k;

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/69207179/src/java/org/apache/ivy/plugins/trigger/AbstractTrigger.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/plugins/trigger/AbstractTrigger.java 
b/src/java/org/apache/ivy/plugins/trigger/AbstractTrigger.java
index c588867..5aae2dd 100644
--- a/src/java/org/apache/ivy/plugins/trigger/AbstractTrigger.java
+++ b/src/java/org/apache/ivy/plugins/trigger/AbstractTrigger.java
@@ -33,7 +33,7 @@ import org.apache.ivy.util.filter.Filter;
  * @since 1.4
  */
 public abstract class AbstractTrigger implements Trigger {
-    private Filter filter;
+    private Filter<IvyEvent> filter;
 
     private String event;
 
@@ -41,14 +41,14 @@ public abstract class AbstractTrigger implements Trigger {
 
     private String matcher = PatternMatcher.EXACT;
 
-    public Filter getEventFilter() {
+    public Filter<IvyEvent> getEventFilter() {
         if (filter == null) {
             filter = createFilter();
         }
         return filter;
     }
 
-    private Filter createFilter() {
+    private Filter<IvyEvent> createFilter() {
         return new IvyEventFilter(getEvent(), getFilter(), 
getPatternMatcher());
     }
 

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/69207179/src/java/org/apache/ivy/plugins/trigger/Trigger.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/plugins/trigger/Trigger.java 
b/src/java/org/apache/ivy/plugins/trigger/Trigger.java
index b8987e9..ea4ee5a 100644
--- a/src/java/org/apache/ivy/plugins/trigger/Trigger.java
+++ b/src/java/org/apache/ivy/plugins/trigger/Trigger.java
@@ -17,9 +17,10 @@
  */
 package org.apache.ivy.plugins.trigger;
 
+import org.apache.ivy.core.event.IvyEvent;
 import org.apache.ivy.core.event.IvyListener;
 import org.apache.ivy.util.filter.Filter;
 
 public interface Trigger extends IvyListener {
-    Filter getEventFilter();
+    Filter<IvyEvent> getEventFilter();
 }

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/69207179/src/java/org/apache/ivy/plugins/version/ChainVersionMatcher.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/plugins/version/ChainVersionMatcher.java 
b/src/java/org/apache/ivy/plugins/version/ChainVersionMatcher.java
index 5ab5d71..412e883 100644
--- a/src/java/org/apache/ivy/plugins/version/ChainVersionMatcher.java
+++ b/src/java/org/apache/ivy/plugins/version/ChainVersionMatcher.java
@@ -117,7 +117,8 @@ public class ChainVersionMatcher extends 
AbstractVersionMatcher {
     public boolean accept(ModuleRevisionId askedMrid, ModuleRevisionId 
foundMrid) {
         Checks.checkNotNull(askedMrid, "askedMrid");
         Checks.checkNotNull(foundMrid, "foundMrid");
-        for (Iterator<VersionMatcher> iter = matchers.iterator(); 
iter.hasNext();) {
+        Iterator<VersionMatcher> iter = matchers.iterator();
+        while (iter.hasNext()) {
             VersionMatcher matcher = iter.next();
             if (!iter.hasNext() || matcher.isDynamic(askedMrid)) {
                 return matcher.accept(askedMrid, foundMrid);
@@ -129,7 +130,8 @@ public class ChainVersionMatcher extends 
AbstractVersionMatcher {
     public boolean needModuleDescriptor(ModuleRevisionId askedMrid, 
ModuleRevisionId foundMrid) {
         Checks.checkNotNull(askedMrid, "askedMrid");
         Checks.checkNotNull(foundMrid, "foundMrid");
-        for (Iterator<VersionMatcher> iter = matchers.iterator(); 
iter.hasNext();) {
+        Iterator<VersionMatcher> iter = matchers.iterator();
+        while (iter.hasNext()) {
             VersionMatcher matcher = iter.next();
             if (!iter.hasNext() || matcher.isDynamic(askedMrid)) {
                 return matcher.needModuleDescriptor(askedMrid, foundMrid);
@@ -141,7 +143,8 @@ public class ChainVersionMatcher extends 
AbstractVersionMatcher {
     public boolean accept(ModuleRevisionId askedMrid, ModuleDescriptor 
foundMD) {
         Checks.checkNotNull(askedMrid, "askedMrid");
         Checks.checkNotNull(foundMD, "foundMD");
-        for (Iterator<VersionMatcher> iter = matchers.iterator(); 
iter.hasNext();) {
+        Iterator<VersionMatcher> iter = matchers.iterator();
+        while (iter.hasNext()) {
             VersionMatcher matcher = iter.next();
             if (!iter.hasNext() || matcher.isDynamic(askedMrid)) {
                 return matcher.accept(askedMrid, foundMD);

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/69207179/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 ecb0cbd..6ba2466 100644
--- a/src/java/org/apache/ivy/tools/analyser/JarJarDependencyAnalyser.java
+++ b/src/java/org/apache/ivy/tools/analyser/JarJarDependencyAnalyser.java
@@ -39,21 +39,22 @@ public class JarJarDependencyAnalyser implements 
DependencyAnalyser {
     }
 
     public ModuleDescriptor[] analyze(JarModule[] modules) {
-
         StringBuilder jarjarCmd = new StringBuilder("java -jar \"").append(
             jarjarjarLocation.getAbsolutePath()).append("\" --find --level=jar 
");
         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]);
+        for (JarModule jarModule : modules) {
+            jarModulesMap.put(jarModule.getJar().getAbsolutePath(), jarModule);
             DefaultModuleDescriptor md = 
DefaultModuleDescriptor.newBasicInstance(
-                modules[i].getMrid(), new 
Date(modules[i].getJar().lastModified()));
-            mds.put(modules[i].getMrid(), md);
-            
jarjarCmd.append("\"").append(modules[i].getJar().getAbsolutePath()).append("\"");
-            if (i + 1 < modules.length) {
-                jarjarCmd.append(File.pathSeparator);
-            }
+                    jarModule.getMrid(), new 
Date(jarModule.getJar().lastModified()));
+            mds.put(jarModule.getMrid(), md);
+            
jarjarCmd.append("\"").append(jarModule.getJar().getAbsolutePath()).append("\"");
+            jarjarCmd.append(File.pathSeparator);
+        }
+
+        if (modules.length > 0) {
+            jarjarCmd.setLength(jarjarCmd.length() - 1);
         }
 
         Message.verbose("jarjar command: " + jarjarCmd);

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/69207179/src/java/org/apache/ivy/util/Configurator.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/util/Configurator.java 
b/src/java/org/apache/ivy/util/Configurator.java
index 893ed50..deac6c8 100644
--- a/src/java/org/apache/ivy/util/Configurator.java
+++ b/src/java/org/apache/ivy/util/Configurator.java
@@ -202,7 +202,7 @@ public class Configurator {
         public Object play(Configurator conf, Map<String, String> attValues,
                            Map<String, List<MacroRecord>> macroRecords) {
             for (Attribute att : attributes.values()) {
-               String val = attValues.get(att.getName());
+                String val = attValues.get(att.getName());
                 if (val == null) {
                     if (att.getDefault() == null) {
                         throw new IllegalArgumentException("attribute " + 
att.getName()
@@ -393,11 +393,11 @@ public class Configurator {
             return addConfiguredMethods.get(name);
         }
 
-        public Method getAddMethod(Class type) {
+        public Method getAddMethod(Class<?> type) {
             return getTypeMatchingMethod(type, typeAddMethods);
         }
 
-        public Method getAddConfiguredMethod(Class type) {
+        public Method getAddConfiguredMethod(Class<?> type) {
             return getTypeMatchingMethod(type, typeAddConfiguredMethods);
         }
 
@@ -432,13 +432,13 @@ public class Configurator {
     // stack in which the top is current configured object descriptor
     private Stack<ObjectDescriptor> objectStack = new Stack<>();
 
-    private static final List TRUE_VALUES = Arrays.asList("true", "yes", "on");
+    private static final List<String> TRUE_VALUES = Arrays.asList("true", 
"yes", "on");
 
     public void typeDef(String name, String className) throws 
ClassNotFoundException {
         typeDef(name, Class.forName(className));
     }
 
-    public void typeDef(String name, Class clazz) {
+    public void typeDef(String name, Class<?> clazz) {
         typedefs.put(name, clazz);
     }
 
@@ -458,6 +458,7 @@ public class Configurator {
         objectStack.push(new ObjectDescriptor(object, name));
     }
 
+    @SuppressWarnings("rawtypes")
     public Object startCreateChild(String name) {
         if (objectStack.isEmpty()) {
             throw new IllegalStateException("set root before creating child");
@@ -488,7 +489,7 @@ public class Configurator {
             setCurrent(macro, name);
             return macro;
         }
-        Class childClass = typedefs.get(name);
+        Class<?> childClass = typedefs.get(name);
         Method addChild = null;
         try {
             if (childClass != null) {
@@ -512,7 +513,7 @@ public class Configurator {
                 if (addChild != null) {
                     childClass = addChild.getParameterTypes()[0];
                     if (Map.class == childClass) {
-                        child = new HashMap();
+                        child = new HashMap<>();
                     } else {
                         child = childClass.newInstance();
                     }
@@ -547,7 +548,9 @@ public class Configurator {
         }
     }
 
-    private Object addChild(ObjectDescriptor parentOD, Class childClass, 
String name, Object child)
+    @SuppressWarnings("rawtypes")
+    private Object addChild(ObjectDescriptor parentOD, Class<?> childClass, 
String name,
+            Object child)
             throws InstantiationException, IllegalAccessException, 
InvocationTargetException {
         Object parent = parentOD.getObject();
         if (parent instanceof MacroRecord) {
@@ -569,7 +572,7 @@ public class Configurator {
         if (addChild != null) {
             if (child == null) {
                 if (Map.class == childClass) {
-                    child = new HashMap();
+                    child = new HashMap<>();
                 } else {
                     child = childClass.newInstance();
                 }
@@ -589,6 +592,7 @@ public class Configurator {
         return (od.getObject() instanceof MacroDef);
     }
 
+    @SuppressWarnings("unchecked")
     public void setAttribute(String attributeName, String value) {
         if (objectStack.isEmpty()) {
             throw new IllegalStateException("set root before setting 
attribute");
@@ -726,7 +730,7 @@ public class Configurator {
         macrodefs.put(macrodef.getName(), macrodef);
     }
 
-    public Class getTypeDef(String name) {
+    public Class<?> getTypeDef(String name) {
         return typedefs.get(name);
     }
 

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/69207179/src/java/org/apache/ivy/util/Credentials.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/util/Credentials.java 
b/src/java/org/apache/ivy/util/Credentials.java
index 719e7af..6e70d63 100644
--- a/src/java/org/apache/ivy/util/Credentials.java
+++ b/src/java/org/apache/ivy/util/Credentials.java
@@ -82,16 +82,8 @@ public class Credentials {
     }
 
     public boolean equals(Object o) {
-        if (o == null) {
-            return false;
-        }
-
-        if (o instanceof Credentials) {
-            Credentials c = (Credentials) o;
-            return getKey().equals(c.getKey());
-        }
+        return o instanceof Credentials && getKey().equals(((Credentials) 
o).getKey());
 
-        return false;
     }
 
     public int hashCode() {

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/69207179/src/java/org/apache/ivy/util/FileUtil.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/util/FileUtil.java 
b/src/java/org/apache/ivy/util/FileUtil.java
index d78afee..56ada7e 100644
--- a/src/java/org/apache/ivy/util/FileUtil.java
+++ b/src/java/org/apache/ivy/util/FileUtil.java
@@ -749,8 +749,8 @@ public final class FileUtil {
 
         @Override
         public String toString() {
-            return "Dissected Path [root=" + root + ", remainingPath=" +
-                    remainingPath + "]";
+            return "Dissected Path [root=" + root + ", remainingPath="
+                    + remainingPath + "]";
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/69207179/src/java/org/apache/ivy/util/MemoryUtil.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/util/MemoryUtil.java 
b/src/java/org/apache/ivy/util/MemoryUtil.java
index db425f1..dc80730 100644
--- a/src/java/org/apache/ivy/util/MemoryUtil.java
+++ b/src/java/org/apache/ivy/util/MemoryUtil.java
@@ -35,7 +35,7 @@ public final class MemoryUtil {
      *            the class to evaluate.
      * @return the estimated size of instance, in bytes.
      */
-    public static long sizeOf(Class clazz) {
+    public static long sizeOf(Class<?> clazz) {
         long size = 0;
         Object[] objects = new Object[SAMPLING_SIZE];
         try {

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/69207179/src/java/org/apache/ivy/util/MessageLoggerHelper.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/util/MessageLoggerHelper.java 
b/src/java/org/apache/ivy/util/MessageLoggerHelper.java
index beb4ad0..093efe1 100644
--- a/src/java/org/apache/ivy/util/MessageLoggerHelper.java
+++ b/src/java/org/apache/ivy/util/MessageLoggerHelper.java
@@ -21,7 +21,7 @@ import java.util.List;
 
 public final class MessageLoggerHelper {
     public static void sumupProblems(MessageLogger logger) {
-        List myProblems = logger.getProblems();
+        List<String> myProblems = logger.getProblems();
         if (myProblems.size() > 0) {
             List<String> myWarns = logger.getWarns();
             List<String> myErrors = logger.getErrors();

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/69207179/src/java/org/apache/ivy/util/StringUtils.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/util/StringUtils.java 
b/src/java/org/apache/ivy/util/StringUtils.java
index 26ade15..6e4931a 100644
--- a/src/java/org/apache/ivy/util/StringUtils.java
+++ b/src/java/org/apache/ivy/util/StringUtils.java
@@ -142,8 +142,7 @@ public final class StringUtils {
             return null;
         }
         StringBuilder buf = new StringBuilder();
-        for (int i = 0; i < str.length(); i++) {
-            char c = str.charAt(i);
+        for (char c : str.toCharArray()) {
             if (c >= SHIFTS.length) {
                 throw new IllegalArgumentException(
                         "encrypt method can only be used with simple 
characters. '" + c
@@ -166,8 +165,8 @@ public final class StringUtils {
             return null;
         }
         StringBuilder buf = new StringBuilder();
-        for (int i = 0; i < str.length(); i++) {
-            buf.append(decrypt(str.charAt(i)));
+        for (char c : str.toCharArray()) {
+            buf.append(decrypt(c));
         }
         return buf.toString();
     }

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/69207179/src/java/org/apache/ivy/util/filter/AndFilter.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/util/filter/AndFilter.java 
b/src/java/org/apache/ivy/util/filter/AndFilter.java
index f747469..bfa945f 100644
--- a/src/java/org/apache/ivy/util/filter/AndFilter.java
+++ b/src/java/org/apache/ivy/util/filter/AndFilter.java
@@ -17,25 +17,25 @@
  */
 package org.apache.ivy.util.filter;
 
-public class AndFilter implements Filter {
-    private Filter op1;
+public class AndFilter<T> implements Filter<T> {
+    private Filter<T> op1;
 
-    private Filter op2;
+    private Filter<T> op2;
 
-    public AndFilter(Filter op1, Filter op2) {
+    public AndFilter(Filter<T> op1, Filter<T> op2) {
         this.op1 = op1;
         this.op2 = op2;
     }
 
-    public Filter getOp1() {
+    public Filter<T> getOp1() {
         return op1;
     }
 
-    public Filter getOp2() {
+    public Filter<T> getOp2() {
         return op2;
     }
 
-    public boolean accept(Object o) {
+    public boolean accept(T o) {
         return op1.accept(o) && op2.accept(o);
     }
 }

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/69207179/src/java/org/apache/ivy/util/filter/FilterHelper.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/util/filter/FilterHelper.java 
b/src/java/org/apache/ivy/util/filter/FilterHelper.java
index 04e8011..7664c09 100644
--- a/src/java/org/apache/ivy/util/filter/FilterHelper.java
+++ b/src/java/org/apache/ivy/util/filter/FilterHelper.java
@@ -73,9 +73,9 @@ public final class FilterHelper {
             return col;
         }
         Collection<T> ret = new ArrayList<>(col);
-        for (Iterator<T> iter = ret.iterator(); iter.hasNext();) {
-            T element = iter.next();
-            if (!filter.accept(element)) {
+        Iterator<T> iter = ret.iterator();
+        while (iter.hasNext()) {
+            if (!filter.accept(iter.next())) {
                 iter.remove();
             }
         }

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/69207179/src/java/org/apache/ivy/util/filter/NoFilter.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/util/filter/NoFilter.java 
b/src/java/org/apache/ivy/util/filter/NoFilter.java
index cdaf88d..c89aab5 100644
--- a/src/java/org/apache/ivy/util/filter/NoFilter.java
+++ b/src/java/org/apache/ivy/util/filter/NoFilter.java
@@ -17,18 +17,20 @@
  */
 package org.apache.ivy.util.filter;
 
-public final class NoFilter implements Filter {
+public final class NoFilter<T> implements Filter<T> {
 
+    @SuppressWarnings("rawtypes")
     public static final Filter INSTANCE = new NoFilter();
 
+    @SuppressWarnings("unchecked")
     public static <T> Filter<T> instance() {
-        return INSTANCE;
+        return (Filter<T>) INSTANCE;
     }
 
     private NoFilter() {
     }
 
-    public boolean accept(Object o) {
+    public boolean accept(T o) {
         return true;
     }
 

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/69207179/src/java/org/apache/ivy/util/filter/NotFilter.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/util/filter/NotFilter.java 
b/src/java/org/apache/ivy/util/filter/NotFilter.java
index 7d55004..3401d60 100644
--- a/src/java/org/apache/ivy/util/filter/NotFilter.java
+++ b/src/java/org/apache/ivy/util/filter/NotFilter.java
@@ -17,18 +17,18 @@
  */
 package org.apache.ivy.util.filter;
 
-public class NotFilter implements Filter {
-    private Filter op;
+public class NotFilter<T> implements Filter<T> {
+    private Filter<T> op;
 
-    public NotFilter(Filter op) {
+    public NotFilter(Filter<T> op) {
         this.op = op;
     }
 
-    public Filter getOp() {
+    public Filter<T> getOp() {
         return op;
     }
 
-    public boolean accept(Object o) {
+    public boolean accept(T o) {
         return !op.accept(o);
     }
 }

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/69207179/src/java/org/apache/ivy/util/filter/OrFilter.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/util/filter/OrFilter.java 
b/src/java/org/apache/ivy/util/filter/OrFilter.java
index 46f1571..d372b02 100644
--- a/src/java/org/apache/ivy/util/filter/OrFilter.java
+++ b/src/java/org/apache/ivy/util/filter/OrFilter.java
@@ -17,25 +17,25 @@
  */
 package org.apache.ivy.util.filter;
 
-public class OrFilter implements Filter {
-    private Filter op1;
+public class OrFilter<T> implements Filter<T> {
+    private Filter<T> op1;
 
-    private Filter op2;
+    private Filter<T> op2;
 
-    public OrFilter(Filter op1, Filter op2) {
+    public OrFilter(Filter<T> op1, Filter<T> op2) {
         this.op1 = op1;
         this.op2 = op2;
     }
 
-    public Filter getOp1() {
+    public Filter<T> getOp1() {
         return op1;
     }
 
-    public Filter getOp2() {
+    public Filter<T> getOp2() {
         return op2;
     }
 
-    public boolean accept(Object o) {
+    public boolean accept(T o) {
         return op1.accept(o) || op2.accept(o);
     }
 }

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/69207179/src/java/org/apache/ivy/util/url/HttpClientHandler.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/util/url/HttpClientHandler.java 
b/src/java/org/apache/ivy/util/url/HttpClientHandler.java
index f0a0c96..2c25026 100644
--- a/src/java/org/apache/ivy/util/url/HttpClientHandler.java
+++ b/src/java/org/apache/ivy/util/url/HttpClientHandler.java
@@ -177,7 +177,7 @@ public class HttpClientHandler extends AbstractURLHandler {
         return UNAVAILABLE;
     }
 
-    private boolean checkStatusCode(URL url, HttpMethodBase method) throws 
IOException {
+    private boolean checkStatusCode(URL url, HttpMethodBase method) {
         int status = method.getStatusCode();
         if (status == HttpStatus.SC_OK) {
             return true;

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/69207179/src/java/org/apache/ivy/util/url/URLHandlerRegistry.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/util/url/URLHandlerRegistry.java 
b/src/java/org/apache/ivy/util/url/URLHandlerRegistry.java
index 6baa758..8cf62de 100644
--- a/src/java/org/apache/ivy/util/url/URLHandlerRegistry.java
+++ b/src/java/org/apache/ivy/util/url/URLHandlerRegistry.java
@@ -50,7 +50,7 @@ public final class URLHandlerRegistry {
             // http-client-3.x is available
             
Class.forName("org.apache.commons.httpclient.params.HttpClientParams");
 
-            Class handler = 
Class.forName("org.apache.ivy.util.url.HttpClientHandler");
+            Class<?> handler = 
Class.forName("org.apache.ivy.util.url.HttpClientHandler");
             Message.verbose("jakarta commons httpclient detected: using it for 
http downloading");
             return (URLHandler) handler.newInstance();
         } catch (ClassNotFoundException e) {

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/69207179/test/custom-classpath/org/apache/ivy/plugins/resolver/CustomResolver.java
----------------------------------------------------------------------
diff --git 
a/test/custom-classpath/org/apache/ivy/plugins/resolver/CustomResolver.java 
b/test/custom-classpath/org/apache/ivy/plugins/resolver/CustomResolver.java
index cb6b772..082c735 100644
--- a/test/custom-classpath/org/apache/ivy/plugins/resolver/CustomResolver.java
+++ b/test/custom-classpath/org/apache/ivy/plugins/resolver/CustomResolver.java
@@ -20,7 +20,7 @@ package org.apache.ivy.plugins.resolver;
 /**
  * This custom resolver is only used to test custom classpath, and has 
absolutely
  * no interest in itself
- * 
+ *
  */
 public class CustomResolver extends IBiblioResolver {
 

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/69207179/test/java/org/apache/ivy/TestHelper.java
----------------------------------------------------------------------
diff --git a/test/java/org/apache/ivy/TestHelper.java 
b/test/java/org/apache/ivy/TestHelper.java
index ac8b669..e20144b 100644
--- a/test/java/org/apache/ivy/TestHelper.java
+++ b/test/java/org/apache/ivy/TestHelper.java
@@ -17,6 +17,8 @@
  */
 package org.apache.ivy;
 
+import static org.junit.Assert.assertEquals;
+
 import java.io.File;
 import java.io.IOException;
 import java.lang.reflect.Field;
@@ -49,8 +51,6 @@ import org.apache.tools.ant.DefaultLogger;
 import org.apache.tools.ant.Project;
 import org.apache.tools.ant.taskdefs.Delete;
 
-import static org.junit.Assert.assertEquals;
-
 public class TestHelper {
 
     public static DefaultArtifact newArtifact(String organisation, String 
module, String revision,
@@ -120,7 +120,7 @@ public class TestHelper {
     /**
      * Returns an array of {@link ModuleRevisionId} corresponding to the given 
comma separated list
      * of their text representation.
-     * 
+     *
      * @param mrids
      *            the text representation of the {@link ModuleRevisionId}
      * @return an array of {@link ModuleRevisionId}
@@ -134,25 +134,25 @@ public class TestHelper {
      * Parses a string representation of a module descriptor in micro ivy 
format.
      * <p>
      * Examples:
-     * 
+     *
      * <pre>
      * #A;1
      * </pre>
-     * 
+     *
      * <hr/>
-     * 
+     *
      * <pre>
      * #A;2-> #B;[1.0,1.5]
      * </pre>
-     * 
+     *
      * <hr/>
-     * 
+     *
      * <pre>
      * #A;3-> { #B;[1.0,1.5] #C;[2.0,2.5] }
      * </pre>
-     * 
+     *
      * </p>
-     * 
+     *
      * @param microIvy
      *            the micro ivy description of the module descriptor
      * @return the parsed module descriptor
@@ -197,7 +197,7 @@ public class TestHelper {
     /**
      * Parses a collection of module descriptors in the micro ivy format, 
separated by double semi
      * columns.
-     * 
+     *
      * @param microIvy
      *            the text representation of the collection of module 
descriptors
      * @return the collection of module descriptors parsed
@@ -212,7 +212,7 @@ public class TestHelper {
 
     /**
      * Fills a repository with a set of module, using empty files for 
published artifacts.
-     * 
+     *
      * @param resolver
      *            the resolver to use to publish the modules
      * @param mds
@@ -256,6 +256,8 @@ public class TestHelper {
      * <p>
      * When finished you should call {@link #cleanTestRepository()}
      * </p>
+     *
+     * @return FileSystemResolver
      */
     public static FileSystemResolver newTestRepository() {
         FileSystemResolver testRepository = new FileSystemResolver();
@@ -270,7 +272,7 @@ public class TestHelper {
 
     /**
      * Cleans up the test repository.
-     * 
+     *
      * @see #newTestRepository()
      */
     public static void cleanTestRepository() {
@@ -279,7 +281,7 @@ public class TestHelper {
 
     /**
      * Cleans up the test repository and cache.
-     * 
+     *
      * @see #newTestRepository()
      */
     public static void cleanTest() {
@@ -290,7 +292,7 @@ public class TestHelper {
     /**
      * Init a test resolver as default, useful combined with
      * {@link #fillRepository(DependencyResolver, Collection)}.
-     * 
+     *
      * @param settings
      *            the settings to initialize
      * @return test settings
@@ -304,7 +306,7 @@ public class TestHelper {
 
     /**
      * Create basic resolve data using the given settings
-     * 
+     *
      * @param settings
      *            the settings to use to create the resolve data
      * @return basic resolve data useful for testing
@@ -316,7 +318,7 @@ public class TestHelper {
 
     /**
      * Create basic resolve options using the given settings
-     * 
+     *
      * @param settings
      *            the settings to use to create the resolve options
      * @return the basic resolve options, useful for testing

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/69207179/test/java/org/apache/ivy/ant/AntCallTriggerTest.java
----------------------------------------------------------------------
diff --git a/test/java/org/apache/ivy/ant/AntCallTriggerTest.java 
b/test/java/org/apache/ivy/ant/AntCallTriggerTest.java
index 1383366..1892ac3 100644
--- a/test/java/org/apache/ivy/ant/AntCallTriggerTest.java
+++ b/test/java/org/apache/ivy/ant/AntCallTriggerTest.java
@@ -26,7 +26,6 @@ import java.io.PrintStream;
 import java.util.Vector;
 
 import org.apache.ivy.util.FileUtil;
-
 import org.apache.tools.ant.BuildException;
 import org.apache.tools.ant.BuildLogger;
 import org.apache.tools.ant.DefaultLogger;
@@ -37,7 +36,6 @@ import org.apache.tools.ant.Project;
 import org.apache.tools.ant.ProjectHelper;
 import org.apache.tools.ant.input.DefaultInputHandler;
 import org.apache.tools.ant.input.InputHandler;
-
 import org.junit.After;
 import org.junit.Test;
 
@@ -163,6 +161,8 @@ public class AntCallTriggerTest {
      *
      * @param project
      *            The project to add listeners to. Must not be 
<code>null</code>.
+     * @param level
+     *            log level
      */
     protected void addBuildListeners(Project project, int level) {
 

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/69207179/test/java/org/apache/ivy/ant/IvyCacheFilesetTest.java
----------------------------------------------------------------------
diff --git a/test/java/org/apache/ivy/ant/IvyCacheFilesetTest.java 
b/test/java/org/apache/ivy/ant/IvyCacheFilesetTest.java
index b02c78c..cc52a66 100644
--- a/test/java/org/apache/ivy/ant/IvyCacheFilesetTest.java
+++ b/test/java/org/apache/ivy/ant/IvyCacheFilesetTest.java
@@ -17,27 +17,29 @@
  */
 package org.apache.ivy.ant;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
 import java.io.File;
 import java.util.Arrays;
 import java.util.List;
 
 import org.apache.ivy.TestHelper;
 import org.apache.ivy.core.report.ArtifactDownloadReport;
-
 import org.apache.tools.ant.BuildException;
 import org.apache.tools.ant.DirectoryScanner;
 import org.apache.tools.ant.Project;
 import org.apache.tools.ant.taskdefs.Delete;
 import org.apache.tools.ant.types.FileSet;
-
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
-import static org.junit.Assert.*;
-
 public class IvyCacheFilesetTest {
 
     private IvyCacheFileset fileset;
@@ -263,7 +265,7 @@ public class IvyCacheFilesetTest {
         );
         assertNotNull(fileset.requireCommonBaseDir(reports));
     }
-    
+
     private ArtifactDownloadReport artifactDownloadReport(File localFile) {
         ArtifactDownloadReport report = new ArtifactDownloadReport(null);
         report.setLocalFile(localFile);

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/69207179/test/java/org/apache/ivy/ant/IvyConfigureTest.java
----------------------------------------------------------------------
diff --git a/test/java/org/apache/ivy/ant/IvyConfigureTest.java 
b/test/java/org/apache/ivy/ant/IvyConfigureTest.java
index 8568f62..11fdd69 100644
--- a/test/java/org/apache/ivy/ant/IvyConfigureTest.java
+++ b/test/java/org/apache/ivy/ant/IvyConfigureTest.java
@@ -17,6 +17,10 @@
  */
 package org.apache.ivy.ant;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
 import java.io.File;
 import java.util.List;
 
@@ -27,18 +31,14 @@ import org.apache.ivy.core.settings.IvySettings;
 import org.apache.ivy.plugins.resolver.DependencyResolver;
 import org.apache.ivy.plugins.resolver.IBiblioResolver;
 import org.apache.ivy.plugins.resolver.IvyRepResolver;
-
 import org.apache.tools.ant.BuildException;
 import org.apache.tools.ant.Project;
 import org.apache.tools.ant.types.Reference;
-
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
-import static org.junit.Assert.*;
-
 public class IvyConfigureTest {
     private IvyConfigure configure;
 
@@ -56,7 +56,6 @@ public class IvyConfigureTest {
         configure.setProject(project);
     }
 
-    @SuppressWarnings("deprecation")
     private Ivy getIvyInstance() {
         IvyTask task = new IvyTask() {
             public void doExecute() throws BuildException {
@@ -65,7 +64,7 @@ public class IvyConfigureTest {
         task.setProject(project);
         task.init();
 
-        Reference ref = new Reference(configure.getSettingsId());
+        Reference ref = new Reference(task.getProject(), 
configure.getSettingsId());
         // ref.setProject(project);
         task.setSettingsRef(ref);
         return task.getIvyInstance();

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/69207179/test/java/org/apache/ivy/ant/IvyDeliverTest.java
----------------------------------------------------------------------
diff --git a/test/java/org/apache/ivy/ant/IvyDeliverTest.java 
b/test/java/org/apache/ivy/ant/IvyDeliverTest.java
index 0e94d4d..5bcc689 100644
--- a/test/java/org/apache/ivy/ant/IvyDeliverTest.java
+++ b/test/java/org/apache/ivy/ant/IvyDeliverTest.java
@@ -135,10 +135,9 @@ public class IvyDeliverTest {
 
        try (BufferedReader merged = new BufferedReader(new 
FileReader(delivered));
             BufferedReader expected = new BufferedReader(new 
InputStreamReader(getClass().getResourceAsStream("ivy-extends-merged.xml")))) {
-           for (String mergeLine = merged.readLine(), expectedLine = 
expected.readLine();
-                mergeLine != null && expectedLine != null;
-                mergeLine = merged.readLine(), expectedLine = 
expected.readLine()) {
-
+           String mergeLine = merged.readLine();
+           String expectedLine = expected.readLine();
+           while (mergeLine != null && expectedLine != null) {
                mergeLine = mergeLine.trim();
                expectedLine = expectedLine.trim();
 
@@ -148,6 +147,8 @@ public class IvyDeliverTest {
                }
 
                ++lineNo;
+               mergeLine = merged.readLine();
+               expectedLine = expected.readLine();
            }
        }
     }

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/69207179/test/java/org/apache/ivy/ant/IvyPublishTest.java
----------------------------------------------------------------------
diff --git a/test/java/org/apache/ivy/ant/IvyPublishTest.java 
b/test/java/org/apache/ivy/ant/IvyPublishTest.java
index 077df58..e20c0ad 100644
--- a/test/java/org/apache/ivy/ant/IvyPublishTest.java
+++ b/test/java/org/apache/ivy/ant/IvyPublishTest.java
@@ -138,9 +138,9 @@ public class IvyPublishTest {
             try (BufferedReader expected = new BufferedReader(new 
InputStreamReader(getClass()
                     .getResourceAsStream(expectedFilename)))) {
                 int lineNo = 1;
-                for (String mergeLine = merged.readLine(), expectedLine = 
expected.readLine(); mergeLine != null
-                        && expectedLine != null; mergeLine = 
merged.readLine(), expectedLine = expected
-                        .readLine()) {
+                String mergeLine = merged.readLine();
+                String expectedLine = expected.readLine();
+                while (mergeLine != null && expectedLine != null) {
 
                     // strip timestamps for the comparison
                     if (mergeLine.contains("<info")) {
@@ -153,6 +153,8 @@ public class IvyPublishTest {
                     }
 
                     ++lineNo;
+                    mergeLine = merged.readLine();
+                    expectedLine = expected.readLine();
                 }
             }
         }

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/69207179/test/java/org/apache/ivy/ant/IvyResourcesTest.java
----------------------------------------------------------------------
diff --git a/test/java/org/apache/ivy/ant/IvyResourcesTest.java 
b/test/java/org/apache/ivy/ant/IvyResourcesTest.java
index 3103553..2639087 100644
--- a/test/java/org/apache/ivy/ant/IvyResourcesTest.java
+++ b/test/java/org/apache/ivy/ant/IvyResourcesTest.java
@@ -79,7 +79,7 @@ public class IvyResourcesTest {
         dependency.setName("mod1.2");
         dependency.setRev("2.0");
 
-        List files = asList(resources);
+        List<File> files = asList(resources);
         assertEquals(1, files.size());
         assertEquals(getArchiveFileInCache("org1", "mod1.2", "2.0", "mod1.2", 
"jar", "jar"),
             files.get(0));
@@ -97,7 +97,7 @@ public class IvyResourcesTest {
         dependency.setName("mod2.3");
         dependency.setRev("0.7");
 
-        List files = asList(resources);
+        List<File> files = asList(resources);
         assertEquals(5, files.size());
         assertTrue(files.contains(getArchiveFileInCache("org1", "mod1.2", 
"2.0", "mod1.2", "jar",
             "jar")));
@@ -124,7 +124,7 @@ public class IvyResourcesTest {
         dependency.setRev("0.10");
         dependency.setConf("A");
 
-        List files = asList(resources);
+        List<File> files = asList(resources);
         assertEquals(3, files.size());
         assertTrue(files.contains(getArchiveFileInCache("org1", "mod1.2", 
"2.0", "mod1.2", "jar",
             "jar")));
@@ -147,7 +147,7 @@ public class IvyResourcesTest {
         dependency.setRev("0.10");
         dependency.setConf("B");
 
-        List files = asList(resources);
+        List<File> files = asList(resources);
         assertEquals(4, files.size());
         assertTrue(files.contains(getArchiveFileInCache("org1", "mod1.2", 
"2.0", "mod1.2", "jar",
             "jar")));
@@ -176,7 +176,7 @@ public class IvyResourcesTest {
         exclude.setOrg("org1");
         exclude.setModule("mod1.1");
 
-        List files = asList(resources);
+        List<File> files = asList(resources);
         assertEquals(3, files.size());
         assertTrue(files.contains(getArchiveFileInCache("org1", "mod1.2", 
"2.0", "mod1.2", "jar",
             "jar")));
@@ -227,7 +227,7 @@ public class IvyResourcesTest {
         IvyDependencyInclude include = dependency.createInclude();
         include.setName("art22-1");
 
-        List files = asList(resources);
+        List<File> files = asList(resources);
         assertEquals(2, files.size());
         assertTrue(files.contains(getArchiveFileInCache("org1", "mod1.2", 
"2.0", "mod1.2", "jar",
             "jar")));

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/69207179/test/java/org/apache/ivy/ant/IvyTaskTest.java
----------------------------------------------------------------------
diff --git a/test/java/org/apache/ivy/ant/IvyTaskTest.java 
b/test/java/org/apache/ivy/ant/IvyTaskTest.java
index ab23d3e..cfa9a05 100644
--- a/test/java/org/apache/ivy/ant/IvyTaskTest.java
+++ b/test/java/org/apache/ivy/ant/IvyTaskTest.java
@@ -65,7 +65,6 @@ public class IvyTaskTest {
         assertEquals("myvalue", 
settings.getVariables().getVariable("myproperty"));
     }
 
-    @SuppressWarnings("deprecation")
     @Test
     public void testReferencedSettings() throws MalformedURLException {
         Project p = TestHelper.newProject();
@@ -82,7 +81,7 @@ public class IvyTaskTest {
             }
         };
         task.setProject(p);
-        task.setSettingsRef(new Reference("mySettings"));
+        task.setSettingsRef(new Reference(task.getProject(), "mySettings"));
         Ivy ivy = task.getIvyInstance();
         assertNotNull(ivy);
         IvySettings settings = ivy.getSettings();

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/69207179/test/java/org/apache/ivy/ant/testutil/AntTestListener.java
----------------------------------------------------------------------
diff --git a/test/java/org/apache/ivy/ant/testutil/AntTestListener.java 
b/test/java/org/apache/ivy/ant/testutil/AntTestListener.java
index ef89fa6..73866d2 100644
--- a/test/java/org/apache/ivy/ant/testutil/AntTestListener.java
+++ b/test/java/org/apache/ivy/ant/testutil/AntTestListener.java
@@ -30,6 +30,9 @@ public class AntTestListener implements BuildListener {
 
     /**
      * Constructs a test listener which will ignore log events above the given 
level.
+     *
+     * @param logLevel
+     *            ditto
      */
     public AntTestListener(int logLevel) {
         this.logLevel = logLevel;
@@ -37,6 +40,9 @@ public class AntTestListener implements BuildListener {
 
     /**
      * Fired before any targets are started.
+     *
+     * @param event
+     *            BuildEvent
      */
     public void buildStarted(BuildEvent event) {
     }
@@ -45,6 +51,8 @@ public class AntTestListener implements BuildListener {
      * Fired after the last target has finished. This event will still be 
thrown if an error
      * occurred during the build.
      *
+     * @param event
+     *            BuildEvent
      * @see BuildEvent#getException()
      */
     public void buildFinished(BuildEvent event) {
@@ -53,6 +61,8 @@ public class AntTestListener implements BuildListener {
     /**
      * Fired when a target is started.
      *
+     * @param event
+     *            BuildEvent
      * @see BuildEvent#getTarget()
      */
     public void targetStarted(BuildEvent event) {
@@ -63,6 +73,8 @@ public class AntTestListener implements BuildListener {
      * Fired when a target has finished. This event will still be thrown if an 
error occurred during
      * the build.
      *
+     * @param event
+     *            BuildEvent
      * @see BuildEvent#getException()
      */
     public void targetFinished(BuildEvent event) {
@@ -72,6 +84,8 @@ public class AntTestListener implements BuildListener {
     /**
      * Fired when a task is started.
      *
+     * @param event
+     *            BuildEvent
      * @see BuildEvent#getTask()
      */
     public void taskStarted(BuildEvent event) {
@@ -82,6 +96,8 @@ public class AntTestListener implements BuildListener {
      * Fired when a task has finished. This event will still be throw if an 
error occurred during
      * the build.
      *
+     * @param event
+     *            BuildEvent
      * @see BuildEvent#getException()
      */
     public void taskFinished(BuildEvent event) {
@@ -91,6 +107,8 @@ public class AntTestListener implements BuildListener {
     /**
      * Fired whenever a message is logged.
      *
+     * @param event
+     *            BuildEvent
      * @see BuildEvent#getMessage()
      * @see BuildEvent#getPriority()
      */

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/69207179/test/java/org/apache/ivy/core/cache/ModuleDescriptorMemoryCacheTest.java
----------------------------------------------------------------------
diff --git 
a/test/java/org/apache/ivy/core/cache/ModuleDescriptorMemoryCacheTest.java 
b/test/java/org/apache/ivy/core/cache/ModuleDescriptorMemoryCacheTest.java
index 9052307..d28a4a1 100644
--- a/test/java/org/apache/ivy/core/cache/ModuleDescriptorMemoryCacheTest.java
+++ b/test/java/org/apache/ivy/core/cache/ModuleDescriptorMemoryCacheTest.java
@@ -17,6 +17,9 @@
  */
 package org.apache.ivy.core.cache;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
 import java.io.File;
 import java.io.IOException;
 import java.text.ParseException;
@@ -28,10 +31,6 @@ import org.apache.ivy.core.settings.IvySettings;
 import org.apache.ivy.plugins.parser.ParserSettings;
 import org.junit.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-
 public class ModuleDescriptorMemoryCacheTest {
 
     ModuleDescriptorMemoryCache cache = new ModuleDescriptorMemoryCache(2);
@@ -99,8 +98,8 @@ public class ModuleDescriptorMemoryCacheTest {
         ModuleDescriptorProviderMock providerMock3 = new 
ModuleDescriptorProviderMock(md3);
         cache.get(url1, ivySettings, false, providerMock);
         cache.get(url2, ivySettings, false, providerMock2);
-        cache.get(url3, ivySettings, false, providerMock3);// adding 1
-        cache.get(url1, ivySettings, false, providerMock1b);// and one has 
been removed
+        cache.get(url3, ivySettings, false, providerMock3); // adding 1
+        cache.get(url1, ivySettings, false, providerMock1b); // and one has 
been removed
         providerMock1b.assertCalled();
     }
 
@@ -114,7 +113,7 @@ public class ModuleDescriptorMemoryCacheTest {
         cache.get(url2, ivySettings, false, providerMock2);
         cache.get(url1, ivySettings, false, null);
         cache.get(url3, ivySettings, false, providerMock3);
-        cache.get(url1, ivySettings, false, null);// and one has been removed
+        cache.get(url1, ivySettings, false, null); // and one has been removed
         cache.get(url2, ivySettings, false, providerMock2b);
         providerMock2b.assertCalled();
     }

Reply via email to