git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@1504315 13f79535-47bb-0310-9956-ffa450edef68master
| @@ -567,7 +567,7 @@ | |||||
| <selector refid="not.in.kaffe" if="kaffe"/> | <selector refid="not.in.kaffe" if="kaffe"/> | ||||
| <selector refid="needs.apache-resolver" unless="apache.resolver.present"/> | <selector refid="needs.apache-resolver" unless="apache.resolver.present"/> | ||||
| <selector refid="needs.junit" unless="junit.present"/> <!-- XXX should perhaps use -source 1.4? --> | |||||
| <selector refid="needs.junit" unless="junit.present"/> <!-- TODO should perhaps use -source 1.4? --> | |||||
| <selector refid="needs.junit4" unless="junit4.present"/> | <selector refid="needs.junit4" unless="junit4.present"/> | ||||
| <selector refid="needs.apache-regexp" | <selector refid="needs.apache-regexp" | ||||
| unless="apache.regexp.present"/> | unless="apache.regexp.present"/> | ||||
| @@ -1631,7 +1631,7 @@ ${antunit.reports} | |||||
| <property name="test.junit.vmargs" value=""/> | <property name="test.junit.vmargs" value=""/> | ||||
| <property name="ant.junit.failureCollector" | <property name="ant.junit.failureCollector" | ||||
| value="${junit.collector.dir}/${junit.collector.class}"/> | value="${junit.collector.dir}/${junit.collector.class}"/> | ||||
| <!-- XXX includeantruntime="false" does not solve "multiple versions of ant detected in path for junit" warning --> | |||||
| <!-- TODO includeantruntime="false" does not solve "multiple versions of ant detected in path for junit" warning --> | |||||
| <junit printsummary="${junit.summary}" | <junit printsummary="${junit.summary}" | ||||
| haltonfailure="${test.haltonfailure}" | haltonfailure="${test.haltonfailure}" | ||||
| fork="${junit.fork}" | fork="${junit.fork}" | ||||
| @@ -61,7 +61,7 @@ | |||||
| </p> | </p> | ||||
| <p>In addition, Ant has some built-in properties:</p> | <p>In addition, Ant has some built-in properties:</p> | ||||
| <pre><!-- XXX use <dl><dt><code>...</code></dt><dd>...</dd></dl> instead --> | |||||
| <pre><!-- TODO use <dl><dt><code>...</code></dt><dd>...</dd></dl> instead --> | |||||
| basedir the absolute path of the project's basedir (as set | basedir the absolute path of the project's basedir (as set | ||||
| with the basedir attribute of <a href="using.html#projects"><project></a>). | with the basedir attribute of <a href="using.html#projects"><project></a>). | ||||
| ant.file the absolute path of the buildfile. | ant.file the absolute path of the buildfile. | ||||
| @@ -883,7 +883,7 @@ do a second checkstyle run. Now our task isn't listed. That's fine :-)</p> | |||||
| <h3>Creating the diff</h3> | <h3>Creating the diff</h3> | ||||
| <p>Creating a diff for Ant is very easy: just start <tt>ant -f patch.xml</tt> and all is done | <p>Creating a diff for Ant is very easy: just start <tt>ant -f patch.xml</tt> and all is done | ||||
| automatically. This step requires a cvs executable in your path and internet access (more precise: | automatically. This step requires a cvs executable in your path and internet access (more precise: | ||||
| cvs access). As a result we get a file <i> XXX </i>.</p> | |||||
| cvs access). As a result we get a file <i> TODO </i>.</p> | |||||
| --> | --> | ||||
| @@ -824,7 +824,7 @@ public class AntClassLoader extends ClassLoader implements SubBuildListener { | |||||
| // designated to use a specific loader first | // designated to use a specific loader first | ||||
| // (this one or the parent one) | // (this one or the parent one) | ||||
| // XXX - shouldn't this always return false in isolated mode? | |||||
| // TODO - shouldn't this always return false in isolated mode? | |||||
| boolean useParentFirst = parentFirst; | boolean useParentFirst = parentFirst; | ||||
| @@ -1561,4 +1561,4 @@ public class AntClassLoader extends ClassLoader implements SubBuildListener { | |||||
| return new AntClassLoader(parent, project, path, parentFirst); | return new AntClassLoader(parent, project, path, parentFirst); | ||||
| } | } | ||||
| } | |||||
| } | |||||
| @@ -962,7 +962,7 @@ public class Main implements AntMain { | |||||
| project.setInputHandler(handler); | project.setInputHandler(handler); | ||||
| } | } | ||||
| // XXX: (Jon Skeet) Any reason for writing a message and then using a bare | |||||
| // TODO: (Jon Skeet) Any reason for writing a message and then using a bare | |||||
| // RuntimeException rather than just using a BuildException here? Is it | // RuntimeException rather than just using a BuildException here? Is it | ||||
| // in case the message could end up being written to no loggers (as the | // in case the message could end up being written to no loggers (as the | ||||
| // loggers could have failed to be created due to this failure)? | // loggers could have failed to be created due to this failure)? | ||||
| @@ -185,7 +185,7 @@ public abstract class Task extends ProjectComponent { | |||||
| this.wrapper = wrapper; | this.wrapper = wrapper; | ||||
| } | } | ||||
| // XXX: (Jon Skeet) The comment "if it hasn't been done already" may | |||||
| // TODO: (Jon Skeet) The comment "if it hasn't been done already" may | |||||
| // not be strictly true. wrapper.maybeConfigure() won't configure the same | // not be strictly true. wrapper.maybeConfigure() won't configure the same | ||||
| // attributes/text more than once, but it may well add the children again, | // attributes/text more than once, but it may well add the children again, | ||||
| // unless I've missed something. | // unless I've missed something. | ||||
| @@ -699,7 +699,7 @@ public class ProjectHelper2 extends ProjectHelper { | |||||
| // Set the location of the implicit target associated with the project tag | // Set the location of the implicit target associated with the project tag | ||||
| context.getImplicitTarget().setLocation(new Location(context.getLocator())); | context.getImplicitTarget().setLocation(new Location(context.getLocator())); | ||||
| /** XXX I really don't like this - the XML processor is still | |||||
| /** TODO I really don't like this - the XML processor is still | |||||
| * too 'involved' in the processing. A better solution (IMO) | * too 'involved' in the processing. A better solution (IMO) | ||||
| * would be to create UE for Project and Target too, and | * would be to create UE for Project and Target too, and | ||||
| * then process the tree and have Project/Target deal with | * then process the tree and have Project/Target deal with | ||||
| @@ -751,13 +751,13 @@ public class ProjectHelper2 extends ProjectHelper { | |||||
| baseDir = value; | baseDir = value; | ||||
| } | } | ||||
| } else { | } else { | ||||
| // XXX ignore attributes in a different NS ( maybe store them ? ) | |||||
| // TODO ignore attributes in a different NS ( maybe store them ? ) | |||||
| throw new SAXParseException("Unexpected attribute \"" + attrs.getQName(i) | throw new SAXParseException("Unexpected attribute \"" + attrs.getQName(i) | ||||
| + "\"", context.getLocator()); | + "\"", context.getLocator()); | ||||
| } | } | ||||
| } | } | ||||
| // XXX Move to Project ( so it is shared by all helpers ) | |||||
| // TODO Move to Project ( so it is shared by all helpers ) | |||||
| String antFileProp = | String antFileProp = | ||||
| MagicNames.ANT_FILE + "." + context.getCurrentProjectName(); | MagicNames.ANT_FILE + "." + context.getCurrentProjectName(); | ||||
| String dup = project.getProperty(antFileProp); | String dup = project.getProperty(antFileProp); | ||||
| @@ -727,7 +727,7 @@ public class ProjectHelperImpl extends ProjectHelper { | |||||
| if (task == null) { | if (task == null) { | ||||
| task = new UnknownElement(tag); | task = new UnknownElement(tag); | ||||
| task.setProject(helperImpl.project); | task.setProject(helperImpl.project); | ||||
| //XXX task.setTaskType(tag); | |||||
| //TODO task.setTaskType(tag); | |||||
| task.setTaskName(tag); | task.setTaskName(tag); | ||||
| } | } | ||||
| task.setLocation(new Location(helperImpl.locator)); | task.setLocation(new Location(helperImpl.locator)); | ||||
| @@ -166,7 +166,7 @@ public final class Locator { | |||||
| * | * | ||||
| * <p>Will be an absolute path if the given URI is absolute.</p> | * <p>Will be an absolute path if the given URI is absolute.</p> | ||||
| * | * | ||||
| * <p>Prior to Java 1.4,<!-- XXX is JDK version actually relevant? --> | |||||
| * <p>Prior to Java 1.4,<!-- TODO is JDK version actually relevant? --> | |||||
| * swallows '%' that are not followed by two characters.</p> | * swallows '%' that are not followed by two characters.</p> | ||||
| * | * | ||||
| * See <a href="http://www.w3.org/TR/xml11/#dt-sysid">dt-sysid</a> | * See <a href="http://www.w3.org/TR/xml11/#dt-sysid">dt-sysid</a> | ||||
| @@ -181,7 +181,7 @@ public final class Locator { | |||||
| public static String fromURI(String uri) { | public static String fromURI(String uri) { | ||||
| return fromURIJava13(uri); | return fromURIJava13(uri); | ||||
| // #buzilla8031: first try Java 1.4. | // #buzilla8031: first try Java 1.4. | ||||
| // XXX should use java.net.URI now that we can rely on 1.4... | |||||
| // TODO should use java.net.URI now that we can rely on 1.4... | |||||
| // but check for UNC-related regressions, e.g. #42275 | // but check for UNC-related regressions, e.g. #42275 | ||||
| // (and remember that \\server\share\file -> file:////server/share/file | // (and remember that \\server\share\file -> file:////server/share/file | ||||
| // rather than -> file://server/share/file as it should; | // rather than -> file://server/share/file as it should; | ||||
| @@ -392,7 +392,7 @@ public final class Locator { | |||||
| * Convert a File to a URL. | * Convert a File to a URL. | ||||
| * File.toURL() does not encode characters like #. | * File.toURL() does not encode characters like #. | ||||
| * File.toURI() has been introduced in java 1.4, so | * File.toURI() has been introduced in java 1.4, so | ||||
| * Ant cannot use it (except by reflection) <!-- XXX no longer true --> | |||||
| * Ant cannot use it (except by reflection) <!-- TODO no longer true --> | |||||
| * FileUtils.toURI() cannot be used by Locator.java | * FileUtils.toURI() cannot be used by Locator.java | ||||
| * Implemented this way. | * Implemented this way. | ||||
| * File.toURL() adds file: and changes '\' to '/' for dos OSes | * File.toURL() adds file: and changes '\' to '/' for dos OSes | ||||
| @@ -259,7 +259,7 @@ public abstract class AbstractCvsTask extends Task { | |||||
| * @throws BuildException if failonError is set to true and the cvs command fails | * @throws BuildException if failonError is set to true and the cvs command fails | ||||
| */ | */ | ||||
| protected void runCommand(Commandline toExecute) throws BuildException { | protected void runCommand(Commandline toExecute) throws BuildException { | ||||
| // XXX: we should use JCVS (www.ice.com/JCVS) instead of | |||||
| // TODO: we should use JCVS (www.ice.com/JCVS) instead of | |||||
| // command line execution so that we don't rely on having | // command line execution so that we don't rely on having | ||||
| // native CVS stuff around (SM) | // native CVS stuff around (SM) | ||||
| @@ -262,7 +262,7 @@ public abstract class AbstractJarSignerTask extends Task { | |||||
| // Try to avoid showing password prompts on log output, as they would be confusing. | // Try to avoid showing password prompts on log output, as they would be confusing. | ||||
| LineContainsRegExp filter = new LineContainsRegExp(); | LineContainsRegExp filter = new LineContainsRegExp(); | ||||
| RegularExpression rx = new RegularExpression(); | RegularExpression rx = new RegularExpression(); | ||||
| // XXX only handles English locale, not ja or zh_CN | |||||
| // TODO only handles English locale, not ja or zh_CN | |||||
| rx.setPattern("^(Enter Passphrase for keystore: |Enter key password for .+: )$"); | rx.setPattern("^(Enter Passphrase for keystore: |Enter key password for .+: )$"); | ||||
| filter.addConfiguredRegexp(rx); | filter.addConfiguredRegexp(rx); | ||||
| filter.setNegate(true); | filter.setNegate(true); | ||||
| @@ -288,7 +288,7 @@ public class AntStructure extends Task { | |||||
| ih = IntrospectionHelper.getHelper(p, element); | ih = IntrospectionHelper.getHelper(p, element); | ||||
| } catch (Throwable t) { | } catch (Throwable t) { | ||||
| /* | /* | ||||
| * XXX - failed to load the class properly. | |||||
| * TODO - failed to load the class properly. | |||||
| * | * | ||||
| * should we print a warning here? | * should we print a warning here? | ||||
| */ | */ | ||||
| @@ -433,7 +433,7 @@ public class AntStructure extends Task { | |||||
| final int length = s.length(); | final int length = s.length(); | ||||
| for (int i = 0; i < length; i++) { | for (int i = 0; i < length; i++) { | ||||
| char c = s.charAt(i); | char c = s.charAt(i); | ||||
| // XXX - we are committing CombiningChar and Extender here | |||||
| // TODO - we are committing CombiningChar and Extender here | |||||
| if (!Character.isLetterOrDigit(c) | if (!Character.isLetterOrDigit(c) | ||||
| && c != '.' && c != '-' && c != '_' && c != ':') { | && c != '.' && c != '-' && c != '_' && c != ':') { | ||||
| return false; | return false; | ||||
| @@ -178,7 +178,7 @@ public class Classloader extends Task { | |||||
| obj = null; // a new one will be created. | obj = null; // a new one will be created. | ||||
| } | } | ||||
| // XXX maybe use reflection to addPathElement (other patterns ?) | |||||
| // TODO maybe use reflection to addPathElement (other patterns ?) | |||||
| if (obj != null && !(obj instanceof AntClassLoader)) { | if (obj != null && !(obj instanceof AntClassLoader)) { | ||||
| log("Referenced object is not an AntClassLoader", | log("Referenced object is not an AntClassLoader", | ||||
| Project.MSG_ERR); | Project.MSG_ERR); | ||||
| @@ -235,7 +235,7 @@ public class Classloader extends Task { | |||||
| } | } | ||||
| } | } | ||||
| // XXX add exceptions | |||||
| // TODO add exceptions | |||||
| } catch (Exception ex) { | } catch (Exception ex) { | ||||
| ex.printStackTrace(); | ex.printStackTrace(); | ||||
| @@ -154,7 +154,7 @@ public class ExecuteJava implements Runnable, TimeoutObserver { | |||||
| thread = new Thread(this, "ExecuteJava"); | thread = new Thread(this, "ExecuteJava"); | ||||
| Task currentThreadTask | Task currentThreadTask | ||||
| = project.getThreadTask(Thread.currentThread()); | = project.getThreadTask(Thread.currentThread()); | ||||
| // XXX is the following really necessary? it is in the same thread group... | |||||
| // TODO is the following really necessary? it is in the same thread group... | |||||
| project.registerThreadTask(thread, currentThreadTask); | project.registerThreadTask(thread, currentThreadTask); | ||||
| // if we run into a timeout, the run-away thread shall not | // if we run into a timeout, the run-away thread shall not | ||||
| // make the VM run forever - if no timeout occurs, Ant's | // make the VM run forever - if no timeout occurs, Ant's | ||||
| @@ -188,7 +188,7 @@ public class ExecuteJava implements Runnable, TimeoutObserver { | |||||
| } catch (SecurityException e) { | } catch (SecurityException e) { | ||||
| throw e; | throw e; | ||||
| } catch (ThreadDeath e) { | } catch (ThreadDeath e) { | ||||
| // XXX could perhaps also call thread.stop(); not sure if anyone cares | |||||
| // TODO could perhaps also call thread.stop(); not sure if anyone cares | |||||
| throw e; | throw e; | ||||
| } catch (Throwable e) { | } catch (Throwable e) { | ||||
| throw new BuildException(e); | throw new BuildException(e); | ||||
| @@ -353,7 +353,7 @@ public class Jar extends Zip { | |||||
| try { | try { | ||||
| zf.close(); | zf.close(); | ||||
| } catch (IOException e) { | } catch (IOException e) { | ||||
| // XXX - log an error? throw an exception? | |||||
| // TODO - log an error? throw an exception? | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| @@ -392,7 +392,7 @@ public class Jar extends Zip { | |||||
| try { | try { | ||||
| zf.close(); | zf.close(); | ||||
| } catch (IOException e) { | } catch (IOException e) { | ||||
| // XXX - log an error? throw an exception? | |||||
| // TODO - log an error? throw an exception? | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| @@ -2212,7 +2212,7 @@ public class Javadoc extends Task { | |||||
| for (SourceFile sf : sourceFilesToDoc) { | for (SourceFile sf : sourceFilesToDoc) { | ||||
| String sourceFileName = sf.getFile().getAbsolutePath(); | String sourceFileName = sf.getFile().getAbsolutePath(); | ||||
| if (useExternalFile) { | if (useExternalFile) { | ||||
| // XXX what is the following doing? | |||||
| // TODO what is the following doing? | |||||
| // should it run if !javadoc4 && executable != null? | // should it run if !javadoc4 && executable != null? | ||||
| if (sourceFileName.indexOf(" ") > -1) { | if (sourceFileName.indexOf(" ") > -1) { | ||||
| String name = sourceFileName; | String name = sourceFileName; | ||||
| @@ -121,7 +121,7 @@ public class JikesOutputParser implements ExecuteStreamHandler { | |||||
| String line; | String line; | ||||
| String lower; | String lower; | ||||
| // We assume, that every output, jikes does, stands for an error/warning | // We assume, that every output, jikes does, stands for an error/warning | ||||
| // XXX | |||||
| // TODO | |||||
| // Is this correct? | // Is this correct? | ||||
| // TODO: | // TODO: | ||||
| @@ -162,7 +162,7 @@ public class Jikes extends DefaultCompilerAdapter { | |||||
| private void addPropertyParams(Commandline cmd) { | private void addPropertyParams(Commandline cmd) { | ||||
| /** | /** | ||||
| * XXX | |||||
| * TODO | |||||
| * Perhaps we shouldn't use properties for these | * Perhaps we shouldn't use properties for these | ||||
| * three options (emacs mode, warnings and pedantic), | * three options (emacs mode, warnings and pedantic), | ||||
| * but include it in the javac directive? | * but include it in the javac directive? | ||||
| @@ -274,7 +274,7 @@ public class Native2Ascii extends MatchingTask { | |||||
| } | } | ||||
| // Make intermediate directories if needed | // Make intermediate directories if needed | ||||
| // XXX JDK 1.1 doesn't have File.getParentFile, | |||||
| // TODO JDK 1.1 doesn't have File.getParentFile, | |||||
| String parentName = destFile.getParent(); | String parentName = destFile.getParent(); | ||||
| if (parentName != null) { | if (parentName != null) { | ||||
| File parentFile = new File(parentName); | File parentFile = new File(parentName); | ||||
| @@ -148,7 +148,7 @@ public class WLJspc extends MatchingTask { | |||||
| File jspFile = null; | File jspFile = null; | ||||
| String parents = ""; | String parents = ""; | ||||
| int j = 0; | int j = 0; | ||||
| //XXX this array stuff is a remnant of prev trials.. gotta remove. | |||||
| //TODO this array stuff is a remnant of prev trials.. gotta remove. | |||||
| args[j++] = "-d"; | args[j++] = "-d"; | ||||
| args[j++] = destinationDirectory.getAbsolutePath().trim(); | args[j++] = destinationDirectory.getAbsolutePath().trim(); | ||||
| args[j++] = "-docroot"; | args[j++] = "-docroot"; | ||||
| @@ -169,7 +169,7 @@ public class WLJspc extends MatchingTask { | |||||
| final int size = filesToDo.size(); | final int size = filesToDo.size(); | ||||
| for (int i = 0; i < size; i++) { | for (int i = 0; i < size; i++) { | ||||
| //XXX | |||||
| //TODO | |||||
| // All this to get package according to weblogic standards | // All this to get package according to weblogic standards | ||||
| // Can be written better... this is too hacky! | // Can be written better... this is too hacky! | ||||
| // Careful.. similar code in scanDir , but slightly different!! | // Careful.. similar code in scanDir , but slightly different!! | ||||
| @@ -271,7 +271,7 @@ public class WLJspc extends MatchingTask { | |||||
| String pack = ""; | String pack = ""; | ||||
| for (int i = 0; i < files.length; i++) { | for (int i = 0; i < files.length; i++) { | ||||
| File srcFile = new File(this.sourceDirectory, files[i]); | File srcFile = new File(this.sourceDirectory, files[i]); | ||||
| //XXX | |||||
| //TODO | |||||
| // All this to convert source to destination directory according | // All this to convert source to destination directory according | ||||
| // to weblogic standards Can be written better... this is too hacky! | // to weblogic standards Can be written better... this is too hacky! | ||||
| jspFile = new File(files[i]); | jspFile = new File(files[i]); | ||||
| @@ -290,7 +290,7 @@ public class JUnitTestRunner implements TestListener, JUnitTaskMirror.JUnitTestR | |||||
| boolean showOutput, boolean logTestListenerEvents, | boolean showOutput, boolean logTestListenerEvents, | ||||
| ClassLoader loader) { | ClassLoader loader) { | ||||
| super(); | super(); | ||||
| JUnitTestRunner.filtertrace = filtertrace; // XXX clumsy, should use instance field somehow | |||||
| JUnitTestRunner.filtertrace = filtertrace; // TODO clumsy, should use instance field somehow | |||||
| this.junitTest = test; | this.junitTest = test; | ||||
| this.haltOnError = haltOnError; | this.haltOnError = haltOnError; | ||||
| this.haltOnFailure = haltOnFailure; | this.haltOnFailure = haltOnFailure; | ||||
| @@ -2136,7 +2136,7 @@ public class FTP extends Task implements FTPTaskConfig { | |||||
| InputStream instream = null; | InputStream instream = null; | ||||
| try { | try { | ||||
| // XXX - why not simply new File(dir, filename)? | |||||
| // TODO - why not simply new File(dir, filename)? | |||||
| File file = getProject().resolveFile(new File(dir, filename).getPath()); | File file = getProject().resolveFile(new File(dir, filename).getPath()); | ||||
| if (newerOnly && isUpToDate(ftp, file, resolveFile(filename))) { | if (newerOnly && isUpToDate(ftp, file, resolveFile(filename))) { | ||||
| @@ -1523,7 +1523,7 @@ public class FTPTaskMirrorImpl implements FTPTaskMirror { | |||||
| InputStream instream = null; | InputStream instream = null; | ||||
| try { | try { | ||||
| // XXX - why not simply new File(dir, filename)? | |||||
| // TODO - why not simply new File(dir, filename)? | |||||
| File file = task.getProject().resolveFile(new File(dir, filename).getPath()); | File file = task.getProject().resolveFile(new File(dir, filename).getPath()); | ||||
| if (task.isNewer() && isUpToDate(ftp, file, resolveFile(filename))) { | if (task.isNewer() && isUpToDate(ftp, file, resolveFile(filename))) { | ||||
| @@ -601,7 +601,7 @@ public class Path extends DataType implements Cloneable, ResourceCollection { | |||||
| } | } | ||||
| if (System.getProperty("java.vendor").toLowerCase(Locale.ENGLISH).indexOf("microsoft") >= 0) { | if (System.getProperty("java.vendor").toLowerCase(Locale.ENGLISH).indexOf("microsoft") >= 0) { | ||||
| // XXX is this code still necessary? is there any 1.2+ port? | |||||
| // TODO is this code still necessary? is there any 1.2+ port? | |||||
| // Pull in *.zip from packages directory | // Pull in *.zip from packages directory | ||||
| FileSet msZipFiles = new FileSet(); | FileSet msZipFiles = new FileSet(); | ||||
| msZipFiles.setDir(new File(System.getProperty("java.home") | msZipFiles.setDir(new File(System.getProperty("java.home") | ||||
| @@ -116,7 +116,7 @@ public class Union extends BaseResourceCollectionContainer { | |||||
| */ | */ | ||||
| @Deprecated | @Deprecated | ||||
| @SuppressWarnings("unchecked") | @SuppressWarnings("unchecked") | ||||
| protected <T> Collection<T> getCollection(boolean asString) { // XXX untypable | |||||
| protected <T> Collection<T> getCollection(boolean asString) { // TODO untypable | |||||
| return asString ? (Collection<T>) getAllToStrings() : (Collection<T>) getAllResources(); | return asString ? (Collection<T>) getAllToStrings() : (Collection<T>) getAllResources(); | ||||
| } | } | ||||
| @@ -115,6 +115,6 @@ public class LazyHashtable extends Hashtable { | |||||
| return super.keys(); | return super.keys(); | ||||
| } | } | ||||
| // XXX Unfortunately JDK1.2 adds entrySet(), keySet(), values() - | |||||
| // TODO Unfortunately JDK1.2 adds entrySet(), keySet(), values() - | |||||
| // implementing this requires a small hack, we can add it later. | // implementing this requires a small hack, we can add it later. | ||||
| } | } | ||||
| @@ -145,7 +145,7 @@ public class RegexpPatternMapper implements FileNameMapper { | |||||
| result.append(to[i]); | result.append(to[i]); | ||||
| } | } | ||||
| } else { | } else { | ||||
| // XXX - should throw an exception instead? | |||||
| // TODO - should throw an exception instead? | |||||
| result.append('\\'); | result.append('\\'); | ||||
| } | } | ||||
| } else { | } else { | ||||
| @@ -61,7 +61,7 @@ public class JakartaOroRegexp extends JakartaOroMatcher implements Regexp { | |||||
| subst.append(c); | subst.append(c); | ||||
| } | } | ||||
| } else { | } else { | ||||
| // XXX - should throw an exception instead? | |||||
| // TODO - should throw an exception instead? | |||||
| subst.append('\\'); | subst.append('\\'); | ||||
| } | } | ||||
| } else { | } else { | ||||
| @@ -74,7 +74,7 @@ public class JakartaRegexpRegexp extends JakartaRegexpMatcher | |||||
| result.append(c); | result.append(c); | ||||
| } | } | ||||
| } else { | } else { | ||||
| // XXX - should throw an exception instead? | |||||
| // TODO - should throw an exception instead? | |||||
| result.append('\\'); | result.append('\\'); | ||||
| } | } | ||||
| } else { | } else { | ||||
| @@ -74,7 +74,7 @@ public class Jdk14RegexpRegexp extends Jdk14RegexpMatcher implements Regexp { | |||||
| subst.append(c); | subst.append(c); | ||||
| } | } | ||||
| } else { | } else { | ||||
| // XXX - should throw an exception instead? | |||||
| // TODO - should throw an exception instead? | |||||
| subst.append('\\'); | subst.append('\\'); | ||||
| } | } | ||||
| } else { | } else { | ||||
| @@ -60,7 +60,7 @@ public class RegexpFactory extends RegexpMatcherFactory { | |||||
| if (systemDefault != null) { | if (systemDefault != null) { | ||||
| return createRegexpInstance(systemDefault); | return createRegexpInstance(systemDefault); | ||||
| // XXX should we silently catch possible exceptions and try to | |||||
| // TODO should we silently catch possible exceptions and try to | |||||
| // load a different implementation? | // load a different implementation? | ||||
| } | } | ||||
| @@ -63,7 +63,7 @@ public class RegexpMatcherFactory { | |||||
| if (systemDefault != null) { | if (systemDefault != null) { | ||||
| return createInstance(systemDefault); | return createInstance(systemDefault); | ||||
| // XXX should we silently catch possible exceptions and try to | |||||
| // TODO should we silently catch possible exceptions and try to | |||||
| // load a different implementation? | // load a different implementation? | ||||
| } | } | ||||
| @@ -104,7 +104,7 @@ public class ExecTaskTest extends BuildFileTest { | |||||
| assertTrue("log file found after spawn", logFile.exists()); | assertTrue("log file found after spawn", logFile.exists()); | ||||
| } | } | ||||
| /* XXX #50507 - fails at least on Linux | |||||
| /* TODO #50507 - fails at least on Linux | |||||
| public void testOutAndErr() { | public void testOutAndErr() { | ||||
| project.executeTarget("test-out-and-err"); | project.executeTarget("test-out-and-err"); | ||||
| } | } | ||||
| @@ -100,7 +100,7 @@ public class InputTest extends BuildFileTest { | |||||
| } | } | ||||
| private String getKey(String key) { | private String getKey(String key) { | ||||
| return key; // XXX what is this for? | |||||
| return key; // TODO what is this for? | |||||
| } | } | ||||
| } | } | ||||
| @@ -28,7 +28,7 @@ import org.apache.tools.ant.util.FileUtils; | |||||
| /** | /** | ||||
| * TestCases for {@link XSLTProcess} task. | * TestCases for {@link XSLTProcess} task. | ||||
| * XXX merge with {@link XsltTest}? | |||||
| * TODO merge with {@link XsltTest}? | |||||
| * @version 2003-08-05 | * @version 2003-08-05 | ||||
| */ | */ | ||||
| public class StyleTest extends BuildFileTest { | public class StyleTest extends BuildFileTest { | ||||
| @@ -21,7 +21,7 @@ import org.apache.tools.ant.BuildFileTest; | |||||
| /** | /** | ||||
| * Tests the {@link XSLTProcess} task. | * Tests the {@link XSLTProcess} task. | ||||
| * XXX merge with {@link StyleTest}? | |||||
| * TODO merge with {@link StyleTest}? | |||||
| * @since Ant 1.5 | * @since Ant 1.5 | ||||
| */ | */ | ||||
| public class XsltTest extends BuildFileTest { | public class XsltTest extends BuildFileTest { | ||||
| @@ -40,7 +40,7 @@ public class DeweyDecimalTest { | |||||
| new DeweyDecimal("1.2."); | new DeweyDecimal("1.2."); | ||||
| } | } | ||||
| // XXX initial dots, empty string, null, negative numbers, ... | |||||
| // TODO initial dots, empty string, null, negative numbers, ... | |||||
| @Test public void testHashCode() { | @Test public void testHashCode() { | ||||
| assertEquals(new DeweyDecimal("1.2.3").hashCode(), new DeweyDecimal("1.2.3").hashCode()); | assertEquals(new DeweyDecimal("1.2.3").hashCode(), new DeweyDecimal("1.2.3").hashCode()); | ||||
| @@ -63,6 +63,6 @@ public class DeweyDecimalTest { | |||||
| assertTrue(new DeweyDecimal("1.2").compareTo(new DeweyDecimal("1.2.0")) == 0); | assertTrue(new DeweyDecimal("1.2").compareTo(new DeweyDecimal("1.2.0")) == 0); | ||||
| } | } | ||||
| // XXX isGreaterThan, ... | |||||
| // TODO isGreaterThan, ... | |||||
| } | } | ||||