You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by gi...@apache.org on 2018/05/28 05:10:46 UTC

[06/14] ant git commit: Use foreach loops (cherry-pick 1c80d50)

Use foreach loops (cherry-pick 1c80d50)

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

Branch: refs/heads/master
Commit: 8c38eb4c618fdf496d577962a1fe2f3c91516b9a
Parents: 8190d10
Author: Gintas Grigelionis <gi...@apache.org>
Authored: Sat May 26 17:46:29 2018 +0200
Committer: Gintas Grigelionis <gi...@apache.org>
Committed: Sat May 26 17:46:29 2018 +0200

----------------------------------------------------------------------
 .../org/apache/tools/ant/AntClassLoader.java    |   6 +-
 src/main/org/apache/tools/ant/Diagnostics.java  |  10 +-
 .../org/apache/tools/ant/DirectoryScanner.java  |  27 +-
 .../apache/tools/ant/IntrospectionHelper.java   |  14 +-
 src/main/org/apache/tools/ant/Project.java      |  71 +--
 .../org/apache/tools/ant/ProjectHelper.java     |   6 +-
 .../org/apache/tools/ant/PropertyHelper.java    |   8 +-
 .../tools/ant/attribute/BaseIfAttribute.java    |   8 +-
 .../apache/tools/ant/filters/ConcatFilter.java  |  10 +-
 .../apache/tools/ant/filters/HeadFilter.java    |  10 +-
 .../apache/tools/ant/filters/LineContains.java  |  10 +-
 .../tools/ant/filters/LineContainsRegExp.java   |  14 +-
 .../apache/tools/ant/filters/PrefixLines.java   |   6 +-
 .../apache/tools/ant/filters/SortFilter.java    |  13 +-
 .../tools/ant/filters/StripLineBreaks.java      |   6 +-
 .../tools/ant/filters/StripLineComments.java    |   6 +-
 .../apache/tools/ant/filters/SuffixLines.java   |   6 +-
 .../apache/tools/ant/filters/TabsToSpaces.java  |   8 +-
 .../apache/tools/ant/filters/TailFilter.java    |  10 +-
 .../tools/ant/filters/util/JavaClassHelper.java |   3 +-
 .../tools/ant/helper/DefaultExecutor.java       |   4 +-
 .../ant/helper/IgnoreDependenciesExecutor.java  |   6 +-
 .../org/apache/tools/ant/launch/Launcher.java   |  13 +-
 .../org/apache/tools/ant/launch/Locator.java    |   9 +-
 .../tools/ant/taskdefs/AbstractCvsTask.java     |   4 +-
 .../apache/tools/ant/taskdefs/AntStructure.java |   4 +-
 .../org/apache/tools/ant/taskdefs/Checksum.java |   6 +-
 .../apache/tools/ant/taskdefs/Classloader.java  |   5 +-
 .../org/apache/tools/ant/taskdefs/Copy.java     |  44 +-
 .../org/apache/tools/ant/taskdefs/CopyPath.java |   6 +-
 .../org/apache/tools/ant/taskdefs/Copydir.java  |   3 +-
 .../org/apache/tools/ant/taskdefs/Delete.java   |  16 +-
 .../org/apache/tools/ant/taskdefs/Deltree.java  |   4 +-
 .../org/apache/tools/ant/taskdefs/ExecTask.java |  17 +-
 .../org/apache/tools/ant/taskdefs/Execute.java  |   3 +-
 .../apache/tools/ant/taskdefs/ExecuteJava.java  |   5 +-
 .../apache/tools/ant/taskdefs/ExecuteOn.java    |  21 +-
 .../org/apache/tools/ant/taskdefs/Expand.java   |  19 +-
 .../org/apache/tools/ant/taskdefs/FixCRLF.java  |   5 +-
 src/main/org/apache/tools/ant/taskdefs/Jar.java |  17 +-
 .../org/apache/tools/ant/taskdefs/Javac.java    |  13 +-
 .../org/apache/tools/ant/taskdefs/Javadoc.java  |  86 ++-
 .../org/apache/tools/ant/taskdefs/Jikes.java    |   4 +-
 .../org/apache/tools/ant/taskdefs/MacroDef.java |   3 +-
 .../org/apache/tools/ant/taskdefs/Move.java     |  12 +-
 .../org/apache/tools/ant/taskdefs/Parallel.java |   6 +-
 .../org/apache/tools/ant/taskdefs/Recorder.java |  21 +-
 .../org/apache/tools/ant/taskdefs/Replace.java  |   6 +-
 .../org/apache/tools/ant/taskdefs/SubAnt.java   |   4 +-
 .../org/apache/tools/ant/taskdefs/Sync.java     |  13 +-
 .../org/apache/tools/ant/taskdefs/Touch.java    |   4 +-
 .../org/apache/tools/ant/taskdefs/Untar.java    |  19 +-
 .../apache/tools/ant/taskdefs/XSLTProcess.java  |   6 +-
 .../tools/ant/taskdefs/compilers/Javac12.java   |  15 +-
 .../ant/taskdefs/condition/AntVersion.java      |  15 +-
 .../tools/ant/taskdefs/condition/HasMethod.java |  12 +-
 .../tools/ant/taskdefs/cvslib/CvsTagDiff.java   |   4 +-
 .../tools/ant/taskdefs/email/MimeMailer.java    |  46 +-
 .../taskdefs/launcher/VmsCommandLauncher.java   |   8 +-
 .../ant/taskdefs/optional/Native2Ascii.java     |   6 +-
 .../ant/taskdefs/optional/TraXLiaison.java      |  30 +-
 .../ant/taskdefs/optional/XMLValidateTask.java  |  67 +-
 .../optional/ejb/IPlanetDeploymentTool.java     |   8 +-
 .../ant/taskdefs/optional/ejb/IPlanetEjbc.java  |  14 +-
 .../optional/extension/ExtensionUtil.java       |   5 +-
 .../optional/extension/LibraryDisplayer.java    |  18 +-
 .../ant/taskdefs/optional/i18n/Translate.java   |  15 +-
 .../ant/taskdefs/optional/image/Image.java      |   3 +-
 .../ant/taskdefs/optional/jlink/jlink.java      |   5 +-
 .../tools/ant/taskdefs/optional/jsp/JspC.java   |   4 +-
 .../ant/taskdefs/optional/junit/BatchTest.java  |   4 +-
 .../optional/junit/FailureRecorder.java         |   6 +-
 .../optional/junit/JUnit4TestMethodAdapter.java |  13 +-
 .../ant/taskdefs/optional/junit/JUnitTask.java  |  34 +-
 .../optional/junit/JUnitTestRunner.java         |  98 ++-
 .../optional/junit/XMLResultAggregator.java     |  10 +-
 .../native2ascii/KaffeNative2Ascii.java         |   6 +-
 .../tools/ant/taskdefs/optional/net/FTP.java    |  78 ++-
 .../optional/net/FTPTaskMirrorImpl.java         |  77 +--
 .../ant/taskdefs/optional/sound/SoundTask.java  |   7 +-
 .../ant/taskdefs/optional/ssh/SSHSession.java   |  14 +-
 .../ant/taskdefs/rmic/DefaultRmicAdapter.java   |  15 +-
 .../tools/ant/taskdefs/rmic/KaffeRmic.java      |  17 +-
 .../apache/tools/ant/types/AbstractFileSet.java |   8 +-
 .../org/apache/tools/ant/types/Commandline.java |  12 +-
 .../apache/tools/ant/types/CommandlineJava.java |   4 +-
 .../org/apache/tools/ant/types/FilterChain.java |   4 +-
 .../org/apache/tools/ant/types/FilterSet.java   |   5 +-
 src/main/org/apache/tools/ant/types/Path.java   |  40 +-
 .../org/apache/tools/ant/types/PatternSet.java  |  16 +-
 .../org/apache/tools/ant/types/Quantifier.java  |   4 +-
 .../tools/ant/types/RedirectorElement.java      |  17 +-
 .../org/apache/tools/ant/types/XMLCatalog.java  |   7 +-
 .../ant/types/optional/depend/ClassfileSet.java |   7 +-
 .../ant/types/resources/BZip2Resource.java      |   8 +-
 .../apache/tools/ant/types/resources/Files.java |   8 +-
 .../types/selectors/ContainsRegexpSelector.java |  13 +-
 .../ant/types/selectors/ContainsSelector.java   |  10 +-
 .../tools/ant/types/selectors/DateSelector.java |  20 +-
 .../ant/types/selectors/DepthSelector.java      |  12 +-
 .../ant/types/selectors/FilenameSelector.java   |  12 +-
 .../ant/types/selectors/SelectorUtils.java      |   4 +-
 .../tools/ant/types/selectors/SizeSelector.java |  12 +-
 .../ant/types/selectors/TokenizedPath.java      |  14 +-
 .../tools/ant/types/selectors/TypeSelector.java |   6 +-
 .../modifiedselector/DigestAlgorithm.java       |   6 +-
 .../apache/tools/ant/util/DOMElementWriter.java |   4 +-
 .../ant/util/LayoutPreservingProperties.java    |   3 +-
 .../apache/tools/ant/util/ResourceUtils.java    |  12 +-
 .../apache/tools/ant/util/SplitClassLoader.java |   6 +-
 .../apache/tools/ant/util/StringTokenizer.java  |   4 +-
 .../apache/tools/ant/util/WeakishReference.java |   4 +-
 .../tools/ant/util/depend/AbstractAnalyzer.java |   4 +-
 src/main/org/apache/tools/mail/MailMessage.java | 604 +++++++++----------
 src/main/org/apache/tools/tar/TarUtils.java     |   3 +-
 .../apache/tools/zip/Simple8BitZipEncoding.java |   4 +-
 .../tools/ant/IntrospectionHelperTest.java      |  22 +-
 .../apache/tools/ant/UnknownElementTest.java    |   6 +-
 .../org/apache/tools/ant/taskdefs/AntTest.java  |  12 +-
 .../org/apache/tools/ant/taskdefs/FailTest.java |  14 +-
 .../taskdefs/optional/depend/DependTest.java    |   9 +-
 .../ant/taskdefs/optional/ssh/ScpTest.java      |  10 +-
 .../types/optional/depend/ClassFileSetTest.java |  20 +-
 123 files changed, 1047 insertions(+), 1257 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ant/blob/8c38eb4c/src/main/org/apache/tools/ant/AntClassLoader.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/AntClassLoader.java b/src/main/org/apache/tools/ant/AntClassLoader.java
index 9f22011..1395f32 100644
--- a/src/main/org/apache/tools/ant/AntClassLoader.java
+++ b/src/main/org/apache/tools/ant/AntClassLoader.java
@@ -356,11 +356,9 @@ public class AntClassLoader extends ClassLoader implements SubBuildListener, Clo
     public void setClassPath(final Path classpath) {
         pathComponents.removeAllElements();
         if (classpath != null) {
-            final Path actualClasspath = classpath.concatSystemClasspath("ignore");
-            final String[] pathElements = actualClasspath.list();
-            for (int i = 0; i < pathElements.length; ++i) {
+            for (String pathElement : classpath.concatSystemClasspath("ignore").list()) {
                 try {
-                    addPathElement(pathElements[i]);
+                    addPathElement(pathElement);
                 } catch (final BuildException e) {
                     // ignore path elements which are invalid
                     // relative to the project

http://git-wip-us.apache.org/repos/asf/ant/blob/8c38eb4c/src/main/org/apache/tools/ant/Diagnostics.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/Diagnostics.java b/src/main/org/apache/tools/ant/Diagnostics.java
index 6007e2a..424a0d2 100644
--- a/src/main/org/apache/tools/ant/Diagnostics.java
+++ b/src/main/org/apache/tools/ant/Diagnostics.java
@@ -422,8 +422,7 @@ public final class Diagnostics {
      */
     private static void doReportAntHomeLibraries(PrintStream out) {
         out.println(MagicNames.ANT_HOME + ": " + System.getProperty(MagicNames.ANT_HOME));
-        File[] libs = listLibraries();
-        printLibraries(libs, out);
+        printLibraries(listLibraries(), out);
     }
 
     /**
@@ -435,8 +434,7 @@ public final class Diagnostics {
         String home = System.getProperty(Launcher.USER_HOMEDIR);
         out.println("user.home: " + home);
         File libDir = new File(home, Launcher.USER_LIBDIR);
-        File[] libs = listJarFiles(libDir);
-        printLibraries(libs, out);
+        printLibraries(listJarFiles(libDir), out);
     }
 
     /**
@@ -449,8 +447,8 @@ public final class Diagnostics {
             out.println("No such directory.");
             return;
         }
-        for (int i = 0; i < libs.length; i++) {
-            out.println(libs[i].getName() + " (" + libs[i].length() + " bytes)");
+        for (File lib : libs) {
+            out.println(lib.getName() + " (" + lib.length() + " bytes)");
         }
     }
 

http://git-wip-us.apache.org/repos/asf/ant/blob/8c38eb4c/src/main/org/apache/tools/ant/DirectoryScanner.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/DirectoryScanner.java b/src/main/org/apache/tools/ant/DirectoryScanner.java
index b739ff8..a0e7837 100644
--- a/src/main/org/apache/tools/ant/DirectoryScanner.java
+++ b/src/main/org/apache/tools/ant/DirectoryScanner.java
@@ -1215,7 +1215,7 @@ public class DirectoryScanner
     }
 
     private void scandir(final File dir, final TokenizedPath path, final boolean fast,
-                         String[] newfiles, final LinkedList<String> directoryNamesFollowed) {
+                         String[] newFiles, final LinkedList<String> directoryNamesFollowed) {
         String vpath = path.toString();
         if (vpath.length() > 0 && !vpath.endsWith(File.separator)) {
             vpath += File.separator;
@@ -1227,11 +1227,11 @@ public class DirectoryScanner
         }
         if (!followSymlinks) {
             final ArrayList<String> noLinks = new ArrayList<String>();
-            for (int i = 0; i < newfiles.length; i++) {
+            for (final String newFile : newFiles) {
                 try {
-                    if (SYMLINK_UTILS.isSymbolicLink(dir, newfiles[i])) {
-                        final String name = vpath + newfiles[i];
-                        final File file = new File(dir, newfiles[i]);
+                    if (SYMLINK_UTILS.isSymbolicLink(dir, newFile)) {
+                        final String name = vpath + newFile;
+                        final File file = new File(dir, newFile);
                         if (file.isDirectory()) {
                             dirsExcluded.addElement(name);
                         } else if (file.isFile()) {
@@ -1239,25 +1239,25 @@ public class DirectoryScanner
                         }
                         accountForNotFollowedSymlink(name, file);
                     } else {
-                        noLinks.add(newfiles[i]);
+                        noLinks.add(newFile);
                     }
                 } catch (final IOException ioe) {
                     final String msg = "IOException caught while checking "
                         + "for links, couldn't get canonical path!";
                     // will be caught and redirected to Ant's logging system
                     System.err.println(msg);
-                    noLinks.add(newfiles[i]);
+                    noLinks.add(newFile);
                 }
             }
-            newfiles = (noLinks.toArray(new String[noLinks.size()]));
+            newFiles = (noLinks.toArray(new String[noLinks.size()]));
         } else {
             directoryNamesFollowed.addFirst(dir.getName());
         }
 
-        for (int i = 0; i < newfiles.length; i++) {
-            final String name = vpath + newfiles[i];
-            final TokenizedPath newPath = new TokenizedPath(path, newfiles[i]);
-            final File file = new File(dir, newfiles[i]);
+        for (String newFile : newFiles) {
+            final String name = vpath + newFile;
+            final TokenizedPath newPath = new TokenizedPath(path, newFile);
+            final File file = new File(dir, newFile);
             final String[] children = file.list();
             if (children == null || (children.length == 0 && file.isFile())) {
                 if (isIncluded(newPath)) {
@@ -1269,8 +1269,7 @@ public class DirectoryScanner
             } else if (file.isDirectory()) { // dir
 
                 if (followSymlinks
-                    && causesIllegalSymlinkLoop(newfiles[i], dir,
-                                                directoryNamesFollowed)) {
+                        && causesIllegalSymlinkLoop(newFile, dir, directoryNamesFollowed)) {
                     // will be caught and redirected to Ant's logging system
                     System.err.println("skipping symbolic link "
                                        + file.getAbsolutePath()

http://git-wip-us.apache.org/repos/asf/ant/blob/8c38eb4c/src/main/org/apache/tools/ant/IntrospectionHelper.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/IntrospectionHelper.java b/src/main/org/apache/tools/ant/IntrospectionHelper.java
index c13f802..af7f312 100644
--- a/src/main/org/apache/tools/ant/IntrospectionHelper.java
+++ b/src/main/org/apache/tools/ant/IntrospectionHelper.java
@@ -179,10 +179,8 @@ public final class IntrospectionHelper {
      */
     private IntrospectionHelper(final Class<?> bean) {
         this.bean = bean;
-        final Method[] methods = bean.getMethods();
         Method addTextMethod = null;
-        for (int i = 0; i < methods.length; i++) {
-            final Method m = methods[i];
+        for (final Method m : bean.getMethods()) {
             final String name = m.getName();
             final Class<?> returnType = m.getReturnType();
             final Class<?>[] args = m.getParameterTypes();
@@ -205,7 +203,7 @@ public final class IntrospectionHelper {
             }
             if ("addText".equals(name) && Void.TYPE.equals(returnType)
                     && args.length == 1 && String.class.equals(args[0])) {
-                addTextMethod = methods[i];
+                addTextMethod = m;
             } else if (name.startsWith("set") && Void.TYPE.equals(returnType)
                     && args.length == 1 && !args[0].isArray()) {
                 final String propName = getPropertyName(name, "set");
@@ -1631,9 +1629,7 @@ public final class IntrospectionHelper {
         Class<?> matchedClass = null;
         Method matchedMethod = null;
 
-        final int size = methods.size();
-        for (int i = 0; i < size; ++i) {
-            final Method method = methods.get(i);
+        for (final Method method : methods) {
             final Class<?> methodClass = method.getParameterTypes()[0];
             if (methodClass.isAssignableFrom(paramClass)) {
                 if (matchedClass == null) {
@@ -1679,9 +1675,7 @@ public final class IntrospectionHelper {
             return null;
         }
         synchronized (definitions) {
-            final int size = definitions.size();
-            for (int i = 0; i < size; ++i) {
-                final AntTypeDefinition d = definitions.get(i);
+            for (final AntTypeDefinition d : definitions) {
                 final Class<?> exposedClass = d.getExposedClass(helper.getProject());
                 if (exposedClass == null) {
                     continue;

http://git-wip-us.apache.org/repos/asf/ant/blob/8c38eb4c/src/main/org/apache/tools/ant/Project.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/Project.java b/src/main/org/apache/tools/ant/Project.java
index 5feeb38..b8636d9 100644
--- a/src/main/org/apache/tools/ant/Project.java
+++ b/src/main/org/apache/tools/ant/Project.java
@@ -393,8 +393,8 @@ public class Project implements ResourceFactory {
     public void addBuildListener(final BuildListener listener) {
         synchronized (listenersLock) {
             // If the listeners already has this listener, do nothing
-            for (int i = 0; i < listeners.length; i++) {
-                if (listeners[i] == listener) {
+            for (BuildListener buildListener : listeners) {
+                if (buildListener == listener) {
                     return;
                 }
             }
@@ -439,8 +439,8 @@ public class Project implements ResourceFactory {
     public Vector<BuildListener> getBuildListeners() {
         synchronized (listenersLock) {
             final Vector<BuildListener> r = new Vector<BuildListener>(listeners.length);
-            for (int i = 0; i < listeners.length; i++) {
-                r.add(listeners[i]);
+            for (BuildListener listener : listeners) {
+                r.add(listener);
             }
             return r;
         }
@@ -1832,13 +1832,13 @@ public class Project implements ResourceFactory {
         // dependency tree, not just on the Targets that depend on the
         // build Target.
 
-        for (int i = 0; i < roots.length; i++) {
-            final String st = (state.get(roots[i]));
+        for (String root : roots) {
+            final String st = state.get(root);
             if (st == null) {
-                tsort(roots[i], targetTable, state, visiting, ret);
+                tsort(root, targetTable, state, visiting, ret);
             } else if (st == VISITING) {
                 throw new BuildException("Unexpected node in visiting state: "
-                    + roots[i]);
+                        + root);
             }
         }
         final StringBuffer buf = new StringBuffer("Build sequence for target(s)");
@@ -2093,9 +2093,8 @@ public class Project implements ResourceFactory {
      */
     public void fireBuildStarted() {
         final BuildEvent event = new BuildEvent(this);
-        final BuildListener[] currListeners = listeners;
-        for (int i = 0; i < currListeners.length; i++) {
-            currListeners[i].buildStarted(event);
+        for (BuildListener currListener : listeners) {
+            currListener.buildStarted(event);
         }
     }
 
@@ -2109,9 +2108,8 @@ public class Project implements ResourceFactory {
     public void fireBuildFinished(final Throwable exception) {
         final BuildEvent event = new BuildEvent(this);
         event.setException(exception);
-        final BuildListener[] currListeners = listeners;
-        for (int i = 0; i < currListeners.length; i++) {
-            currListeners[i].buildFinished(event);
+        for (BuildListener currListener : listeners) {
+            currListener.buildFinished(event);
         }
         // Inform IH to clear the cache
         IntrospectionHelper.clearCache();
@@ -2125,10 +2123,9 @@ public class Project implements ResourceFactory {
      */
     public void fireSubBuildStarted() {
         final BuildEvent event = new BuildEvent(this);
-        final BuildListener[] currListeners = listeners;
-        for (int i = 0; i < currListeners.length; i++) {
-            if (currListeners[i] instanceof SubBuildListener) {
-                ((SubBuildListener) currListeners[i]).subBuildStarted(event);
+        for (BuildListener currListener : listeners) {
+            if (currListener instanceof SubBuildListener) {
+                ((SubBuildListener) currListener).subBuildStarted(event);
             }
         }
     }
@@ -2145,10 +2142,9 @@ public class Project implements ResourceFactory {
     public void fireSubBuildFinished(final Throwable exception) {
         final BuildEvent event = new BuildEvent(this);
         event.setException(exception);
-        final BuildListener[] currListeners = listeners;
-        for (int i = 0; i < currListeners.length; i++) {
-            if (currListeners[i] instanceof SubBuildListener) {
-                ((SubBuildListener) currListeners[i]).subBuildFinished(event);
+        for (BuildListener currListener : listeners) {
+            if (currListener instanceof SubBuildListener) {
+                ((SubBuildListener) currListener).subBuildFinished(event);
             }
         }
     }
@@ -2162,9 +2158,8 @@ public class Project implements ResourceFactory {
      */
     protected void fireTargetStarted(final Target target) {
         final BuildEvent event = new BuildEvent(target);
-        final BuildListener[] currListeners = listeners;
-        for (int i = 0; i < currListeners.length; i++) {
-            currListeners[i].targetStarted(event);
+        for (BuildListener currListener : listeners) {
+            currListener.targetStarted(event);
         }
 
     }
@@ -2182,9 +2177,8 @@ public class Project implements ResourceFactory {
     protected void fireTargetFinished(final Target target, final Throwable exception) {
         final BuildEvent event = new BuildEvent(target);
         event.setException(exception);
-        final BuildListener[] currListeners = listeners;
-        for (int i = 0; i < currListeners.length; i++) {
-            currListeners[i].targetFinished(event);
+        for (BuildListener currListener : listeners) {
+            currListener.targetFinished(event);
         }
 
     }
@@ -2200,9 +2194,8 @@ public class Project implements ResourceFactory {
         // register this as the current task on the current thread.
         registerThreadTask(Thread.currentThread(), task);
         final BuildEvent event = new BuildEvent(task);
-        final BuildListener[] currListeners = listeners;
-        for (int i = 0; i < currListeners.length; i++) {
-            currListeners[i].taskStarted(event);
+        for (BuildListener currListener : listeners) {
+            currListener.taskStarted(event);
         }
     }
 
@@ -2222,9 +2215,8 @@ public class Project implements ResourceFactory {
         System.err.flush();
         final BuildEvent event = new BuildEvent(task);
         event.setException(exception);
-        final BuildListener[] currListeners = listeners;
-        for (int i = 0; i < currListeners.length; i++) {
-            currListeners[i].taskFinished(event);
+        for (BuildListener currListener : listeners) {
+            currListener.taskFinished(event);
         }
 
     }
@@ -2270,9 +2262,8 @@ public class Project implements ResourceFactory {
         }
         try {
             isLoggingMessage.set(Boolean.TRUE);
-            final BuildListener[] currListeners = listeners;
-            for (int i = 0; i < currListeners.length; i++) {
-                currListeners[i].messageLogged(event);
+            for (BuildListener currListener : listeners) {
+                currListener.messageLogged(event);
             }
         } finally {
             isLoggingMessage.set(Boolean.FALSE);
@@ -2472,11 +2463,9 @@ public class Project implements ResourceFactory {
             return;
         }
         try {
-            final Method method =
-                obj.getClass().getMethod(
-                    "setProject", new Class[] {Project.class});
+            final Method method = obj.getClass().getMethod("setProject", Project.class);
             if (method != null) {
-                method.invoke(obj, new Object[] {this});
+                method.invoke(obj, this);
             }
         } catch (final Throwable e) {
             // ignore this if the object does not have

http://git-wip-us.apache.org/repos/asf/ant/blob/8c38eb4c/src/main/org/apache/tools/ant/ProjectHelper.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/ProjectHelper.java b/src/main/org/apache/tools/ant/ProjectHelper.java
index 5bc1cf5..907430a 100644
--- a/src/main/org/apache/tools/ant/ProjectHelper.java
+++ b/src/main/org/apache/tools/ant/ProjectHelper.java
@@ -136,9 +136,9 @@ public class ProjectHelper {
             if (name == null) {
                 throw new NullPointerException();
             }
-            for (int i = 0; i < values.length; i++) {
-                if (name.equals(values[i].name())) {
-                    return values[i];
+            for (OnMissingExtensionPoint value : values) {
+                if (name.equals(value.name())) {
+                    return value;
                 }
             }
             throw new IllegalArgumentException(

http://git-wip-us.apache.org/repos/asf/ant/blob/8c38eb4c/src/main/org/apache/tools/ant/PropertyHelper.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/PropertyHelper.java b/src/main/org/apache/tools/ant/PropertyHelper.java
index 7561e73..c7f385e 100644
--- a/src/main/org/apache/tools/ant/PropertyHelper.java
+++ b/src/main/org/apache/tools/ant/PropertyHelper.java
@@ -1144,11 +1144,11 @@ public class PropertyHelper implements GetProperty {
         final HashSet<Class<? extends Delegate>> result = new HashSet<Class<? extends Delegate>>();
         Class<?> c = d.getClass();
         while (c != null) {
-            Class<?>[] ifs = c.getInterfaces();
-            for (int i = 0; i < ifs.length; i++) {
-                if (Delegate.class.isAssignableFrom(ifs[i])) {
+            for (Class<?> ifc : c.getInterfaces()) {
+                if (Delegate.class.isAssignableFrom(ifc)) {
                     @SuppressWarnings("unchecked")
-                    final Class<? extends Delegate> delegateInterface = (Class<? extends Delegate>) ifs[i];
+                    final Class<? extends Delegate> delegateInterface =
+                            (Class<? extends Delegate>) ifc;
                     result.add(delegateInterface);
                 }
             }

http://git-wip-us.apache.org/repos/asf/ant/blob/8c38eb4c/src/main/org/apache/tools/ant/attribute/BaseIfAttribute.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/attribute/BaseIfAttribute.java b/src/main/org/apache/tools/ant/attribute/BaseIfAttribute.java
index c2ec08a..3e8b566 100644
--- a/src/main/org/apache/tools/ant/attribute/BaseIfAttribute.java
+++ b/src/main/org/apache/tools/ant/attribute/BaseIfAttribute.java
@@ -19,7 +19,6 @@
 package org.apache.tools.ant.attribute;
 
 import java.util.HashMap;
-import java.util.Iterator;
 import java.util.Map;
 
 import org.apache.tools.ant.ProjectComponent;
@@ -70,10 +69,9 @@ public abstract class BaseIfAttribute
     protected Map getParams(UnknownElement el) {
         Map ret = new HashMap();
         RuntimeConfigurable rc = el.getWrapper();
-        Map attributes = rc.getAttributeMap(); // This does a copy!
-        for (Iterator i = attributes.entrySet().iterator(); i.hasNext();) {
-            Map.Entry entry = (Map.Entry) i.next();
-            String key = (String) entry.getKey();
+        Map<String, Object> attributes = rc.getAttributeMap(); // This does a copy!
+        for (Map.Entry<String, Object> entry : attributes.entrySet()) {
+            String key = entry.getKey();
             String value = (String) entry.getValue();
             if (key.startsWith("ant-attribute:param")) {
                 int pos = key.lastIndexOf(':');

http://git-wip-us.apache.org/repos/asf/ant/blob/8c38eb4c/src/main/org/apache/tools/ant/filters/ConcatFilter.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/filters/ConcatFilter.java b/src/main/org/apache/tools/ant/filters/ConcatFilter.java
index 0ac6024..817572f 100644
--- a/src/main/org/apache/tools/ant/filters/ConcatFilter.java
+++ b/src/main/org/apache/tools/ant/filters/ConcatFilter.java
@@ -191,13 +191,13 @@ public final class ConcatFilter extends BaseParamFilterReader
         // get parameters
         final Parameter[] params = getParameters();
         if (params != null) {
-            for (int i = 0; i < params.length; i++) {
-                if ("prepend".equals(params[i].getName())) {
-                    setPrepend(new File(params[i].getValue()));
+            for (Parameter param : params) {
+                if ("prepend".equals(param.getName())) {
+                    setPrepend(new File(param.getValue()));
                     continue;
                 }
-                if ("append".equals(params[i].getName())) {
-                    setAppend(new File(params[i].getValue()));
+                if ("append".equals(param.getName())) {
+                    setAppend(new File(param.getValue()));
                     continue;
                 }
             }

http://git-wip-us.apache.org/repos/asf/ant/blob/8c38eb4c/src/main/org/apache/tools/ant/filters/HeadFilter.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/filters/HeadFilter.java b/src/main/org/apache/tools/ant/filters/HeadFilter.java
index 522fe57..29806b3 100644
--- a/src/main/org/apache/tools/ant/filters/HeadFilter.java
+++ b/src/main/org/apache/tools/ant/filters/HeadFilter.java
@@ -187,13 +187,13 @@ public final class HeadFilter extends BaseParamFilterReader
     private void initialize() {
         Parameter[] params = getParameters();
         if (params != null) {
-            for (int i = 0; i < params.length; i++) {
-                if (LINES_KEY.equals(params[i].getName())) {
-                    lines = Long.parseLong(params[i].getValue());
+            for (Parameter param : params) {
+                if (LINES_KEY.equals(param.getName())) {
+                    lines = Long.parseLong(param.getValue());
                     continue;
                 }
-                if (SKIP_KEY.equals(params[i].getName())) {
-                    skip = Long.parseLong(params[i].getValue());
+                if (SKIP_KEY.equals(param.getName())) {
+                    skip = Long.parseLong(param.getValue());
                     continue;
                 }
             }

http://git-wip-us.apache.org/repos/asf/ant/blob/8c38eb4c/src/main/org/apache/tools/ant/filters/LineContains.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/filters/LineContains.java b/src/main/org/apache/tools/ant/filters/LineContains.java
index c83cae2..d74d4dd 100644
--- a/src/main/org/apache/tools/ant/filters/LineContains.java
+++ b/src/main/org/apache/tools/ant/filters/LineContains.java
@@ -204,11 +204,11 @@ public final class LineContains
     private void initialize() {
         Parameter[] params = getParameters();
         if (params != null) {
-            for (int i = 0; i < params.length; i++) {
-                if (CONTAINS_KEY.equals(params[i].getType())) {
-                    contains.addElement(params[i].getValue());
-                } else if (NEGATE_KEY.equals(params[i].getType())) {
-                    setNegate(Project.toBoolean(params[i].getValue()));
+            for (Parameter param : params) {
+                if (CONTAINS_KEY.equals(param.getType())) {
+                    contains.addElement(param.getValue());
+                } else if (NEGATE_KEY.equals(param.getType())) {
+                    setNegate(Project.toBoolean(param.getValue()));
                 }
             }
         }

http://git-wip-us.apache.org/repos/asf/ant/blob/8c38eb4c/src/main/org/apache/tools/ant/filters/LineContainsRegExp.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/filters/LineContainsRegExp.java b/src/main/org/apache/tools/ant/filters/LineContainsRegExp.java
index 5d144c2..b18e362 100644
--- a/src/main/org/apache/tools/ant/filters/LineContainsRegExp.java
+++ b/src/main/org/apache/tools/ant/filters/LineContainsRegExp.java
@@ -237,13 +237,13 @@ public final class LineContainsRegExp
     private void initialize() {
         Parameter[] params = getParameters();
         if (params != null) {
-            for (int i = 0; i < params.length; i++) {
-                if (REGEXP_KEY.equals(params[i].getType())) {
-                    setRegexp(params[i].getValue());
-                } else if (NEGATE_KEY.equals(params[i].getType())) {
-                    setNegate(Project.toBoolean(params[i].getValue()));
-                } else if (CS_KEY.equals(params[i].getType())) {
-                    setCaseSensitive(Project.toBoolean(params[i].getValue()));
+            for (Parameter param : params) {
+                if (REGEXP_KEY.equals(param.getType())) {
+                    setRegexp(param.getValue());
+                } else if (NEGATE_KEY.equals(param.getType())) {
+                    setNegate(Project.toBoolean(param.getValue()));
+                } else if (CS_KEY.equals(param.getType())) {
+                    setCaseSensitive(Project.toBoolean(param.getValue()));
                 }
             }
         }

http://git-wip-us.apache.org/repos/asf/ant/blob/8c38eb4c/src/main/org/apache/tools/ant/filters/PrefixLines.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/filters/PrefixLines.java b/src/main/org/apache/tools/ant/filters/PrefixLines.java
index 324397e..e125aa3 100644
--- a/src/main/org/apache/tools/ant/filters/PrefixLines.java
+++ b/src/main/org/apache/tools/ant/filters/PrefixLines.java
@@ -153,9 +153,9 @@ public final class PrefixLines
     private void initialize() {
         Parameter[] params = getParameters();
         if (params != null) {
-            for (int i = 0; i < params.length; i++) {
-                if (PREFIX_KEY.equals(params[i].getName())) {
-                    prefix = params[i].getValue();
+            for (Parameter param : params) {
+                if (PREFIX_KEY.equals(param.getName())) {
+                    prefix = param.getValue();
                     break;
                 }
             }

http://git-wip-us.apache.org/repos/asf/ant/blob/8c38eb4c/src/main/org/apache/tools/ant/filters/SortFilter.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/filters/SortFilter.java b/src/main/org/apache/tools/ant/filters/SortFilter.java
index 056ad6a..be08acb 100644
--- a/src/main/org/apache/tools/ant/filters/SortFilter.java
+++ b/src/main/org/apache/tools/ant/filters/SortFilter.java
@@ -314,19 +314,18 @@ public final class SortFilter extends BaseParamFilterReader
         // get parameters
         Parameter[] params = getParameters();
         if (params != null) {
-            for (int i = 0; i < params.length; i++) {
-                final String paramName = params[i].getName();
+            for (Parameter param : params) {
+                final String paramName = param.getName();
                 if (REVERSE_KEY.equals(paramName)) {
-                    setReverse(Boolean.valueOf(params[i].getValue())
-                               .booleanValue());
+                    setReverse(Boolean.valueOf(param.getValue()).booleanValue());
                     continue;
                 }
                 if (COMPARATOR_KEY.equals(paramName)) {
                     try {
-                        String className = (String) params[i].getValue();
+                        String className = (String) param.getValue();
                         @SuppressWarnings("unchecked")
-                        final Comparator<? super String> comparatorInstance = (Comparator<? super String>) (Class
-                                .forName(className).newInstance());
+                        final Comparator<? super String> comparatorInstance
+                                = (Comparator<? super String>) (Class.forName(className).newInstance());
                         setComparator(comparatorInstance);
                         continue;
                     } catch (InstantiationException e) {

http://git-wip-us.apache.org/repos/asf/ant/blob/8c38eb4c/src/main/org/apache/tools/ant/filters/StripLineBreaks.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/filters/StripLineBreaks.java b/src/main/org/apache/tools/ant/filters/StripLineBreaks.java
index 9a97940..9ba70dd 100644
--- a/src/main/org/apache/tools/ant/filters/StripLineBreaks.java
+++ b/src/main/org/apache/tools/ant/filters/StripLineBreaks.java
@@ -140,9 +140,9 @@ public final class StripLineBreaks
         String userDefinedLineBreaks = null;
         Parameter[] params = getParameters();
         if (params != null) {
-            for (int i = 0; i < params.length; i++) {
-                if (LINE_BREAKS_KEY.equals(params[i].getName())) {
-                    userDefinedLineBreaks = params[i].getValue();
+            for (Parameter param : params) {
+                if (LINE_BREAKS_KEY.equals(param.getName())) {
+                    userDefinedLineBreaks = param.getValue();
                     break;
                 }
             }

http://git-wip-us.apache.org/repos/asf/ant/blob/8c38eb4c/src/main/org/apache/tools/ant/filters/StripLineComments.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/filters/StripLineComments.java b/src/main/org/apache/tools/ant/filters/StripLineComments.java
index e3d240b..0dbb307 100644
--- a/src/main/org/apache/tools/ant/filters/StripLineComments.java
+++ b/src/main/org/apache/tools/ant/filters/StripLineComments.java
@@ -186,9 +186,9 @@ public final class StripLineComments
     private void initialize() {
         Parameter[] params = getParameters();
         if (params != null) {
-            for (int i = 0; i < params.length; i++) {
-                if (COMMENTS_KEY.equals(params[i].getType())) {
-                    comments.addElement(params[i].getValue());
+            for (Parameter param : params) {
+                if (COMMENTS_KEY.equals(param.getType())) {
+                    comments.addElement(param.getValue());
                 }
             }
         }

http://git-wip-us.apache.org/repos/asf/ant/blob/8c38eb4c/src/main/org/apache/tools/ant/filters/SuffixLines.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/filters/SuffixLines.java b/src/main/org/apache/tools/ant/filters/SuffixLines.java
index 23d9b53..9c22d2b 100644
--- a/src/main/org/apache/tools/ant/filters/SuffixLines.java
+++ b/src/main/org/apache/tools/ant/filters/SuffixLines.java
@@ -163,9 +163,9 @@ public final class SuffixLines
     private void initialize() {
         Parameter[] params = getParameters();
         if (params != null) {
-            for (int i = 0; i < params.length; i++) {
-                if (SUFFIX_KEY.equals(params[i].getName())) {
-                    suffix = params[i].getValue();
+            for (Parameter param : params) {
+                if (SUFFIX_KEY.equals(param.getName())) {
+                    suffix = param.getValue();
                     break;
                 }
             }

http://git-wip-us.apache.org/repos/asf/ant/blob/8c38eb4c/src/main/org/apache/tools/ant/filters/TabsToSpaces.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/filters/TabsToSpaces.java b/src/main/org/apache/tools/ant/filters/TabsToSpaces.java
index adaaa7a..15c7c50 100644
--- a/src/main/org/apache/tools/ant/filters/TabsToSpaces.java
+++ b/src/main/org/apache/tools/ant/filters/TabsToSpaces.java
@@ -142,10 +142,10 @@ public final class TabsToSpaces
     private void initialize() {
         Parameter[] params = getParameters();
         if (params != null) {
-            for (int i = 0; i < params.length; i++) {
-                if (params[i] != null) {
-                    if (TAB_LENGTH_KEY.equals(params[i].getName())) {
-                        tabLength = Integer.parseInt(params[i].getValue());
+            for (Parameter param : params) {
+                if (param != null) {
+                    if (TAB_LENGTH_KEY.equals(param.getName())) {
+                        tabLength = Integer.parseInt(param.getValue());
                         break;
                     }
                 }

http://git-wip-us.apache.org/repos/asf/ant/blob/8c38eb4c/src/main/org/apache/tools/ant/filters/TailFilter.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/filters/TailFilter.java b/src/main/org/apache/tools/ant/filters/TailFilter.java
index fcc84d1..0f26496 100644
--- a/src/main/org/apache/tools/ant/filters/TailFilter.java
+++ b/src/main/org/apache/tools/ant/filters/TailFilter.java
@@ -187,13 +187,13 @@ public final class TailFilter extends BaseParamFilterReader
     private void initialize() {
         Parameter[] params = getParameters();
         if (params != null) {
-            for (int i = 0; i < params.length; i++) {
-                if (LINES_KEY.equals(params[i].getName())) {
-                    setLines(Long.parseLong(params[i].getValue()));
+            for (Parameter param : params) {
+                if (LINES_KEY.equals(param.getName())) {
+                    setLines(Long.parseLong(param.getValue()));
                     continue;
                 }
-                if (SKIP_KEY.equals(params[i].getName())) {
-                    skip = Long.parseLong(params[i].getValue());
+                if (SKIP_KEY.equals(param.getName())) {
+                    skip = Long.parseLong(param.getValue());
                     continue;
                 }
             }

http://git-wip-us.apache.org/repos/asf/ant/blob/8c38eb4c/src/main/org/apache/tools/ant/filters/util/JavaClassHelper.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/filters/util/JavaClassHelper.java b/src/main/org/apache/tools/ant/filters/util/JavaClassHelper.java
index b0c67ce..4e97521 100644
--- a/src/main/org/apache/tools/ant/filters/util/JavaClassHelper.java
+++ b/src/main/org/apache/tools/ant/filters/util/JavaClassHelper.java
@@ -48,8 +48,7 @@ public final class JavaClassHelper {
         final ClassParser parser = new ClassParser(bis, "");
         final JavaClass javaClass = parser.parse();
         final Field[] fields = javaClass.getFields();
-        for (int i = 0; i < fields.length; i++) {
-            final Field field = fields[i];
+        for (final Field field : fields) {
             if (field != null) {
                 final ConstantValue cv = field.getConstantValue();
                 if (cv != null) {

http://git-wip-us.apache.org/repos/asf/ant/blob/8c38eb4c/src/main/org/apache/tools/ant/helper/DefaultExecutor.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/helper/DefaultExecutor.java b/src/main/org/apache/tools/ant/helper/DefaultExecutor.java
index cdbc587..dbdd36e 100644
--- a/src/main/org/apache/tools/ant/helper/DefaultExecutor.java
+++ b/src/main/org/apache/tools/ant/helper/DefaultExecutor.java
@@ -36,9 +36,9 @@ public class DefaultExecutor implements Executor {
     public void executeTargets(Project project, String[] targetNames)
         throws BuildException {
         BuildException thrownException = null;
-        for (int i = 0; i < targetNames.length; i++) {
+        for (String targetName : targetNames) {
             try {
-                project.executeTarget(targetNames[i]);
+                project.executeTarget(targetName);
             } catch (BuildException ex) {
                 if (project.isKeepGoingMode()) {
                     thrownException = ex;

http://git-wip-us.apache.org/repos/asf/ant/blob/8c38eb4c/src/main/org/apache/tools/ant/helper/IgnoreDependenciesExecutor.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/helper/IgnoreDependenciesExecutor.java b/src/main/org/apache/tools/ant/helper/IgnoreDependenciesExecutor.java
index da85dba..be0a289 100644
--- a/src/main/org/apache/tools/ant/helper/IgnoreDependenciesExecutor.java
+++ b/src/main/org/apache/tools/ant/helper/IgnoreDependenciesExecutor.java
@@ -42,11 +42,11 @@ public class IgnoreDependenciesExecutor implements Executor {
         throws BuildException {
         Hashtable<String, Target> targets = project.getTargets();
         BuildException thrownException = null;
-        for (int i = 0; i < targetNames.length; i++) {
+        for (String targetName : targetNames) {
             try {
-                Target t = targets.get(targetNames[i]);
+                Target t = targets.get(targetName);
                 if (t == null) {
-                  throw new BuildException("Unknown target " + targetNames[i]);
+                    throw new BuildException("Unknown target " + targetName);
                 }
                 t.performTasks();
             } catch (BuildException ex) {

http://git-wip-us.apache.org/repos/asf/ant/blob/8c38eb4c/src/main/org/apache/tools/ant/launch/Launcher.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/launch/Launcher.java b/src/main/org/apache/tools/ant/launch/Launcher.java
index 10ca77c..953792b 100644
--- a/src/main/org/apache/tools/ant/launch/Launcher.java
+++ b/src/main/org/apache/tools/ant/launch/Launcher.java
@@ -148,10 +148,11 @@ public class Launcher {
             }
             if (getJars && element.isDirectory()) {
                 // add any jars in the directory
-                final URL[] dirURLs = Locator.getLocationURLs(element);
-                for (int j = 0; j < dirURLs.length; ++j) {
-                    if (launchDiag) { System.out.println("adding library JAR: " + dirURLs[j]);}
-                    libPathURLs.add(dirURLs[j]);
+                for (URL dirURL : Locator.getLocationURLs(element)) {
+                    if (launchDiag) {
+                        System.out.println("adding library JAR: " + dirURL);
+                    }
+                    libPathURLs.add(dirURL);
                 }
             }
 
@@ -268,9 +269,9 @@ public class Launcher {
             baseClassPath.setLength(baseClassPath.length() - 1);
         }
 
-        for (int i = 0; i < jars.length; ++i) {
+        for (URL jar : jars) {
             baseClassPath.append(File.pathSeparatorChar);
-            baseClassPath.append(Locator.fromURI(jars[i].toString()));
+            baseClassPath.append(Locator.fromURI(jar.toString()));
         }
 
         setProperty(JAVA_CLASS_PATH, baseClassPath.toString());

http://git-wip-us.apache.org/repos/asf/ant/blob/8c38eb4c/src/main/org/apache/tools/ant/launch/Locator.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/launch/Locator.java b/src/main/org/apache/tools/ant/launch/Locator.java
index 4f5aef4..0513e64 100644
--- a/src/main/org/apache/tools/ant/launch/Locator.java
+++ b/src/main/org/apache/tools/ant/launch/Locator.java
@@ -89,10 +89,7 @@ public final class Locator {
         gAfterEscaping2[DEL] = 'F';
         char[] escChs = {' ', '<', '>', '#', '%', '"', '{', '}',
                          '|', '\\', '^', '~', '[', ']', '`'};
-        int len = escChs.length;
-        char ch;
-        for (int i = 0; i < len; i++) {
-            ch = escChs[i];
+        for (char ch : escChs) {
             gNeedEscaping[ch] = true;
             gAfterEscaping1[ch] = gHexChs[ch >> NIBBLE];
             gAfterEscaping2[ch] = gHexChs[ch & NIBBLE_MASK];
@@ -498,8 +495,8 @@ public final class Locator {
             urls = new URL[1];
             String path = location.getPath();
             String littlePath = path.toLowerCase(Locale.ENGLISH);
-            for (int i = 0; i < extensions.length; ++i) {
-                if (littlePath.endsWith(extensions[i])) {
+            for (String extension : extensions) {
+                if (littlePath.endsWith(extension)) {
                     urls[0] = fileToURL(location);
                     break;
                 }

http://git-wip-us.apache.org/repos/asf/ant/blob/8c38eb4c/src/main/org/apache/tools/ant/taskdefs/AbstractCvsTask.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/taskdefs/AbstractCvsTask.java b/src/main/org/apache/tools/ant/taskdefs/AbstractCvsTask.java
index 09b9b4a..59f91c8 100644
--- a/src/main/org/apache/tools/ant/taskdefs/AbstractCvsTask.java
+++ b/src/main/org/apache/tools/ant/taskdefs/AbstractCvsTask.java
@@ -438,10 +438,10 @@ public abstract class AbstractCvsTask extends Task {
             stringBuffer.append(newLine);
             stringBuffer.append("environment:");
             stringBuffer.append(newLine);
-            for (int z = 0; z < variableArray.length; z++) {
+            for (String variable : variableArray) {
                 stringBuffer.append(newLine);
                 stringBuffer.append("\t");
-                stringBuffer.append(variableArray[z]);
+                stringBuffer.append(variable);
             }
         }
 

http://git-wip-us.apache.org/repos/asf/ant/blob/8c38eb4c/src/main/org/apache/tools/ant/taskdefs/AntStructure.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/taskdefs/AntStructure.java b/src/main/org/apache/tools/ant/taskdefs/AntStructure.java
index 8554a2a..331c1a9 100644
--- a/src/main/org/apache/tools/ant/taskdefs/AntStructure.java
+++ b/src/main/org/apache/tools/ant/taskdefs/AntStructure.java
@@ -456,8 +456,8 @@ public class AntStructure extends Task {
          * @return true if all the strings in the array math XML-NMTOKEN
          */
         public static final boolean areNmtokens(final String[] s) {
-            for (int i = 0; i < s.length; i++) {
-                if (!isNmtoken(s[i])) {
+            for (String value : s) {
+                if (!isNmtoken(value)) {
                     return false;
                 }
             }

http://git-wip-us.apache.org/repos/asf/ant/blob/8c38eb4c/src/main/org/apache/tools/ant/taskdefs/Checksum.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/taskdefs/Checksum.java b/src/main/org/apache/tools/ant/taskdefs/Checksum.java
index bd95e93..ff95dac 100644
--- a/src/main/org/apache/tools/ant/taskdefs/Checksum.java
+++ b/src/main/org/apache/tools/ant/taskdefs/Checksum.java
@@ -581,9 +581,9 @@ public class Checksum extends MatchingTask implements Condition {
     }
 
     private String createDigestString(byte[] fileDigest) {
-        StringBuffer checksumSb = new StringBuffer();
-        for (int i = 0; i < fileDigest.length; i++) {
-            String hexStr = Integer.toHexString(BYTE_MASK & fileDigest[i]);
+        StringBuilder checksumSb = new StringBuilder();
+        for (byte digestByte : fileDigest) {
+            String hexStr = Integer.toHexString(BYTE_MASK & digestByte);
             if (hexStr.length() < 2) {
                 checksumSb.append("0");
             }

http://git-wip-us.apache.org/repos/asf/ant/blob/8c38eb4c/src/main/org/apache/tools/ant/taskdefs/Classloader.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/taskdefs/Classloader.java b/src/main/org/apache/tools/ant/taskdefs/Classloader.java
index 57bbf90..a7b9691 100644
--- a/src/main/org/apache/tools/ant/taskdefs/Classloader.java
+++ b/src/main/org/apache/tools/ant/taskdefs/Classloader.java
@@ -225,9 +225,8 @@ public class Classloader extends Task {
             }
 
             if (existingLoader && classpath != null) {
-                String[] list = classpath.list();
-                for (int i = 0; i < list.length; i++) {
-                    File f = new File(list[i]);
+                for (String path : classpath.list()) {
+                    File f = new File(path);
                     if (f.exists()) {
                         log("Adding to class loader " + acl + " " + f.getAbsolutePath(),
                                 Project.MSG_DEBUG);

http://git-wip-us.apache.org/repos/asf/ant/blob/8c38eb4c/src/main/org/apache/tools/ant/taskdefs/Copy.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/taskdefs/Copy.java b/src/main/org/apache/tools/ant/taskdefs/Copy.java
index fab7379..5845523 100644
--- a/src/main/org/apache/tools/ant/taskdefs/Copy.java
+++ b/src/main/org/apache/tools/ant/taskdefs/Copy.java
@@ -773,28 +773,27 @@ public class Copy extends Task {
                             final FileNameMapper mapper, final Hashtable<String, String[]> map) {
         String[] toCopy = null;
         if (forceOverwrite) {
-            final Vector<String> v = new Vector<String>();
-            for (int i = 0; i < names.length; i++) {
-                if (mapper.mapFileName(names[i]) != null) {
-                    v.addElement(names[i]);
+            final List<String> v = new ArrayList<String>();
+            for (String name : names) {
+                if (mapper.mapFileName(name) != null) {
+                    v.add(name);
                 }
             }
-            toCopy = new String[v.size()];
-            v.copyInto(toCopy);
+            toCopy = v.toArray(new String[v.size()]);
         } else {
             final SourceFileScanner ds = new SourceFileScanner(this);
             toCopy = ds.restrict(names, fromDir, toDir, mapper, granularity);
         }
-        for (int i = 0; i < toCopy.length; i++) {
-            final File src = new File(fromDir, toCopy[i]);
-            final String[] mappedFiles = mapper.mapFileName(toCopy[i]);
+        for (String name : toCopy) {
+            final File src = new File(fromDir, name);
+            final String[] mappedFiles = mapper.mapFileName(name);
             if (mappedFiles == null || mappedFiles.length == 0) {
                 continue;
             }
 
             if (!enableMultipleMappings) {
                 map.put(src.getAbsolutePath(),
-                        new String[] {new File(toDir, mappedFiles[0]).getAbsolutePath()});
+                        new String[]{new File(toDir, mappedFiles[0]).getAbsolutePath()});
             } else {
                 // reuse the array created by the mapper
                 for (int k = 0; k < mappedFiles.length; k++) {
@@ -819,14 +818,13 @@ public class Copy extends Task {
         final HashMap<Resource, String[]> map = new HashMap<Resource, String[]>();
         Resource[] toCopy = null;
         if (forceOverwrite) {
-            final Vector<Resource> v = new Vector<Resource>();
-            for (int i = 0; i < fromResources.length; i++) {
-                if (mapper.mapFileName(fromResources[i].getName()) != null) {
-                    v.addElement(fromResources[i]);
+            final List<Resource> v = new ArrayList<Resource>();
+            for (Resource rc : fromResources) {
+                if (mapper.mapFileName(rc.getName()) != null) {
+                    v.add(rc);
                 }
             }
-            toCopy = new Resource[v.size()];
-            v.copyInto(toCopy);
+            toCopy = v.toArray(new Resource[v.size()]);
         } else {
             toCopy = ResourceUtils.selectOutOfDateSources(this, fromResources,
                                                           mapper,
@@ -837,22 +835,21 @@ public class Copy extends Task {
                                                           },
                                                           granularity);
         }
-        for (int i = 0; i < toCopy.length; i++) {
-            final String[] mappedFiles = mapper.mapFileName(toCopy[i].getName());
+        for (Resource rc : toCopy) {
+            final String[] mappedFiles = mapper.mapFileName(rc.getName());
             if (mappedFiles == null || mappedFiles.length == 0) {
                 throw new BuildException("Can't copy a resource without a"
                         + " name if the mapper doesn't"
                         + " provide one.");
             }
             if (!enableMultipleMappings) {
-                map.put(toCopy[i],
-                        new String[] {new File(toDir, mappedFiles[0]).getAbsolutePath()});
+                map.put(rc, new String[]{new File(toDir, mappedFiles[0]).getAbsolutePath()});
             } else {
                 // reuse the array created by the mapper
                 for (int k = 0; k < mappedFiles.length; k++) {
                     mappedFiles[k] = new File(toDir, mappedFiles[k]).getAbsolutePath();
                 }
-                map.put(toCopy[i], mappedFiles);
+                map.put(rc, mappedFiles);
             }
         }
         return map;
@@ -870,11 +867,8 @@ public class Copy extends Task {
 
             for (final Map.Entry<String, String[]> e : fileCopyMap.entrySet()) {
                 final String fromFile = e.getKey();
-                final String[] toFiles = e.getValue();
-
-                for (int i = 0; i < toFiles.length; i++) {
-                    final String toFile = toFiles[i];
 
+                for (final String toFile : e.getValue()) {
                     if (fromFile.equals(toFile)) {
                         log("Skipping self-copy of " + fromFile, verbosity);
                         continue;

http://git-wip-us.apache.org/repos/asf/ant/blob/8c38eb4c/src/main/org/apache/tools/ant/taskdefs/CopyPath.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/taskdefs/CopyPath.java b/src/main/org/apache/tools/ant/taskdefs/CopyPath.java
index afedf70..e5003d1 100644
--- a/src/main/org/apache/tools/ant/taskdefs/CopyPath.java
+++ b/src/main/org/apache/tools/ant/taskdefs/CopyPath.java
@@ -177,17 +177,15 @@ public class CopyPath extends Task {
             return;
         }
 
-        for (int sources = 0; sources < sourceFiles.length; sources++) {
+        for (String sourceFileName : sourceFiles) {
 
-            String sourceFileName = sourceFiles[sources];
             File sourceFile = new File(sourceFileName);
             String[] toFiles = (String[]) mapper.mapFileName(sourceFileName);
             if (toFiles == null) {
                 continue;
             }
 
-            for (int i = 0; i < toFiles.length; i++) {
-                String destFileName = toFiles[i];
+            for (String destFileName : toFiles) {
                 File destFile = new File(destDir, destFileName);
 
                 if (sourceFile.equals(destFile)) {

http://git-wip-us.apache.org/repos/asf/ant/blob/8c38eb4c/src/main/org/apache/tools/ant/taskdefs/Copydir.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/taskdefs/Copydir.java b/src/main/org/apache/tools/ant/taskdefs/Copydir.java
index 8b4efc3..26fc715 100644
--- a/src/main/org/apache/tools/ant/taskdefs/Copydir.java
+++ b/src/main/org/apache/tools/ant/taskdefs/Copydir.java
@@ -144,8 +144,7 @@ public class Copydir extends MatchingTask {
     }
 
     private void scanDir(File from, File to, String[] files) {
-        for (int i = 0; i < files.length; i++) {
-            String filename = files[i];
+        for (String filename : files) {
             File srcFile = new File(from, filename);
             File destFile;
             if (flatten) {

http://git-wip-us.apache.org/repos/asf/ant/blob/8c38eb4c/src/main/org/apache/tools/ant/taskdefs/Delete.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/taskdefs/Delete.java b/src/main/org/apache/tools/ant/taskdefs/Delete.java
index bf266a0..f887695 100644
--- a/src/main/org/apache/tools/ant/taskdefs/Delete.java
+++ b/src/main/org/apache/tools/ant/taskdefs/Delete.java
@@ -627,8 +627,7 @@ public class Delete extends MatchingTask {
         }
 
         final int size = filesets.size();
-        for (int i = 0; i < size; i++) {
-            FileSet fs = (FileSet) filesets.get(i);
+        for (FileSet fs : filesets) {
             if (fs.getProject() == null) {
                 log("Deleting fileset with no project specified;"
                     + " assuming executing project", Project.MSG_VERBOSE);
@@ -674,11 +673,9 @@ public class Delete extends MatchingTask {
                         String[] links = new String[n.length];
                         System.arraycopy(n, 0, links, 0, n.length);
                         Arrays.sort(links, ReverseDirs.REVERSE);
-                        for (int l = 0; l < links.length; l++) {
+                        for (String link : links) {
                             try {
-                                SYMLINK_UTILS
-                                    .deleteSymbolicLink(new File(links[l]),
-                                                        this);
+                                SYMLINK_UTILS.deleteSymbolicLink(new File(link), this);
                             } catch (java.io.IOException ex) {
                                 handle(ex);
                             }
@@ -772,8 +769,7 @@ public class Delete extends MatchingTask {
         if (list == null) {
             list = new String[0];
         }
-        for (int i = 0; i < list.length; i++) {
-            String s = list[i];
+        for (String s : list) {
             File f = new File(d, s);
             if (f.isDirectory()) {
                 removeDir(f);
@@ -801,8 +797,8 @@ public class Delete extends MatchingTask {
         if (files.length > 0) {
             log("Deleting " + files.length + " files from "
                 + d.getAbsolutePath(), quiet ? Project.MSG_VERBOSE : verbosity);
-            for (int j = 0; j < files.length; j++) {
-                File f = new File(d, files[j]);
+            for (String filename : files) {
+                File f = new File(d, filename);
                 log("Deleting " + f.getAbsolutePath(),
                         quiet ? Project.MSG_VERBOSE : verbosity);
                 if (!delete(f)) {

http://git-wip-us.apache.org/repos/asf/ant/blob/8c38eb4c/src/main/org/apache/tools/ant/taskdefs/Deltree.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/taskdefs/Deltree.java b/src/main/org/apache/tools/ant/taskdefs/Deltree.java
index 7290a63..8657d76 100644
--- a/src/main/org/apache/tools/ant/taskdefs/Deltree.java
+++ b/src/main/org/apache/tools/ant/taskdefs/Deltree.java
@@ -90,9 +90,7 @@ public class Deltree extends Task {
         //        if (dir.getCanonicalPath().equals(dir.getAbsolutePath())) {
         // (costin) It will not work if /home/costin is symlink to
         // /da0/home/costin ( taz for example )
-        String[] list = dir.list();
-        for (int i = 0; i < list.length; i++) {
-            String s = list[i];
+        for (String s : dir.list()) {
             File f = new File(dir, s);
             if (f.isDirectory()) {
                 removeDir(f);

http://git-wip-us.apache.org/repos/asf/ant/blob/8c38eb4c/src/main/org/apache/tools/ant/taskdefs/ExecTask.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/taskdefs/ExecTask.java b/src/main/org/apache/tools/ant/taskdefs/ExecTask.java
index b9eb963..cc3c2bd 100644
--- a/src/main/org/apache/tools/ant/taskdefs/ExecTask.java
+++ b/src/main/org/apache/tools/ant/taskdefs/ExecTask.java
@@ -447,9 +447,9 @@ public class ExecTask extends Task {
             Path p = null;
             String[] environment = env.getVariables();
             if (environment != null) {
-                for (int i = 0; i < environment.length; i++) {
-                    if (isPath(environment[i])) {
-                        p = new Path(getProject(), getPath(environment[i]));
+                for (String variable : environment) {
+                    if (isPath(variable)) {
+                        p = new Path(getProject(), getPath(variable));
                         break;
                     }
                 }
@@ -461,10 +461,9 @@ public class ExecTask extends Task {
                 }
             }
             if (p != null) {
-                String[] dirs = p.list();
-                for (int i = 0; i < dirs.length; i++) {
+                for (String pathname : p.list()) {
                     executableFile
-                        = FILE_UTILS.resolveFile(new File(dirs[i]), exec);
+                            = FILE_UTILS.resolveFile(new File(pathname), exec);
                     if (executableFile.exists()) {
                         return executableFile.getAbsolutePath();
                     }
@@ -605,9 +604,9 @@ public class ExecTask extends Task {
         exe.setVMLauncher(vmLauncher);
         String[] environment = env.getVariables();
         if (environment != null) {
-            for (int i = 0; i < environment.length; i++) {
-                log("Setting environment variable: " + environment[i],
-                    Project.MSG_VERBOSE);
+            for (String variable : environment) {
+                log("Setting environment variable: " + variable,
+                        Project.MSG_VERBOSE);
             }
         }
         exe.setNewenvironment(newEnvironment);

http://git-wip-us.apache.org/repos/asf/ant/blob/8c38eb4c/src/main/org/apache/tools/ant/taskdefs/Execute.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/taskdefs/Execute.java b/src/main/org/apache/tools/ant/taskdefs/Execute.java
index d9923e8..9b4c268 100644
--- a/src/main/org/apache/tools/ant/taskdefs/Execute.java
+++ b/src/main/org/apache/tools/ant/taskdefs/Execute.java
@@ -612,8 +612,7 @@ public class Execute {
         }
         Map<String, String> osEnv =
             new LinkedHashMap<String, String>(getEnvironmentVariables());
-        for (int i = 0; i < env.length; i++) {
-            String keyValue = env[i];
+        for (String keyValue : env) {
             String key = keyValue.substring(0, keyValue.indexOf('='));
             // Find the key in the current environment copy
             // and remove it.

http://git-wip-us.apache.org/repos/asf/ant/blob/8c38eb4c/src/main/org/apache/tools/ant/taskdefs/ExecuteJava.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/taskdefs/ExecuteJava.java b/src/main/org/apache/tools/ant/taskdefs/ExecuteJava.java
index 2f65308..08fd8cd 100644
--- a/src/main/org/apache/tools/ant/taskdefs/ExecuteJava.java
+++ b/src/main/org/apache/tools/ant/taskdefs/ExecuteJava.java
@@ -272,9 +272,8 @@ public class ExecuteJava implements Runnable, TimeoutObserver {
     public int fork(ProjectComponent pc) throws BuildException {
         CommandlineJava cmdl = new CommandlineJava();
         cmdl.setClassname(javaCommand.getExecutable());
-        String[] args = javaCommand.getArguments();
-        for (int i = 0; i < args.length; i++) {
-            cmdl.createArgument().setValue(args[i]);
+        for (String arg : javaCommand.getArguments()) {
+            cmdl.createArgument().setValue(arg);
         }
         if (classpath != null) {
             cmdl.createClasspath(pc.getProject()).append(classpath);

http://git-wip-us.apache.org/repos/asf/ant/blob/8c38eb4c/src/main/org/apache/tools/ant/taskdefs/ExecuteOn.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/taskdefs/ExecuteOn.java b/src/main/org/apache/tools/ant/taskdefs/ExecuteOn.java
index 39cc03a..44a7977 100644
--- a/src/main/org/apache/tools/ant/taskdefs/ExecuteOn.java
+++ b/src/main/org/apache/tools/ant/taskdefs/ExecuteOn.java
@@ -21,6 +21,7 @@ package org.apache.tools.ant.taskdefs;
 import java.io.File;
 import java.io.IOException;
 import java.util.HashSet;
+import java.util.Set;
 import java.util.Vector;
 
 import org.apache.tools.ant.BuildException;
@@ -369,19 +370,17 @@ public class ExecuteOn extends ExecTask {
                 DirectoryScanner ds = fs.getDirectoryScanner(getProject());
 
                 if (!FileDirBoth.DIR.equals(currentType)) {
-                    String[] s = getFiles(base, ds);
-                    for (int j = 0; j < s.length; j++) {
+                    for (String value : getFiles(base, ds)) {
                         totalFiles++;
-                        fileNames.addElement(s[j]);
-                        baseDirs.addElement(base);
+                        fileNames.add(value);
+                        baseDirs.add(base);
                     }
                 }
                 if (!FileDirBoth.FILE.equals(currentType)) {
-                    String[] s = getDirs(base, ds);
-                    for (int j = 0; j < s.length; j++) {
+                    for (String value : getDirs(base, ds)) {
                         totalDirs++;
-                        fileNames.addElement(s[j]);
-                        baseDirs.addElement(base);
+                        fileNames.add(value);
+                        baseDirs.add(base);
                     }
                 }
                 if (fileNames.size() == 0 && skipEmpty) {
@@ -516,9 +515,9 @@ public class ExecuteOn extends ExecTask {
         final char fileSeparator = File.separatorChar;
         Vector<String> targets = new Vector<String>();
         if (targetFilePos != null) {
-            HashSet<String> addedFiles = new HashSet<String>();
-            for (int i = 0; i < srcFiles.length; i++) {
-                String[] subTargets = mapper.mapFileName(srcFiles[i]);
+            Set<String> addedFiles = new HashSet<String>();
+            for (String srcFile : srcFiles) {
+                String[] subTargets = mapper.mapFileName(srcFile);
                 if (subTargets != null) {
                     for (int j = 0; j < subTargets.length; j++) {
                         String name = null;

http://git-wip-us.apache.org/repos/asf/ant/blob/8c38eb4c/src/main/org/apache/tools/ant/taskdefs/Expand.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/taskdefs/Expand.java b/src/main/org/apache/tools/ant/taskdefs/Expand.java
index 3f83b65..b3897ef 100644
--- a/src/main/org/apache/tools/ant/taskdefs/Expand.java
+++ b/src/main/org/apache/tools/ant/taskdefs/Expand.java
@@ -279,18 +279,16 @@ public class Expand extends Task {
             boolean included = false;
             Set<String> includePatterns = new HashSet<String>();
             Set<String> excludePatterns = new HashSet<String>();
-            final int size = patternsets.size();
-            for (int v = 0; v < size; v++) {
-                PatternSet p = patternsets.elementAt(v);
+            for (PatternSet p : patternsets) {
                 String[] incls = p.getIncludePatterns(getProject());
                 if (incls == null || incls.length == 0) {
                     // no include pattern implicitly means includes="**"
-                    incls = new String[] {"**"};
+                    incls = new String[]{"**"};
                 }
 
-                for (int w = 0; w < incls.length; w++) {
-                    String pattern = incls[w].replace('/', File.separatorChar)
-                        .replace('\\', File.separatorChar);
+                for (String incl : incls) {
+                    String pattern = incl.replace('/', File.separatorChar)
+                            .replace('\\', File.separatorChar);
                     if (pattern.endsWith(File.separator)) {
                         pattern += "**";
                     }
@@ -299,10 +297,9 @@ public class Expand extends Task {
 
                 String[] excls = p.getExcludePatterns(getProject());
                 if (excls != null) {
-                    for (int w = 0; w < excls.length; w++) {
-                        String pattern = excls[w]
-                            .replace('/', File.separatorChar)
-                            .replace('\\', File.separatorChar);
+                    for (String excl : excls) {
+                        String pattern = excl.replace('/', File.separatorChar)
+                                .replace('\\', File.separatorChar);
                         if (pattern.endsWith(File.separator)) {
                             pattern += "**";
                         }

http://git-wip-us.apache.org/repos/asf/ant/blob/8c38eb4c/src/main/org/apache/tools/ant/taskdefs/FixCRLF.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/taskdefs/FixCRLF.java b/src/main/org/apache/tools/ant/taskdefs/FixCRLF.java
index 867c579..01a7128 100644
--- a/src/main/org/apache/tools/ant/taskdefs/FixCRLF.java
+++ b/src/main/org/apache/tools/ant/taskdefs/FixCRLF.java
@@ -299,10 +299,9 @@ public class FixCRLF extends MatchingTask implements ChainableReader {
             Project.MSG_VERBOSE);
 
         DirectoryScanner ds = super.getDirectoryScanner(srcDir);
-        String[] files = ds.getIncludedFiles();
 
-        for (int i = 0; i < files.length; i++) {
-            processFile(files[i]);
+        for (String filename : ds.getIncludedFiles()) {
+            processFile(filename);
         }
     }
 

http://git-wip-us.apache.org/repos/asf/ant/blob/8c38eb4c/src/main/org/apache/tools/ant/taskdefs/Jar.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/taskdefs/Jar.java b/src/main/org/apache/tools/ant/taskdefs/Jar.java
index f31ac6f..26ee087 100644
--- a/src/main/org/apache/tools/ant/taskdefs/Jar.java
+++ b/src/main/org/apache/tools/ant/taskdefs/Jar.java
@@ -574,10 +574,8 @@ public class Jar extends Zip {
 
     private void writeManifest(ZipOutputStream zOut, Manifest manifest)
         throws IOException {
-        for (Enumeration<String> e = manifest.getWarnings();
-             e.hasMoreElements();) {
-            log("Manifest warning: " + e.nextElement(),
-                Project.MSG_WARN);
+        for (String warning : Collections.list(manifest.getWarnings())) {
+            log("Manifest warning: " + warning, Project.MSG_WARN);
         }
 
         zipDir((Resource) null, zOut, "META-INF/", ZipFileSet.DEFAULT_DIR_MODE,
@@ -661,13 +659,12 @@ public class Jar extends Zip {
                     cpEntries[c++] = tok.nextToken();
                 }
             }
-            String[] indexJarEntries = indexJars.list();
-            for (int i = 0; i < indexJarEntries.length; i++) {
-                String name = findJarName(indexJarEntries[i], cpEntries);
+            for (String indexJarEntry : indexJars.list()) {
+                String name = findJarName(indexJarEntry, cpEntries);
                 if (name != null) {
                     ArrayList<String> dirs = new ArrayList<String>();
                     ArrayList<String> files = new ArrayList<String>();
-                    grabFilesAndDirs(indexJarEntries[i], dirs, files);
+                    grabFilesAndDirs(indexJarEntry, dirs, files);
                     if (dirs.size() + files.size() > 0) {
                         writer.println(name);
                         writeIndexLikeList(dirs, files, writer);
@@ -830,8 +827,8 @@ public class Jar extends Zip {
             // checks here deferring them for the second run
             Resource[][] manifests = grabManifests(rcs);
             int count = 0;
-            for (int i = 0; i < manifests.length; i++) {
-                count += manifests[i].length;
+            for (Resource[] mf : manifests) {
+                count += mf.length;
             }
             log("found a total of " + count + " manifests in "
                 + manifests.length + " resource collections",

http://git-wip-us.apache.org/repos/asf/ant/blob/8c38eb4c/src/main/org/apache/tools/ant/taskdefs/Javac.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/taskdefs/Javac.java b/src/main/org/apache/tools/ant/taskdefs/Javac.java
index 0237ab6..5458720 100644
--- a/src/main/org/apache/tools/ant/taskdefs/Javac.java
+++ b/src/main/org/apache/tools/ant/taskdefs/Javac.java
@@ -1153,10 +1153,9 @@ public class Javac extends MatchingTask {
      */
     protected void scanDir(final File srcDir, final File destDir, final String[] files) {
         final GlobPatternMapper m = new GlobPatternMapper();
-        final String[] extensions = findSupportedFileExtensions();
 
-        for (int i = 0; i < extensions.length; i++) {
-            m.setFrom(extensions[i]);
+        for (String extension : findSupportedFileExtensions()) {
+            m.setFrom(extension);
             m.setTo("*.class");
             final SourceFileScanner sfs = new SourceFileScanner(this);
             final File[] newFiles = sfs.restrictAsFiles(files, srcDir, destDir, m);
@@ -1175,9 +1174,8 @@ public class Javac extends MatchingTask {
     }
 
     private void collectFileListFromSourcePath() {
-        final String[] list = src.list();
-        for (int i = 0; i < list.length; i++) {
-            final File srcDir = getProject().resolveFile(list[i]);
+        for (String filename : src.list()) {
+            final File srcDir = getProject().resolveFile(filename);
             if (!srcDir.exists()) {
                 throw new BuildException("srcdir \""
                                          + srcDir.getPath()
@@ -1195,7 +1193,8 @@ public class Javac extends MatchingTask {
         final FileUtils fu = FileUtils.getFileUtils();
         for (String pathElement : moduleSourcepath.list()) {
             boolean valid = false;
-            for (Map.Entry<String,Collection<File>> modules : resolveModuleSourcePathElement(getProject().getBaseDir(), pathElement).entrySet()) {
+            for (Map.Entry<String,Collection<File>> modules : resolveModuleSourcePathElement(
+                    getProject().getBaseDir(), pathElement).entrySet()) {
                 final String moduleName = modules.getKey();
                 for (File srcDir : modules.getValue()) {
                     if (srcDir.exists()) {

http://git-wip-us.apache.org/repos/asf/ant/blob/8c38eb4c/src/main/org/apache/tools/ant/taskdefs/Javadoc.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/taskdefs/Javadoc.java b/src/main/org/apache/tools/ant/taskdefs/Javadoc.java
index 931449f..a78c526 100644
--- a/src/main/org/apache/tools/ant/taskdefs/Javadoc.java
+++ b/src/main/org/apache/tools/ant/taskdefs/Javadoc.java
@@ -33,6 +33,7 @@ import java.io.OutputStreamWriter;
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.Enumeration;
 import java.util.HashSet;
 import java.util.Iterator;
@@ -1918,32 +1919,26 @@ public class Javadoc extends Task {
     private void doDoclet(final Commandline toExecute) {
         if (doclet != null) {
             if (doclet.getName() == null) {
-                throw new BuildException("The doclet name must be "
-                                         + "specified.", getLocation());
-            } else {
-                toExecute.createArgument().setValue("-doclet");
-                toExecute.createArgument().setValue(doclet.getName());
-                if (doclet.getPath() != null) {
-                    final Path docletPath
-                        = doclet.getPath().concatSystemClasspath("ignore");
-                    if (docletPath.size() != 0) {
-                        toExecute.createArgument().setValue("-docletpath");
-                        toExecute.createArgument().setPath(docletPath);
-                    }
+                throw new BuildException("The doclet name must be specified.",
+                    getLocation());
+            }
+            toExecute.createArgument().setValue("-doclet");
+            toExecute.createArgument().setValue(doclet.getName());
+            if (doclet.getPath() != null) {
+                final Path docletPath
+                    = doclet.getPath().concatSystemClasspath("ignore");
+                if (docletPath.size() != 0) {
+                    toExecute.createArgument().setValue("-docletpath");
+                    toExecute.createArgument().setPath(docletPath);
                 }
-                for (final Enumeration<DocletParam> e = doclet.getParams();
-                     e.hasMoreElements();) {
-                    final DocletParam param = e.nextElement();
-                    if (param.getName() == null) {
-                        throw new BuildException("Doclet parameters must "
-                                                 + "have a name");
-                    }
-
-                    toExecute.createArgument().setValue(param.getName());
-                    if (param.getValue() != null) {
-                        toExecute.createArgument()
-                            .setValue(param.getValue());
-                    }
+            }
+            for (final DocletParam param : Collections.list(doclet.getParams())) {
+                if (param.getName() == null) {
+                    throw new BuildException("Doclet parameters must have a name");
+                }
+                toExecute.createArgument().setValue(param.getName());
+                if (param.getValue() != null) {
+                    toExecute.createArgument().setValue(param.getValue());
                 }
             }
         }
@@ -2152,27 +2147,20 @@ public class Javadoc extends Task {
                     // -tag arguments.
                     final DirectoryScanner tagDefScanner =
                         ta.getDirectoryScanner(getProject());
-                    final String[] files = tagDefScanner.getIncludedFiles();
-                    for (int i = 0; i < files.length; i++) {
-                        final File tagDefFile = new File(tagDir, files[i]);
+                    for (String file : tagDefScanner.getIncludedFiles()) {
+                        final File tagDefFile = new File(tagDir, file);
                         try {
-                            final BufferedReader in
-                                = new BufferedReader(
-                                    new FileReader(tagDefFile)
-                                                     );
+                            final BufferedReader in = new BufferedReader(
+                                    new FileReader(tagDefFile));
                             String line = null;
                             while ((line = in.readLine()) != null) {
-                                toExecute.createArgument()
-                                    .setValue("-tag");
-                                toExecute.createArgument()
-                                    .setValue(line);
+                                toExecute.createArgument().setValue("-tag");
+                                toExecute.createArgument().setValue(line);
                             }
                             in.close();
                         } catch (final IOException ioe) {
-                            throw new BuildException(
-                                "Couldn't read "
-                                + " tag file from "
-                                + tagDefFile.getAbsolutePath(), ioe);
+                            throw new BuildException("Couldn't read  tag file from "
+                                    + tagDefFile.getAbsolutePath(), ioe);
                         }
                     }
                 }
@@ -2278,9 +2266,8 @@ public class Javadoc extends Task {
     }
 
     private boolean containsWhitespace(final String s) {
-        final int len = s.length();
-        for (int i = 0; i < len; i++) {
-            if (Character.isWhitespace(s.charAt(i))) {
+        for (char c : s.toCharArray()) {
+            if (Character.isWhitespace(c)) {
                 return true;
             }
         }
@@ -2290,10 +2277,8 @@ public class Javadoc extends Task {
     private String quoteString(final String str, final char delim) {
         final StringBuffer buf = new StringBuffer(str.length() * 2);
         buf.append(delim);
-        final int len = str.length();
         boolean lastCharWasCR = false;
-        for (int i = 0; i < len; i++) {
-            final char c = str.charAt(i);
+        for (final char c : str.toCharArray()) {
             if (c == delim) { // can't put the non-constant delim into a case
                 buf.append('\\').append(c);
                 lastCharWasCR = false;
@@ -2429,11 +2414,10 @@ public class Javadoc extends Task {
             final File baseDir = ds.getDir(getProject());
             log("scanning " + baseDir + " for packages.", Project.MSG_DEBUG);
             final DirectoryScanner dsc = ds.getDirectoryScanner(getProject());
-            final String[] dirs = dsc.getIncludedDirectories();
             boolean containsPackages = false;
-            for (int i = 0; i < dirs.length; i++) {
+            for (String dir : dsc.getIncludedDirectories()) {
                 // are there any java files in this directory?
-                final File pd = new File(baseDir, dirs[i]);
+                final File pd = new File(baseDir, dir);
                 final String[] files = pd.list(new FilenameFilter () {
                         public boolean accept(final File dir1, final String name) {
                             return name.endsWith(".java")
@@ -2443,7 +2427,7 @@ public class Javadoc extends Task {
                     });
 
                 if (files.length > 0) {
-                    if ("".equals(dirs[i])) {
+                    if ("".equals(dir)) {
                         log(baseDir
                             + " contains source files in the default package,"
                             + " you must specify them as source files"
@@ -2452,7 +2436,7 @@ public class Javadoc extends Task {
                     } else {
                         containsPackages = true;
                         final String packageName =
-                            dirs[i].replace(File.separatorChar, '.');
+                                dir.replace(File.separatorChar, '.');
                         if (!addedPackages.contains(packageName)) {
                             addedPackages.add(packageName);
                             pn.addElement(packageName);

http://git-wip-us.apache.org/repos/asf/ant/blob/8c38eb4c/src/main/org/apache/tools/ant/taskdefs/Jikes.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/taskdefs/Jikes.java b/src/main/org/apache/tools/ant/taskdefs/Jikes.java
index c94beca..89ac3f1 100644
--- a/src/main/org/apache/tools/ant/taskdefs/Jikes.java
+++ b/src/main/org/apache/tools/ant/taskdefs/Jikes.java
@@ -90,8 +90,8 @@ public class Jikes {
                     tmpFile = FileUtils.getFileUtils().createTempFile("jikes",
                             "tmp", null, false, true);
                     out = new BufferedWriter(new FileWriter(tmpFile));
-                    for (int i = 0; i < args.length; i++) {
-                        out.write(args[i]);
+                    for (String arg : args) {
+                        out.write(arg);
                         out.newLine();
                     }
                     out.flush();