git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@470130 13f79535-47bb-0310-9956-ffa450edef68master
| @@ -267,7 +267,7 @@ public class ProjectHelper { | |||||
| * JDK1.1 compatible access to the context class loader. | * JDK1.1 compatible access to the context class loader. | ||||
| * Cut&paste from JAXP. | * Cut&paste from JAXP. | ||||
| * | * | ||||
| * @deprecated since 1.6.x. | |||||
| * @deprecated since 1.6.x. | |||||
| * Use LoaderUtils.getContextClassLoader() | * Use LoaderUtils.getContextClassLoader() | ||||
| * | * | ||||
| * @return the current context class loader, or <code>null</code> | * @return the current context class loader, or <code>null</code> | ||||
| @@ -293,7 +293,7 @@ public class ProjectHelper { | |||||
| * @param project The project containing the target. | * @param project The project containing the target. | ||||
| * Must not be <code>null</code>. | * Must not be <code>null</code>. | ||||
| * | * | ||||
| * @deprecated since 1.6.x. | |||||
| * @deprecated since 1.6.x. | |||||
| * Use IntrospectionHelper for each property. | * Use IntrospectionHelper for each property. | ||||
| * | * | ||||
| * @exception BuildException if any of the attributes can't be handled by | * @exception BuildException if any of the attributes can't be handled by | ||||
| @@ -435,7 +435,7 @@ public class ProjectHelper { | |||||
| * <code>}</code> | * <code>}</code> | ||||
| * @return the original string with the properties replaced, or | * @return the original string with the properties replaced, or | ||||
| * <code>null</code> if the original string is <code>null</code>. | * <code>null</code> if the original string is <code>null</code>. | ||||
| * @deprecated since 1.6.x. | |||||
| * @deprecated since 1.6.x. | |||||
| * Use PropertyHelper. | * Use PropertyHelper. | ||||
| */ | */ | ||||
| public static String replaceProperties(Project project, String value, | public static String replaceProperties(Project project, String value, | ||||
| @@ -72,7 +72,7 @@ public abstract class Task extends ProjectComponent { | |||||
| /** | /** | ||||
| * Wrapper for this object, used to configure it at runtime. | * Wrapper for this object, used to configure it at runtime. | ||||
| * | * | ||||
| * @deprecated since 1.6.x. | |||||
| * @deprecated since 1.6.x. | |||||
| * You should not be accessing this variable directly. | * You should not be accessing this variable directly. | ||||
| * Please use the {@link #getWrapper()} method. | * Please use the {@link #getWrapper()} method. | ||||
| */ | */ | ||||
| @@ -42,11 +42,11 @@ public final class Locator { | |||||
| // stolen from org.apache.xerces.impl.XMLEntityManager#getUserDir() | // stolen from org.apache.xerces.impl.XMLEntityManager#getUserDir() | ||||
| // of the Xerces-J team | // of the Xerces-J team | ||||
| // which ASCII characters need to be escaped | // which ASCII characters need to be escaped | ||||
| private static boolean gNeedEscaping[] = new boolean[128]; | |||||
| private static boolean[] gNeedEscaping = new boolean[128]; | |||||
| // the first hex character if a character needs to be escaped | // the first hex character if a character needs to be escaped | ||||
| private static char gAfterEscaping1[] = new char[128]; | |||||
| private static char[] gAfterEscaping1 = new char[128]; | |||||
| // the second hex character if a character needs to be escaped | // the second hex character if a character needs to be escaped | ||||
| private static char gAfterEscaping2[] = new char[128]; | |||||
| private static char[] gAfterEscaping2 = new char[128]; | |||||
| private static char[] gHexChs = {'0', '1', '2', '3', '4', '5', '6', '7', | private static char[] gHexChs = {'0', '1', '2', '3', '4', '5', '6', '7', | ||||
| '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'}; | '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'}; | ||||
| // initialize the above 3 arrays | // initialize the above 3 arrays | ||||
| @@ -157,16 +157,18 @@ public final class Locator { | |||||
| // things when the path is not absolute, and fall back to the old parsing behavior. | // things when the path is not absolute, and fall back to the old parsing behavior. | ||||
| if (uriClazz != null && uri.startsWith("file:/")) { | if (uriClazz != null && uri.startsWith("file:/")) { | ||||
| try { | try { | ||||
| java.lang.reflect.Method createMethod = uriClazz.getMethod("create", new Class[] {String.class}); | |||||
| java.lang.reflect.Method createMethod | |||||
| = uriClazz.getMethod("create", new Class[] {String.class}); | |||||
| Object uriObj = createMethod.invoke(null, new Object[] {uri}); | Object uriObj = createMethod.invoke(null, new Object[] {uri}); | ||||
| java.lang.reflect.Constructor fileConst = File.class.getConstructor(new Class[] {uriClazz}); | |||||
| File f = (File)fileConst.newInstance(new Object[] {uriObj}); | |||||
| java.lang.reflect.Constructor fileConst | |||||
| = File.class.getConstructor(new Class[] {uriClazz}); | |||||
| File f = (File) fileConst.newInstance(new Object[] {uriObj}); | |||||
| return f.getAbsolutePath(); | return f.getAbsolutePath(); | ||||
| } catch (java.lang.reflect.InvocationTargetException e) { | } catch (java.lang.reflect.InvocationTargetException e) { | ||||
| Throwable e2 = e.getTargetException(); | Throwable e2 = e.getTargetException(); | ||||
| if (e2 instanceof IllegalArgumentException) { | if (e2 instanceof IllegalArgumentException) { | ||||
| // Bad URI, pass this on. | // Bad URI, pass this on. | ||||
| throw (IllegalArgumentException)e2; | |||||
| throw (IllegalArgumentException) e2; | |||||
| } else { | } else { | ||||
| // Unexpected target exception? Should not happen. | // Unexpected target exception? Should not happen. | ||||
| e2.printStackTrace(); | e2.printStackTrace(); | ||||
| @@ -262,8 +264,9 @@ public final class Locator { | |||||
| for (; i < len; i++) { | for (; i < len; i++) { | ||||
| ch = path.charAt(i); | ch = path.charAt(i); | ||||
| // if it's not an ASCII character, break here, and use UTF-8 encoding | // if it's not an ASCII character, break here, and use UTF-8 encoding | ||||
| if (ch >= 128) | |||||
| if (ch >= 128) { | |||||
| break; | break; | ||||
| } | |||||
| if (gNeedEscaping[ch]) { | if (gNeedEscaping[ch]) { | ||||
| if (sb == null) { | if (sb == null) { | ||||
| sb = new StringBuffer(path.substring(0, i)); | sb = new StringBuffer(path.substring(0, i)); | ||||
| @@ -272,8 +275,7 @@ public final class Locator { | |||||
| sb.append(gAfterEscaping1[ch]); | sb.append(gAfterEscaping1[ch]); | ||||
| sb.append(gAfterEscaping2[ch]); | sb.append(gAfterEscaping2[ch]); | ||||
| // record the fact that it's escaped | // record the fact that it's escaped | ||||
| } | |||||
| else if (sb != null) { | |||||
| } else if (sb != null) { | |||||
| sb.append((char) ch); | sb.append((char) ch); | ||||
| } | } | ||||
| } | } | ||||
| @@ -302,8 +304,7 @@ public final class Locator { | |||||
| sb.append('%'); | sb.append('%'); | ||||
| sb.append(gAfterEscaping1[b]); | sb.append(gAfterEscaping1[b]); | ||||
| sb.append(gAfterEscaping2[b]); | sb.append(gAfterEscaping2[b]); | ||||
| } | |||||
| else { | |||||
| } else { | |||||
| sb.append((char) b); | sb.append((char) b); | ||||
| } | } | ||||
| } | } | ||||
| @@ -51,7 +51,7 @@ public class TimestampedLogger extends DefaultLogger { | |||||
| * @return The classic "BUILD SUCCESSFUL" | * @return The classic "BUILD SUCCESSFUL" | ||||
| */ | */ | ||||
| protected String getBuildSuccessfulMessage() { | protected String getBuildSuccessfulMessage() { | ||||
| return super.getBuildSuccessfulMessage()+SPACER +getTimestamp(); | |||||
| return super.getBuildSuccessfulMessage() + SPACER + getTimestamp(); | |||||
| } | } | ||||
| protected String getTimestamp() { | protected String getTimestamp() { | ||||
| @@ -21,7 +21,7 @@ package org.apache.tools.ant.loader; | |||||
| import org.apache.tools.ant.AntClassLoader; | import org.apache.tools.ant.AntClassLoader; | ||||
| /** | /** | ||||
| * @deprecated since 1.7 | |||||
| * @deprecated since 1.7 | |||||
| * Just use {@link AntClassLoader} itself. | * Just use {@link AntClassLoader} itself. | ||||
| */ | */ | ||||
| public class AntClassLoader2 extends AntClassLoader { | public class AntClassLoader2 extends AntClassLoader { | ||||
| @@ -22,7 +22,6 @@ import java.io.File; | |||||
| import java.util.Enumeration; | import java.util.Enumeration; | ||||
| import java.util.Vector; | import java.util.Vector; | ||||
| import org.apache.tools.ant.BuildException; | |||||
| import org.apache.tools.ant.Task; | import org.apache.tools.ant.Task; | ||||
| import org.apache.tools.ant.types.Environment; | import org.apache.tools.ant.types.Environment; | ||||
| import org.apache.tools.ant.types.FileSet; | import org.apache.tools.ant.types.FileSet; | ||||
| @@ -84,7 +83,7 @@ public abstract class AbstractJarSignerTask extends Task { | |||||
| /** | /** | ||||
| * Java declarations -J-Dname=value | * Java declarations -J-Dname=value | ||||
| */ | */ | ||||
| private Environment sysProperties=new Environment(); | |||||
| private Environment sysProperties = new Environment(); | |||||
| /** | /** | ||||
| * error string for unit test verification: {@value} | * error string for unit test verification: {@value} | ||||
| @@ -98,7 +97,7 @@ public abstract class AbstractJarSignerTask extends Task { | |||||
| * @since Ant 1.7 | * @since Ant 1.7 | ||||
| */ | */ | ||||
| private Path path = null; | private Path path = null; | ||||
| /** | /** | ||||
| * Set the maximum memory to be used by the jarsigner process | * Set the maximum memory to be used by the jarsigner process | ||||
| * | * | ||||
| @@ -226,7 +225,7 @@ public abstract class AbstractJarSignerTask extends Task { | |||||
| */ | */ | ||||
| private RedirectorElement createRedirector() { | private RedirectorElement createRedirector() { | ||||
| RedirectorElement result = new RedirectorElement(); | RedirectorElement result = new RedirectorElement(); | ||||
| if(storepass!=null) { | |||||
| if (storepass != null) { | |||||
| StringBuffer input = new StringBuffer(storepass).append('\n'); | StringBuffer input = new StringBuffer(storepass).append('\n'); | ||||
| if (keypass != null) { | if (keypass != null) { | ||||
| input.append(keypass).append('\n'); | input.append(keypass).append('\n'); | ||||
| @@ -252,19 +251,19 @@ public abstract class AbstractJarSignerTask extends Task { | |||||
| */ | */ | ||||
| protected void setCommonOptions(final ExecTask cmd) { | protected void setCommonOptions(final ExecTask cmd) { | ||||
| if (maxMemory != null) { | if (maxMemory != null) { | ||||
| addValue(cmd,"-J-Xmx" + maxMemory); | |||||
| addValue(cmd, "-J-Xmx" + maxMemory); | |||||
| } | } | ||||
| if (verbose) { | if (verbose) { | ||||
| addValue(cmd,"-verbose"); | |||||
| addValue(cmd, "-verbose"); | |||||
| } | } | ||||
| //now patch in all system properties | //now patch in all system properties | ||||
| Vector props=sysProperties.getVariablesVector(); | |||||
| Enumeration e=props.elements(); | |||||
| Vector props = sysProperties.getVariablesVector(); | |||||
| Enumeration e = props.elements(); | |||||
| while (e.hasMoreElements()) { | while (e.hasMoreElements()) { | ||||
| Environment.Variable variable = (Environment.Variable) e.nextElement(); | Environment.Variable variable = (Environment.Variable) e.nextElement(); | ||||
| declareSysProperty(cmd,variable); | |||||
| declareSysProperty(cmd, variable); | |||||
| } | } | ||||
| } | } | ||||
| @@ -274,8 +273,9 @@ public abstract class AbstractJarSignerTask extends Task { | |||||
| * @param property property to set | * @param property property to set | ||||
| * @throws BuildException if the property is not correctly defined. | * @throws BuildException if the property is not correctly defined. | ||||
| */ | */ | ||||
| protected void declareSysProperty(ExecTask cmd,Environment.Variable property) { | |||||
| addValue(cmd, "-J-D"+property.getContent()); | |||||
| protected void declareSysProperty( | |||||
| ExecTask cmd, Environment.Variable property) { | |||||
| addValue(cmd, "-J-D" + property.getContent()); | |||||
| } | } | ||||
| @@ -286,7 +286,7 @@ public abstract class AbstractJarSignerTask extends Task { | |||||
| protected void bindToKeystore(final ExecTask cmd) { | protected void bindToKeystore(final ExecTask cmd) { | ||||
| if (null != keystore) { | if (null != keystore) { | ||||
| // is the keystore a file | // is the keystore a file | ||||
| addValue(cmd,"-keystore"); | |||||
| addValue(cmd, "-keystore"); | |||||
| String loc; | String loc; | ||||
| File keystoreFile = getProject().resolveFile(keystore); | File keystoreFile = getProject().resolveFile(keystore); | ||||
| if (keystoreFile.exists()) { | if (keystoreFile.exists()) { | ||||
| @@ -323,7 +323,7 @@ public abstract class AbstractJarSignerTask extends Task { | |||||
| * @return a vector of FileSet instances | * @return a vector of FileSet instances | ||||
| */ | */ | ||||
| protected Vector createUnifiedSources() { | protected Vector createUnifiedSources() { | ||||
| Vector sources = (Vector)filesets.clone(); | |||||
| Vector sources = (Vector) filesets.clone(); | |||||
| if (jar != null) { | if (jar != null) { | ||||
| //we create a fileset with the source file. | //we create a fileset with the source file. | ||||
| //this lets us combine our logic for handling output directories, | //this lets us combine our logic for handling output directories, | ||||
| @@ -356,6 +356,7 @@ public abstract class AbstractJarSignerTask extends Task { | |||||
| /** | /** | ||||
| * Has either a path or a fileset been specified? | * Has either a path or a fileset been specified? | ||||
| * @return true if a path or fileset has been specified. | |||||
| * @since Ant 1.7 | * @since Ant 1.7 | ||||
| */ | */ | ||||
| protected boolean hasResources() { | protected boolean hasResources() { | ||||
| @@ -362,9 +362,9 @@ public class Ant extends Task { | |||||
| + "its own parent target."); | + "its own parent target."); | ||||
| } | } | ||||
| boolean circular = false; | boolean circular = false; | ||||
| for (Iterator it = locals.iterator(); | |||||
| for (Iterator it = locals.iterator(); | |||||
| !circular && it.hasNext();) { | !circular && it.hasNext();) { | ||||
| Target other = | |||||
| Target other = | |||||
| (Target) (getProject().getTargets().get(it.next())); | (Target) (getProject().getTargets().get(it.next())); | ||||
| circular |= (other != null | circular |= (other != null | ||||
| && other.dependsOn(owningTargetName)); | && other.dependsOn(owningTargetName)); | ||||
| @@ -381,7 +381,7 @@ public class Ant extends Task { | |||||
| addReferences(); | addReferences(); | ||||
| if (locals.size() > 0 && !(locals.size() == 1 | |||||
| if (locals.size() > 0 && !(locals.size() == 1 | |||||
| && "".equals(locals.get(0)))) { | && "".equals(locals.get(0)))) { | ||||
| BuildException be = null; | BuildException be = null; | ||||
| try { | try { | ||||
| @@ -46,7 +46,8 @@ import org.apache.tools.ant.types.Reference; | |||||
| */ | */ | ||||
| public class AntStructure extends Task { | public class AntStructure extends Task { | ||||
| private static final String lSep = System.getProperty("line.separator"); | |||||
| private static final String LINE_SEP | |||||
| = System.getProperty("line.separator"); | |||||
| private File output; | private File output; | ||||
| private StructurePrinter printer = new DTDPrinter(); | private StructurePrinter printer = new DTDPrinter(); | ||||
| @@ -61,6 +62,7 @@ public class AntStructure extends Task { | |||||
| /** | /** | ||||
| * The StructurePrinter to use. | * The StructurePrinter to use. | ||||
| * @param p the printer to use. | |||||
| * @since Ant 1.7 | * @since Ant 1.7 | ||||
| */ | */ | ||||
| public void add(StructurePrinter p) { | public void add(StructurePrinter p) { | ||||
| @@ -101,8 +103,9 @@ public class AntStructure extends Task { | |||||
| Enumeration dataTypes = getProject().getDataTypeDefinitions().keys(); | Enumeration dataTypes = getProject().getDataTypeDefinitions().keys(); | ||||
| while (dataTypes.hasMoreElements()) { | while (dataTypes.hasMoreElements()) { | ||||
| String typeName = (String) dataTypes.nextElement(); | String typeName = (String) dataTypes.nextElement(); | ||||
| printer.printElementDecl(out, getProject(), typeName, | |||||
| (Class) getProject().getDataTypeDefinitions().get(typeName)); | |||||
| printer.printElementDecl( | |||||
| out, getProject(), typeName, | |||||
| (Class) getProject().getDataTypeDefinitions().get(typeName)); | |||||
| } | } | ||||
| Enumeration tasks = getProject().getTaskDefinitions().keys(); | Enumeration tasks = getProject().getTaskDefinitions().keys(); | ||||
| @@ -282,11 +285,11 @@ public class AntStructure extends Task { | |||||
| sb.append(name).append(" "); | sb.append(name).append(" "); | ||||
| if (org.apache.tools.ant.types.Reference.class.equals(element)) { | if (org.apache.tools.ant.types.Reference.class.equals(element)) { | ||||
| sb.append("EMPTY>").append(lSep); | |||||
| sb.append("EMPTY>").append(LINE_SEP); | |||||
| sb.append("<!ATTLIST ").append(name); | sb.append("<!ATTLIST ").append(name); | ||||
| sb.append(lSep).append(" id ID #IMPLIED"); | |||||
| sb.append(lSep).append(" refid IDREF #IMPLIED"); | |||||
| sb.append(">").append(lSep); | |||||
| sb.append(LINE_SEP).append(" id ID #IMPLIED"); | |||||
| sb.append(LINE_SEP).append(" refid IDREF #IMPLIED"); | |||||
| sb.append(">").append(LINE_SEP); | |||||
| out.println(sb); | out.println(sb); | ||||
| return; | return; | ||||
| } | } | ||||
| @@ -326,7 +329,7 @@ public class AntStructure extends Task { | |||||
| sb = new StringBuffer("<!ATTLIST "); | sb = new StringBuffer("<!ATTLIST "); | ||||
| sb.append(name); | sb.append(name); | ||||
| sb.append(lSep).append(" id ID #IMPLIED"); | |||||
| sb.append(LINE_SEP).append(" id ID #IMPLIED"); | |||||
| e = ih.getAttributes(); | e = ih.getAttributes(); | ||||
| while (e.hasMoreElements()) { | while (e.hasMoreElements()) { | ||||
| @@ -335,7 +338,8 @@ public class AntStructure extends Task { | |||||
| continue; | continue; | ||||
| } | } | ||||
| sb.append(lSep).append(" ").append(attrName).append(" "); | |||||
| sb.append(LINE_SEP).append(" ") | |||||
| .append(attrName).append(" "); | |||||
| Class type = ih.getAttributeType(attrName); | Class type = ih.getAttributeType(attrName); | ||||
| if (type.equals(java.lang.Boolean.class) | if (type.equals(java.lang.Boolean.class) | ||||
| || type.equals(java.lang.Boolean.TYPE)) { | || type.equals(java.lang.Boolean.TYPE)) { | ||||
| @@ -371,7 +375,7 @@ public class AntStructure extends Task { | |||||
| } | } | ||||
| sb.append("#IMPLIED"); | sb.append("#IMPLIED"); | ||||
| } | } | ||||
| sb.append(">").append(lSep); | |||||
| sb.append(">").append(LINE_SEP); | |||||
| out.println(sb); | out.println(sb); | ||||
| final int count = v.size(); | final int count = v.size(); | ||||
| @@ -51,7 +51,7 @@ public class Apt | |||||
| /** A warning message if used with java < 1.5. */ | /** A warning message if used with java < 1.5. */ | ||||
| public static final String ERROR_WRONG_JAVA_VERSION | public static final String ERROR_WRONG_JAVA_VERSION | ||||
| = "Apt task requires Java 1.5+"; | = "Apt task requires Java 1.5+"; | ||||
| /** | /** | ||||
| * exposed for debug messages | * exposed for debug messages | ||||
| */ | */ | ||||
| @@ -140,7 +140,7 @@ public class Apt | |||||
| */ | */ | ||||
| public void setFork(boolean fork) { | public void setFork(boolean fork) { | ||||
| if (!fork) { | if (!fork) { | ||||
| log(WARNING_IGNORING_FORK,Project.MSG_WARN); | |||||
| log(WARNING_IGNORING_FORK, Project.MSG_WARN); | |||||
| } | } | ||||
| } | } | ||||
| @@ -173,7 +173,7 @@ public class Available extends Task implements Condition { | |||||
| } | } | ||||
| /** | /** | ||||
| * @deprecated since 1.5.x. | |||||
| * @deprecated since 1.5.x. | |||||
| * setType(String) is deprecated and is replaced with | * setType(String) is deprecated and is replaced with | ||||
| * setType(Available.FileDir) to make Ant's Introspection | * setType(Available.FileDir) to make Ant's Introspection | ||||
| * mechanism do the work and also to encapsulate operations on | * mechanism do the work and also to encapsulate operations on | ||||
| @@ -100,7 +100,7 @@ public class BUnzip2 extends Unpack { | |||||
| * support non-file resources needs to override this method. We | * support non-file resources needs to override this method. We | ||||
| * need to do so for backwards compatibility reasons since we | * need to do so for backwards compatibility reasons since we | ||||
| * can't expect subclasses to support resources.</p> | * can't expect subclasses to support resources.</p> | ||||
| * | |||||
| * @return true if this class supports non file resources. | |||||
| * @since Ant 1.7 | * @since Ant 1.7 | ||||
| */ | */ | ||||
| protected boolean supportsNonFileResources() { | protected boolean supportsNonFileResources() { | ||||
| @@ -61,7 +61,7 @@ public class BZip2 extends Pack { | |||||
| * support non-file resources needs to override this method. We | * support non-file resources needs to override this method. We | ||||
| * need to do so for backwards compatibility reasons since we | * need to do so for backwards compatibility reasons since we | ||||
| * can't expect subclasses to support resources.</p> | * can't expect subclasses to support resources.</p> | ||||
| * | |||||
| * @return true if this task support non file resources. | |||||
| * @since Ant 1.7 | * @since Ant 1.7 | ||||
| */ | */ | ||||
| protected boolean supportsNonFileResources() { | protected boolean supportsNonFileResources() { | ||||
| @@ -449,13 +449,13 @@ public class Checksum extends MatchingTask implements Condition { | |||||
| if (todir != null) { | if (todir != null) { | ||||
| // A separate directory was explicitly declared | // A separate directory was explicitly declared | ||||
| String path = (String) relativeFilePaths.get(file); | String path = (String) relativeFilePaths.get(file); | ||||
| if(path==null) { | |||||
| if (path == null) { | |||||
| //bug 37386. this should not occur, but it has, once. | //bug 37386. this should not occur, but it has, once. | ||||
| throw new BuildException("Internal error: " + | |||||
| "relativeFilePaths could not match file"+ | |||||
| file+ | |||||
| "\n" + | |||||
| "please file a bug report on this"); | |||||
| throw new BuildException( | |||||
| "Internal error: " | |||||
| + "relativeFilePaths could not match file" | |||||
| + file + "\n" | |||||
| + "please file a bug report on this"); | |||||
| } | } | ||||
| directory = new File(todir, path).getParentFile(); | directory = new File(todir, path).getParentFile(); | ||||
| // Create the directory, as it might not exist. | // Create the directory, as it might not exist. | ||||
| @@ -631,7 +631,7 @@ public class Checksum extends MatchingTask implements Condition { | |||||
| } catch (ParseException e) { | } catch (ParseException e) { | ||||
| throw new BuildException("Couldn't read checksum file " + f, e); | throw new BuildException("Couldn't read checksum file " + f, e); | ||||
| } finally { | } finally { | ||||
| FileUtils.close(diskChecksumReader); | |||||
| FileUtils.close(diskChecksumReader); | |||||
| } | } | ||||
| } | } | ||||
| @@ -432,8 +432,9 @@ public class Concat extends Task { | |||||
| if (!outofdate) { | if (!outofdate) { | ||||
| for (Iterator i = existRc.iterator(); !outofdate && i.hasNext();) { | for (Iterator i = existRc.iterator(); !outofdate && i.hasNext();) { | ||||
| Resource r = (Resource) i.next(); | Resource r = (Resource) i.next(); | ||||
| outofdate = (r.getLastModified() == 0L || | |||||
| r.getLastModified() > destinationFile.lastModified()); | |||||
| outofdate = | |||||
| (r.getLastModified() == 0L | |||||
| || r.getLastModified() > destinationFile.lastModified()); | |||||
| } | } | ||||
| } | } | ||||
| if (!outofdate) { | if (!outofdate) { | ||||
| @@ -493,6 +494,7 @@ public class Concat extends Task { | |||||
| try { | try { | ||||
| t.join(); | t.join(); | ||||
| } catch (InterruptedException ee) { | } catch (InterruptedException ee) { | ||||
| // Empty | |||||
| } | } | ||||
| } | } | ||||
| } finally { | } finally { | ||||
| @@ -156,7 +156,7 @@ public class Copy extends Task { | |||||
| /** | /** | ||||
| * Give the copied files the same last modified time as the original files. | * Give the copied files the same last modified time as the original files. | ||||
| * @param preserve a boolean string. | * @param preserve a boolean string. | ||||
| * @deprecated since 1.5.x. | |||||
| * @deprecated since 1.5.x. | |||||
| * setPreserveLastModified(String) has been deprecated and | * setPreserveLastModified(String) has been deprecated and | ||||
| * replaced with setPreserveLastModified(boolean) to | * replaced with setPreserveLastModified(boolean) to | ||||
| * consistently let the Introspection mechanism work. | * consistently let the Introspection mechanism work. | ||||
| @@ -289,7 +289,7 @@ public class Copy extends Task { | |||||
| public void addFileset(FileSet set) { | public void addFileset(FileSet set) { | ||||
| add(set); | add(set); | ||||
| } | } | ||||
| /** | /** | ||||
| * Add a collection of files to copy. | * Add a collection of files to copy. | ||||
| * @param res a resource collection to copy. | * @param res a resource collection to copy. | ||||
| @@ -298,7 +298,7 @@ public class Copy extends Task { | |||||
| public void add(ResourceCollection res) { | public void add(ResourceCollection res) { | ||||
| rcs.add(res); | rcs.add(res); | ||||
| } | } | ||||
| /** | /** | ||||
| * Define the mapper to map source to destination files. | * Define the mapper to map source to destination files. | ||||
| * @return a mapper to be configured. | * @return a mapper to be configured. | ||||
| @@ -423,7 +423,7 @@ public class Copy extends Task { | |||||
| /* for historical and performance reasons we have to do | /* for historical and performance reasons we have to do | ||||
| things in a rather complex way. | things in a rather complex way. | ||||
| (1) Move is optimized to move directories if a fileset | (1) Move is optimized to move directories if a fileset | ||||
| has been included completely, therefore FileSets need a | has been included completely, therefore FileSets need a | ||||
| special treatment. This is also required to support | special treatment. This is also required to support | ||||
| @@ -498,7 +498,7 @@ public class Copy extends Task { | |||||
| // files. | // files. | ||||
| if (r.isDirectory() || r instanceof FileResource) { | if (r.isDirectory() || r instanceof FileResource) { | ||||
| add(baseDir, name, | add(baseDir, name, | ||||
| r.isDirectory() ? dirsByBasedir | |||||
| r.isDirectory() ? dirsByBasedir | |||||
| : filesByBasedir); | : filesByBasedir); | ||||
| baseDirs.add(baseDir); | baseDirs.add(baseDir); | ||||
| } else { // a not-directory file resource | } else { // a not-directory file resource | ||||
| @@ -912,7 +912,7 @@ public class Copy extends Task { | |||||
| * support non-file resources needs to override this method. We | * support non-file resources needs to override this method. We | ||||
| * need to do so for backwards compatibility reasons since we | * need to do so for backwards compatibility reasons since we | ||||
| * can't expect subclasses to support resources.</p> | * can't expect subclasses to support resources.</p> | ||||
| * | |||||
| * @return true if this task supports non file resources. | |||||
| * @since Ant 1.7 | * @since Ant 1.7 | ||||
| */ | */ | ||||
| protected boolean supportsNonFileResources() { | protected boolean supportsNonFileResources() { | ||||
| @@ -977,7 +977,7 @@ public class Copy extends Task { | |||||
| private String getMessage(Exception ex) { | private String getMessage(Exception ex) { | ||||
| return ex.getMessage() == null ? ex.toString() : ex.getMessage(); | return ex.getMessage() == null ? ex.toString() : ex.getMessage(); | ||||
| } | } | ||||
| /** | /** | ||||
| * Returns a reason for failure based on | * Returns a reason for failure based on | ||||
| * the exception thrown. | * the exception thrown. | ||||
| @@ -31,9 +31,9 @@ import java.io.IOException; | |||||
| /** | /** | ||||
| * Copy the contents of a path to a destination, using the mapper of choice | * Copy the contents of a path to a destination, using the mapper of choice | ||||
| * | |||||
| * | |||||
| * @since Ant 1.7 | * @since Ant 1.7 | ||||
| * | |||||
| * | |||||
| * @ant.task category="filesystem" | * @ant.task category="filesystem" | ||||
| */ | */ | ||||
| @@ -69,8 +69,8 @@ public class CopyPath extends Task { | |||||
| /** | /** | ||||
| * add a mapper | * add a mapper | ||||
| * | |||||
| * @param newmapper | |||||
| * | |||||
| * @param newmapper the mapper to add. | |||||
| */ | */ | ||||
| public void add(FileNameMapper newmapper) { | public void add(FileNameMapper newmapper) { | ||||
| if (mapper != null) { | if (mapper != null) { | ||||
| @@ -81,7 +81,7 @@ public class CopyPath extends Task { | |||||
| /** | /** | ||||
| * Set the path to be used when running the Java class. | * Set the path to be used when running the Java class. | ||||
| * | |||||
| * | |||||
| * @param s | * @param s | ||||
| * an Ant Path object containing the path. | * an Ant Path object containing the path. | ||||
| */ | */ | ||||
| @@ -91,7 +91,7 @@ public class CopyPath extends Task { | |||||
| /** | /** | ||||
| * Set the path to use by reference. | * Set the path to use by reference. | ||||
| * | |||||
| * | |||||
| * @param r | * @param r | ||||
| * a reference to an existing path. | * a reference to an existing path. | ||||
| */ | */ | ||||
| @@ -101,7 +101,7 @@ public class CopyPath extends Task { | |||||
| /** | /** | ||||
| * Create a path. | * Create a path. | ||||
| * | |||||
| * | |||||
| * @return a path to be configured. | * @return a path to be configured. | ||||
| */ | */ | ||||
| public Path createPath() { | public Path createPath() { | ||||
| @@ -122,7 +122,7 @@ public class CopyPath extends Task { | |||||
| /** | /** | ||||
| * Ensure we have a consistent and legal set of attributes, and set any | * Ensure we have a consistent and legal set of attributes, and set any | ||||
| * internal flags necessary based on different combinations of attributes. | * internal flags necessary based on different combinations of attributes. | ||||
| * | |||||
| * | |||||
| * @throws BuildException | * @throws BuildException | ||||
| * if an error occurs. | * if an error occurs. | ||||
| */ | */ | ||||
| @@ -140,7 +140,7 @@ public class CopyPath extends Task { | |||||
| /** | /** | ||||
| * This is a very minimal derivative of the nomal copy logic. | * This is a very minimal derivative of the nomal copy logic. | ||||
| * | |||||
| * | |||||
| * @throws BuildException | * @throws BuildException | ||||
| * if something goes wrong with the build. | * if something goes wrong with the build. | ||||
| */ | */ | ||||
| @@ -38,7 +38,7 @@ public abstract class DefBase extends AntlibDefinition { | |||||
| /** | /** | ||||
| * @param reverseLoader if true a delegated loader will take precedence over | * @param reverseLoader if true a delegated loader will take precedence over | ||||
| * the parent | * the parent | ||||
| * @deprecated since 1.6.x. | |||||
| * @deprecated since 1.6.x. | |||||
| * stop using this attribute | * stop using this attribute | ||||
| * @ant.attribute ignore="true" | * @ant.attribute ignore="true" | ||||
| */ | */ | ||||
| @@ -290,7 +290,8 @@ public abstract class Definer extends DefBase { | |||||
| /** | /** | ||||
| * This is where the logic to map from a URI to an antlib resource | * This is where the logic to map from a URI to an antlib resource | ||||
| * is kept. | |||||
| * is kept. | |||||
| * @param uri the xml namespace uri that to convert. | |||||
| * @return the name of a resource. It may not exist | * @return the name of a resource. It may not exist | ||||
| */ | */ | ||||
| @@ -298,8 +299,8 @@ public abstract class Definer extends DefBase { | |||||
| String path = uri.substring(MagicNames.ANTLIB_PREFIX.length()); | String path = uri.substring(MagicNames.ANTLIB_PREFIX.length()); | ||||
| String resource; | String resource; | ||||
| if (path.startsWith("//")) { | if (path.startsWith("//")) { | ||||
| //handle new style full paths to an antlib, in which | |||||
| //all but the forward slashes are allowed. | |||||
| //handle new style full paths to an antlib, in which | |||||
| //all but the forward slashes are allowed. | |||||
| resource = path.substring("//".length()); | resource = path.substring("//".length()); | ||||
| if (!resource.endsWith(".xml")) { | if (!resource.endsWith(".xml")) { | ||||
| //if we haven't already named an XML file, it gets antlib.xml | //if we haven't already named an XML file, it gets antlib.xml | ||||
| @@ -313,11 +314,11 @@ public abstract class Definer extends DefBase { | |||||
| } | } | ||||
| /** | /** | ||||
| * Convert a file to a file: URL. | |||||
| * | |||||
| * Convert a file to a file: URL. | |||||
| * | |||||
| * @return the URL, or null if it isn't valid and the active error policy | * @return the URL, or null if it isn't valid and the active error policy | ||||
| * is not to raise a fault | * is not to raise a fault | ||||
| * @throws BuildException if the file is missing/not a file and the | |||||
| * @throws BuildException if the file is missing/not a file and the | |||||
| * policy requires failure at this point. | * policy requires failure at this point. | ||||
| */ | */ | ||||
| private URL fileToURL() { | private URL fileToURL() { | ||||
| @@ -480,7 +481,7 @@ public abstract class Definer extends DefBase { | |||||
| "Invalid antlib attribute - it must start with antlib:"); | "Invalid antlib attribute - it must start with antlib:"); | ||||
| } | } | ||||
| setURI(antlib); | setURI(antlib); | ||||
| this.resource = antlib.substring("antlib:".length()).replace('.','/') | |||||
| this.resource = antlib.substring("antlib:".length()).replace('.', '/') | |||||
| + "/antlib.xml"; | + "/antlib.xml"; | ||||
| definerSet = true; | definerSet = true; | ||||
| } | } | ||||
| @@ -600,10 +600,10 @@ public class Delete extends MatchingTask { | |||||
| } catch (Exception e) { | } catch (Exception e) { | ||||
| handle(e); | handle(e); | ||||
| } finally { | } finally { | ||||
| if (implicit != null) { | |||||
| filesets.remove(implicit); | |||||
| } | |||||
| } | |||||
| if (implicit != null) { | |||||
| filesets.remove(implicit); | |||||
| } | |||||
| } | |||||
| } | } | ||||
| //************************************************************************ | //************************************************************************ | ||||
| @@ -693,7 +693,7 @@ public class Delete extends MatchingTask { | |||||
| + d.getAbsolutePath(), quiet ? Project.MSG_VERBOSE : verbosity); | + d.getAbsolutePath(), quiet ? Project.MSG_VERBOSE : verbosity); | ||||
| for (int j = 0; j < files.length; j++) { | for (int j = 0; j < files.length; j++) { | ||||
| File f = new File(d, files[j]); | File f = new File(d, files[j]); | ||||
| log("Deleting " + f.getAbsolutePath(), | |||||
| log("Deleting " + f.getAbsolutePath(), | |||||
| quiet ? Project.MSG_VERBOSE : verbosity); | quiet ? Project.MSG_VERBOSE : verbosity); | ||||
| if (!delete(f)) { | if (!delete(f)) { | ||||
| handle("Unable to delete file " + f.getAbsolutePath()); | handle("Unable to delete file " + f.getAbsolutePath()); | ||||
| @@ -707,7 +707,7 @@ public class Delete extends MatchingTask { | |||||
| File currDir = new File(d, dirs[j]); | File currDir = new File(d, dirs[j]); | ||||
| String[] dirFiles = currDir.list(); | String[] dirFiles = currDir.list(); | ||||
| if (dirFiles == null || dirFiles.length == 0) { | if (dirFiles == null || dirFiles.length == 0) { | ||||
| log("Deleting " + currDir.getAbsolutePath(), | |||||
| log("Deleting " + currDir.getAbsolutePath(), | |||||
| quiet ? Project.MSG_VERBOSE : verbosity); | quiet ? Project.MSG_VERBOSE : verbosity); | ||||
| if (!delete(currDir)) { | if (!delete(currDir)) { | ||||
| handle("Unable to delete directory " | handle("Unable to delete directory " | ||||
| @@ -722,7 +722,7 @@ public class Delete extends MatchingTask { | |||||
| log("Deleted " | log("Deleted " | ||||
| + dirCount | + dirCount | ||||
| + " director" + (dirCount == 1 ? "y" : "ies") | + " director" + (dirCount == 1 ? "y" : "ies") | ||||
| + " form " + d.getAbsolutePath(), | |||||
| + " form " + d.getAbsolutePath(), | |||||
| quiet ? Project.MSG_VERBOSE : verbosity); | quiet ? Project.MSG_VERBOSE : verbosity); | ||||
| } | } | ||||
| } | } | ||||
| @@ -1,9 +1,3 @@ | |||||
| package org.apache.tools.ant.taskdefs; | |||||
| import org.apache.tools.ant.Task; | |||||
| import org.apache.tools.ant.BuildException; | |||||
| import org.apache.tools.ant.Diagnostics; | |||||
| /* | /* | ||||
| * Licensed to the Apache Software Foundation (ASF) under one or more | * Licensed to the Apache Software Foundation (ASF) under one or more | ||||
| * contributor license agreements. See the NOTICE file distributed with | * contributor license agreements. See the NOTICE file distributed with | ||||
| @@ -21,6 +15,12 @@ import org.apache.tools.ant.Diagnostics; | |||||
| * limitations under the License. | * limitations under the License. | ||||
| * | * | ||||
| */ | */ | ||||
| package org.apache.tools.ant.taskdefs; | |||||
| import org.apache.tools.ant.Task; | |||||
| import org.apache.tools.ant.BuildException; | |||||
| import org.apache.tools.ant.Diagnostics; | |||||
| /** | /** | ||||
| * This is a task that hands off work to the Diagnostics module. | * This is a task that hands off work to the Diagnostics module. | ||||
| @@ -28,10 +28,10 @@ import org.apache.tools.ant.Diagnostics; | |||||
| */ | */ | ||||
| public class DiagnosticsTask extends Task { | public class DiagnosticsTask extends Task { | ||||
| private static final String[] args=new String[0]; | |||||
| private static final String[] ARGS = new String[0]; | |||||
| public void execute() throws BuildException { | public void execute() throws BuildException { | ||||
| Diagnostics.main(args); | |||||
| Diagnostics.main(ARGS); | |||||
| } | } | ||||
| @@ -50,7 +50,7 @@ public class Ear extends Jar { | |||||
| /** | /** | ||||
| * Set the destination file. | * Set the destination file. | ||||
| * @param earFile the destination file | * @param earFile the destination file | ||||
| * @deprecated since 1.5.x. | |||||
| * @deprecated since 1.5.x. | |||||
| * Use setDestFile(destfile) instead. | * Use setDestFile(destfile) instead. | ||||
| */ | */ | ||||
| public void setEarfile(File earFile) { | public void setEarfile(File earFile) { | ||||
| @@ -61,12 +61,12 @@ public class Echo extends Task { | |||||
| Writer out = null; | Writer out = null; | ||||
| try { | try { | ||||
| String filename = file.getAbsolutePath(); | String filename = file.getAbsolutePath(); | ||||
| if(encoding==null || encoding.length()==0) { | |||||
| if(encoding == null || encoding.length() == 0) { | |||||
| out = new FileWriter(filename, append); | out = new FileWriter(filename, append); | ||||
| } else { | } else { | ||||
| out = new BufferedWriter( | out = new BufferedWriter( | ||||
| new OutputStreamWriter( | new OutputStreamWriter( | ||||
| new FileOutputStream(filename, append),encoding)); | |||||
| new FileOutputStream(filename, append), encoding)); | |||||
| } | } | ||||
| out.write(message, 0, message.length()); | out.write(message, 0, message.length()); | ||||
| } catch (IOException ioe) { | } catch (IOException ioe) { | ||||
| @@ -132,7 +132,7 @@ public class Echo extends Task { | |||||
| /** | /** | ||||
| * Declare the encoding to use when outputting to a file; | * Declare the encoding to use when outputting to a file; | ||||
| * Use "" for the platform's default encoding. | * Use "" for the platform's default encoding. | ||||
| * @param encoding | |||||
| * @param encoding the character encoding to use. | |||||
| * @since 1.7 | * @since 1.7 | ||||
| */ | */ | ||||
| public void setEncoding(String encoding) { | public void setEncoding(String encoding) { | ||||
| @@ -39,7 +39,7 @@ import org.apache.tools.ant.Task; | |||||
| * dead code by the Ant developers and is unmaintained. Don't use | * dead code by the Ant developers and is unmaintained. Don't use | ||||
| * it.</strong></p> | * it.</strong></p> | ||||
| * | * | ||||
| * @deprecated since 1.2. | |||||
| * @deprecated since 1.2. | |||||
| * delegate to {@link org.apache.tools.ant.taskdefs.Execute Execute} | * delegate to {@link org.apache.tools.ant.taskdefs.Execute Execute} | ||||
| * instead. | * instead. | ||||
| */ | */ | ||||
| @@ -388,7 +388,7 @@ public class ExecTask extends Task { | |||||
| /** | /** | ||||
| * Restrict this execution to a single OS Family | * Restrict this execution to a single OS Family | ||||
| * @param osFamily | |||||
| * @param osFamily the family to restrict to. | |||||
| */ | */ | ||||
| public void setOsFamily(String osFamily) { | public void setOsFamily(String osFamily) { | ||||
| this.osFamily = osFamily.toLowerCase(Locale.US); | this.osFamily = osFamily.toLowerCase(Locale.US); | ||||
| @@ -543,7 +543,7 @@ public class ExecTask extends Task { | |||||
| */ | */ | ||||
| protected boolean isValidOs() { | protected boolean isValidOs() { | ||||
| //hand osfamily off to Os class, if set | //hand osfamily off to Os class, if set | ||||
| if(osFamily!=null && !Os.isOs(osFamily,null,null,null)) { | |||||
| if (osFamily != null && !Os.isOs(osFamily, null, null, null)) { | |||||
| return false; | return false; | ||||
| } | } | ||||
| //the Exec OS check is different from Os.isOs(), which | //the Exec OS check is different from Os.isOs(), which | ||||
| @@ -49,7 +49,7 @@ import org.apache.tools.ant.util.StringUtils; | |||||
| */ | */ | ||||
| public class Execute { | public class Execute { | ||||
| /** Invalid exit code. | |||||
| /** Invalid exit code. | |||||
| * set to {@link Integer#MAX_VALUE} | * set to {@link Integer#MAX_VALUE} | ||||
| */ | */ | ||||
| public static final int INVALID = Integer.MAX_VALUE; | public static final int INVALID = Integer.MAX_VALUE; | ||||
| @@ -1033,8 +1033,8 @@ public class Execute { | |||||
| throw new IOException("Cannot locate antRun script: " | throw new IOException("Cannot locate antRun script: " | ||||
| + "Property '" + MagicNames.ANT_HOME + "' not found"); | + "Property '" + MagicNames.ANT_HOME + "' not found"); | ||||
| } | } | ||||
| String antRun = | |||||
| FILE_UTILS.resolveFile(project.getBaseDir(), | |||||
| String antRun = | |||||
| FILE_UTILS.resolveFile(project.getBaseDir(), | |||||
| antHome + File.separator + myScript).toString(); | antHome + File.separator + myScript).toString(); | ||||
| // Build the command | // Build the command | ||||
| @@ -1092,8 +1092,8 @@ public class Execute { | |||||
| throw new IOException("Cannot locate antRun script: " | throw new IOException("Cannot locate antRun script: " | ||||
| + "Property '" + MagicNames.ANT_HOME + "' not found"); | + "Property '" + MagicNames.ANT_HOME + "' not found"); | ||||
| } | } | ||||
| String antRun = | |||||
| FILE_UTILS.resolveFile(project.getBaseDir(), | |||||
| String antRun = | |||||
| FILE_UTILS.resolveFile(project.getBaseDir(), | |||||
| antHome + File.separator + myScript).toString(); | antHome + File.separator + myScript).toString(); | ||||
| // Build the command | // Build the command | ||||
| @@ -1210,8 +1210,7 @@ public class Execute { | |||||
| public void run() { | public void run() { | ||||
| try { | try { | ||||
| p.waitFor(); | p.waitFor(); | ||||
| } | |||||
| catch (InterruptedException e) { | |||||
| } catch (InterruptedException e) { | |||||
| //ignore | //ignore | ||||
| } | } | ||||
| FileUtils.delete(f); | FileUtils.delete(f); | ||||
| @@ -92,7 +92,7 @@ public class ExecuteJava implements Runnable, TimeoutObserver { | |||||
| * Set the stream to which all output (System.out as well as System.err) | * Set the stream to which all output (System.out as well as System.err) | ||||
| * will be written. | * will be written. | ||||
| * @param out the PrintStream where output should be sent. | * @param out the PrintStream where output should be sent. | ||||
| * @deprecated since 1.4.x. | |||||
| * @deprecated since 1.4.x. | |||||
| * manage output at the task level. | * manage output at the task level. | ||||
| */ | */ | ||||
| public void setOutput(PrintStream out) { | public void setOutput(PrintStream out) { | ||||
| @@ -417,7 +417,7 @@ public class ExecuteOn extends ExecTask { | |||||
| baseDirs.removeAllElements(); | baseDirs.removeAllElements(); | ||||
| } | } | ||||
| } | } | ||||
| if (resources != null) { | if (resources != null) { | ||||
| Iterator iter = resources.iterator(); | Iterator iter = resources.iterator(); | ||||
| while (iter.hasNext()) { | while (iter.hasNext()) { | ||||
| @@ -69,7 +69,7 @@ public class ExecuteWatchdog implements TimeoutObserver { | |||||
| /** | /** | ||||
| * @see #ExecuteWatchdog(long) | * @see #ExecuteWatchdog(long) | ||||
| * @deprecated since 1.5.x. | |||||
| * @deprecated since 1.5.x. | |||||
| * Use constructor with a long type instead. | * Use constructor with a long type instead. | ||||
| * (1.4.x compatibility) | * (1.4.x compatibility) | ||||
| */ | */ | ||||
| @@ -174,7 +174,7 @@ public class FixCRLF extends MatchingTask implements ChainableReader { | |||||
| * <li>remove: remove all CR characters | * <li>remove: remove all CR characters | ||||
| * </ul> | * </ul> | ||||
| * | * | ||||
| * @deprecated since 1.4.x. | |||||
| * @deprecated since 1.4.x. | |||||
| * Use {@link #setEol setEol} instead. | * Use {@link #setEol setEol} instead. | ||||
| */ | */ | ||||
| public void setCr(AddAsisRemove attr) { | public void setCr(AddAsisRemove attr) { | ||||
| @@ -277,7 +277,7 @@ public class FixCRLF extends MatchingTask implements ChainableReader { | |||||
| public void execute() throws BuildException { | public void execute() throws BuildException { | ||||
| // first off, make sure that we've got a srcdir and destdir | // first off, make sure that we've got a srcdir and destdir | ||||
| validate(); | validate(); | ||||
| // log options used | // log options used | ||||
| String enc = encoding == null ? "default" : encoding; | String enc = encoding == null ? "default" : encoding; | ||||
| log("options:" | log("options:" | ||||
| @@ -326,7 +326,7 @@ public class FixCRLF extends MatchingTask implements ChainableReader { | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| private void processFile(String file) throws BuildException { | private void processFile(String file) throws BuildException { | ||||
| File srcFile = new File(srcDir, file); | File srcFile = new File(srcDir, file); | ||||
| long lastModified = srcFile.lastModified(); | long lastModified = srcFile.lastModified(); | ||||
| @@ -58,7 +58,7 @@ public class GZip extends Pack { | |||||
| * support non-file resources needs to override this method. We | * support non-file resources needs to override this method. We | ||||
| * need to do so for backwards compatibility reasons since we | * need to do so for backwards compatibility reasons since we | ||||
| * can't expect subclasses to support resources.</p> | * can't expect subclasses to support resources.</p> | ||||
| * | |||||
| * @return true if this case supports non file resources. | |||||
| * @since Ant 1.7 | * @since Ant 1.7 | ||||
| */ | */ | ||||
| protected boolean supportsNonFileResources() { | protected boolean supportsNonFileResources() { | ||||
| @@ -339,9 +339,9 @@ public class Get extends Task { | |||||
| /** | /** | ||||
| * Provide this for Backward Compatibility. | * Provide this for Backward Compatibility. | ||||
| */ | */ | ||||
| protected static class Base64Converter | protected static class Base64Converter | ||||
| extends org.apache.tools.ant.util.Base64Converter {} | |||||
| extends org.apache.tools.ant.util.Base64Converter { | |||||
| } | |||||
| public interface DownloadProgress { | public interface DownloadProgress { | ||||
| /** | /** | ||||
| @@ -94,12 +94,12 @@ public class ImportTask extends Task { | |||||
| ProjectHelper helper = | ProjectHelper helper = | ||||
| (ProjectHelper) getProject(). | (ProjectHelper) getProject(). | ||||
| getReference(ProjectHelper.PROJECTHELPER_REFERENCE); | getReference(ProjectHelper.PROJECTHELPER_REFERENCE); | ||||
| if (helper == null) { | if (helper == null) { | ||||
| // this happens if the projecthelper was not registered with the project. | // this happens if the projecthelper was not registered with the project. | ||||
| throw new BuildException("import requires support in ProjectHelper"); | throw new BuildException("import requires support in ProjectHelper"); | ||||
| } | } | ||||
| Vector importStack = helper.getImportStack(); | Vector importStack = helper.getImportStack(); | ||||
| if (importStack.size() == 0) { | if (importStack.size() == 0) { | ||||
| @@ -147,7 +147,7 @@ public class Jar extends Zip { | |||||
| private ZipExtraField[] JAR_MARKER = new ZipExtraField[] { | private ZipExtraField[] JAR_MARKER = new ZipExtraField[] { | ||||
| JarMarker.getInstance() | JarMarker.getInstance() | ||||
| }; | }; | ||||
| protected String emptyBehavior = "create"; | protected String emptyBehavior = "create"; | ||||
| /** constructor */ | /** constructor */ | ||||
| @@ -183,7 +183,6 @@ public class Jar extends Zip { | |||||
| emptyBehavior = we.getValue(); | emptyBehavior = we.getValue(); | ||||
| } | } | ||||
| /** | /** | ||||
| * Set the destination file. | * Set the destination file. | ||||
| * @param jarFile the destination file | * @param jarFile the destination file | ||||
| @@ -390,12 +389,12 @@ public class Jar extends Zip { | |||||
| private void writeServices(ZipOutputStream zOut) throws IOException { | private void writeServices(ZipOutputStream zOut) throws IOException { | ||||
| Iterator serviceIterator; | Iterator serviceIterator; | ||||
| Service service; | Service service; | ||||
| serviceIterator = serviceList.iterator(); | serviceIterator = serviceList.iterator(); | ||||
| while(serviceIterator.hasNext()){ | |||||
| while(serviceIterator.hasNext()) { | |||||
| service = (Service) serviceIterator.next(); | service = (Service) serviceIterator.next(); | ||||
| //stolen from writeManifest | //stolen from writeManifest | ||||
| super.zipFile(service.getAsStream(), zOut, | |||||
| super.zipFile(service.getAsStream(), zOut, | |||||
| "META-INF/service/" + service.getType(), | "META-INF/service/" + service.getType(), | ||||
| System.currentTimeMillis(), null, | System.currentTimeMillis(), null, | ||||
| ZipFileSet.DEFAULT_FILE_MODE); | ZipFileSet.DEFAULT_FILE_MODE); | ||||
| @@ -708,7 +707,8 @@ public class Jar extends Zip { | |||||
| } | } | ||||
| } | } | ||||
| } catch (Throwable t) { | } catch (Throwable t) { | ||||
| log("error while reading original manifest in file: " + zipFile.toString() + t.getMessage(), | |||||
| log("error while reading original manifest in file: " | |||||
| + zipFile.toString() + t.getMessage(), | |||||
| Project.MSG_WARN); | Project.MSG_WARN); | ||||
| needsUpdate = true; | needsUpdate = true; | ||||
| } | } | ||||
| @@ -744,7 +744,7 @@ public class Jar extends Zip { | |||||
| + ": no files were included.", | + ": no files were included.", | ||||
| getLocation()); | getLocation()); | ||||
| } | } | ||||
| ZipOutputStream zOut = null; | ZipOutputStream zOut = null; | ||||
| try { | try { | ||||
| log("Building MANIFEST-only jar: " | log("Building MANIFEST-only jar: " | ||||
| @@ -138,7 +138,8 @@ public class Java extends Task { | |||||
| throw new BuildException("Cannot spawn a java process in non-forked mode." | throw new BuildException("Cannot spawn a java process in non-forked mode." | ||||
| + " Please set fork='true'. "); | + " Please set fork='true'. "); | ||||
| } | } | ||||
| if (getCommandLine().getClasspath()!=null && getCommandLine().getJar()!=null) { | |||||
| if (getCommandLine().getClasspath() != null | |||||
| && getCommandLine().getJar() != null) { | |||||
| log("When using 'jar' attribute classpath-settings are ignored. " | log("When using 'jar' attribute classpath-settings are ignored. " | ||||
| + "See the manual for more information.", Project.MSG_VERBOSE); | + "See the manual for more information.", Project.MSG_VERBOSE); | ||||
| } | } | ||||
| @@ -933,4 +934,4 @@ public class Java extends Task { | |||||
| public CommandlineJava.SysProperties getSysProperties() { | public CommandlineJava.SysProperties getSysProperties() { | ||||
| return getCommandLine().getSystemProperties(); | return getCommandLine().getSystemProperties(); | ||||
| } | } | ||||
| } | |||||
| } | |||||
| @@ -28,7 +28,6 @@ import org.apache.tools.ant.taskdefs.compilers.CompilerAdapter; | |||||
| import org.apache.tools.ant.taskdefs.compilers.CompilerAdapterFactory; | import org.apache.tools.ant.taskdefs.compilers.CompilerAdapterFactory; | ||||
| import org.apache.tools.ant.types.Path; | import org.apache.tools.ant.types.Path; | ||||
| import org.apache.tools.ant.types.Reference; | import org.apache.tools.ant.types.Reference; | ||||
| import org.apache.tools.ant.util.FileUtils; | |||||
| import org.apache.tools.ant.util.GlobPatternMapper; | import org.apache.tools.ant.util.GlobPatternMapper; | ||||
| import org.apache.tools.ant.util.JavaEnvUtils; | import org.apache.tools.ant.util.JavaEnvUtils; | ||||
| import org.apache.tools.ant.util.SourceFileScanner; | import org.apache.tools.ant.util.SourceFileScanner; | ||||
| @@ -34,7 +34,7 @@ import org.apache.tools.ant.Task; | |||||
| * by the Ant developers and is unmaintained. Don't use | * by the Ant developers and is unmaintained. Don't use | ||||
| * it.</strong></p> | * it.</strong></p> | ||||
| * | * | ||||
| * @deprecated since 1.2. | |||||
| * @deprecated since 1.2. | |||||
| * Use Jikes' exit value to detect compilation failure. | * Use Jikes' exit value to detect compilation failure. | ||||
| */ | */ | ||||
| public class JikesOutputParser implements ExecuteStreamHandler { | public class JikesOutputParser implements ExecuteStreamHandler { | ||||
| @@ -133,7 +133,7 @@ public class LoadResource extends Task { | |||||
| try { | try { | ||||
| final long len = src.getSize(); | final long len = src.getSize(); | ||||
| log("resource size = " | log("resource size = " | ||||
| + (len != Resource.UNKNOWN_SIZE ? String.valueOf(len) | |||||
| + (len != Resource.UNKNOWN_SIZE ? String.valueOf(len) | |||||
| : "unknown"), Project.MSG_DEBUG); | : "unknown"), Project.MSG_DEBUG); | ||||
| //discard most of really big resources | //discard most of really big resources | ||||
| final int size = (int) len; | final int size = (int) len; | ||||
| @@ -84,6 +84,7 @@ public class LogOutputStream extends LineOrientedOutputStream { | |||||
| * Logs a line to the log system of ant. | * Logs a line to the log system of ant. | ||||
| * | * | ||||
| * @param line the line to log. | * @param line the line to log. | ||||
| * @param level the logging level to use. | |||||
| */ | */ | ||||
| protected void processLine(String line, int level) { | protected void processLine(String line, int level) { | ||||
| pc.log(line, level); | pc.log(line, level); | ||||
| @@ -93,4 +94,4 @@ public class LogOutputStream extends LineOrientedOutputStream { | |||||
| return level; | return level; | ||||
| } | } | ||||
| } | |||||
| } | |||||
| @@ -345,7 +345,7 @@ public class MacroDef extends AntlibDefinition { | |||||
| getProject()); | getProject()); | ||||
| helper.addDataTypeDefinition(def); | helper.addDataTypeDefinition(def); | ||||
| log("creating macro " + name,Project.MSG_VERBOSE); | |||||
| log("creating macro " + name, Project.MSG_VERBOSE); | |||||
| } | } | ||||
| /** | /** | ||||
| @@ -426,7 +426,7 @@ public class MacroDef extends AntlibDefinition { | |||||
| * @return a <code>boolean</code> value | * @return a <code>boolean</code> value | ||||
| */ | */ | ||||
| protected boolean equals(Member m) { | protected boolean equals(Member m) { | ||||
| return (name == null)? m.name == null: name.equals(m.name); | |||||
| return (name == null) ? m.name == null : name.equals(m.name); | |||||
| } | } | ||||
| /** | /** | ||||
| @@ -576,7 +576,7 @@ public class MacroDef extends AntlibDefinition { | |||||
| * This is not allowed for the define nested element. | * This is not allowed for the define nested element. | ||||
| * | * | ||||
| * @param defaultValue not used | * @param defaultValue not used | ||||
| * @throws BuildException, always | |||||
| * @throws BuildException always | |||||
| */ | */ | ||||
| public void setDefault(String defaultValue) { | public void setDefault(String defaultValue) { | ||||
| throw new BuildException( | throw new BuildException( | ||||
| @@ -585,7 +585,7 @@ public class MacroDef extends AntlibDefinition { | |||||
| /** | /** | ||||
| * Gets the default value for this attibute. | * Gets the default value for this attibute. | ||||
| * | |||||
| * | |||||
| * @return the generated <em>unique</em> name, of the form | * @return the generated <em>unique</em> name, of the form | ||||
| * "prefix#this classname#<aCounter>". | * "prefix#this classname#<aCounter>". | ||||
| */ | */ | ||||
| @@ -86,7 +86,7 @@ public class Manifest { | |||||
| /** Encoding to be used for JAR files. */ | /** Encoding to be used for JAR files. */ | ||||
| public static final String JAR_ENCODING = "UTF-8"; | public static final String JAR_ENCODING = "UTF-8"; | ||||
| /** | /** | ||||
| * An attribute for the manifest. | * An attribute for the manifest. | ||||
| * Those attributes that are not nested into a section will be added to the "Main" section. | * Those attributes that are not nested into a section will be added to the "Main" section. | ||||
| @@ -105,7 +105,7 @@ public class Manifest { | |||||
| * In this case the first line will have 74 bytes total line length | * In this case the first line will have 74 bytes total line length | ||||
| * (including CRLF). This conflicts with the 72 bytes total line length | * (including CRLF). This conflicts with the 72 bytes total line length | ||||
| * max, but is the only possible conclusion from the manifest specification, if | * max, but is the only possible conclusion from the manifest specification, if | ||||
| * names with 70 bytes length are allowed, have to be on the first line, and | |||||
| * names with 70 bytes length are allowed, have to be on the first line, and | |||||
| * have to be followed by ": ". | * have to be followed by ": ". | ||||
| */ | */ | ||||
| private static final int MAX_NAME_LENGTH = 70; | private static final int MAX_NAME_LENGTH = 70; | ||||
| @@ -326,25 +326,20 @@ public class Manifest { | |||||
| throws IOException { | throws IOException { | ||||
| String line = null; | String line = null; | ||||
| int nameLength = name.getBytes(JAR_ENCODING).length; | int nameLength = name.getBytes(JAR_ENCODING).length; | ||||
| if (nameLength > MAX_NAME_VALUE_LENGTH) | |||||
| { | |||||
| if (nameLength > MAX_NAME_LENGTH) | |||||
| { | |||||
| if (nameLength > MAX_NAME_VALUE_LENGTH) { | |||||
| if (nameLength > MAX_NAME_LENGTH) { | |||||
| throw new IOException("Unable to write manifest line " | throw new IOException("Unable to write manifest line " | ||||
| + name + ": " + value); | + name + ": " + value); | ||||
| } | } | ||||
| writer.print(name + ": " + EOL); | writer.print(name + ": " + EOL); | ||||
| line = " " + value; | line = " " + value; | ||||
| } | |||||
| else | |||||
| { | |||||
| } else { | |||||
| line = name + ": " + value; | line = name + ": " + value; | ||||
| } | } | ||||
| while (line.getBytes(JAR_ENCODING).length > MAX_SECTION_LENGTH) { | while (line.getBytes(JAR_ENCODING).length > MAX_SECTION_LENGTH) { | ||||
| // try to find a MAX_LINE_LENGTH byte section | // try to find a MAX_LINE_LENGTH byte section | ||||
| int breakIndex = MAX_SECTION_LENGTH; | int breakIndex = MAX_SECTION_LENGTH; | ||||
| if (breakIndex >= line.length()) | |||||
| { | |||||
| if (breakIndex >= line.length()) { | |||||
| breakIndex = line.length() - 1; | breakIndex = line.length() - 1; | ||||
| } | } | ||||
| String section = line.substring(0, breakIndex); | String section = line.substring(0, breakIndex); | ||||
| @@ -36,16 +36,16 @@ import org.apache.tools.ant.util.FileUtils; | |||||
| public class ManifestClassPath extends Task { | public class ManifestClassPath extends Task { | ||||
| /** The property name to hold the classpath value. */ | /** The property name to hold the classpath value. */ | ||||
| private String _name; | |||||
| private String name; | |||||
| /** The directory the classpath will be relative from. */ | /** The directory the classpath will be relative from. */ | ||||
| private File _dir; | |||||
| private File dir; | |||||
| /** The maximum parent directory level to traverse. */ | /** The maximum parent directory level to traverse. */ | ||||
| private int _maxParentLevels = 2; | |||||
| private int maxParentLevels = 2; | |||||
| /** The classpath to convert. */ | /** The classpath to convert. */ | ||||
| private Path _path; | |||||
| private Path path; | |||||
| /** | /** | ||||
| * Sets a property, which must not already exist, with a space | * Sets a property, which must not already exist, with a space | ||||
| @@ -53,37 +53,37 @@ public class ManifestClassPath extends Task { | |||||
| * file's parent directory. | * file's parent directory. | ||||
| */ | */ | ||||
| public void execute() { | public void execute() { | ||||
| if (_name == null) { | |||||
| if (name == null) { | |||||
| throw new BuildException("Missing 'property' attribute!"); | throw new BuildException("Missing 'property' attribute!"); | ||||
| } | } | ||||
| if (_dir == null) { | |||||
| if (dir == null) { | |||||
| throw new BuildException("Missing 'jarfile' attribute!"); | throw new BuildException("Missing 'jarfile' attribute!"); | ||||
| } | } | ||||
| if (getProject().getProperty(_name) != null) { | |||||
| throw new BuildException("Property '" + _name + "' already set!"); | |||||
| if (getProject().getProperty(name) != null) { | |||||
| throw new BuildException("Property '" + name + "' already set!"); | |||||
| } | } | ||||
| if (_path == null) { | |||||
| if (path == null) { | |||||
| throw new BuildException("Missing nested <classpath>!"); | throw new BuildException("Missing nested <classpath>!"); | ||||
| } | } | ||||
| // Normalize the reference directory (containing the jar) | // Normalize the reference directory (containing the jar) | ||||
| final FileUtils fileUtils = FileUtils.getFileUtils(); | final FileUtils fileUtils = FileUtils.getFileUtils(); | ||||
| _dir = fileUtils.normalize(_dir.getAbsolutePath()); | |||||
| dir = fileUtils.normalize(dir.getAbsolutePath()); | |||||
| // Create as many directory prefixes as parent levels to traverse, | // Create as many directory prefixes as parent levels to traverse, | ||||
| // in addition to the reference directory itself | // in addition to the reference directory itself | ||||
| File currDir = _dir; | |||||
| String[] dirs = new String[_maxParentLevels + 1]; | |||||
| for (int i = 0; i < _maxParentLevels + 1; ++i) { | |||||
| File currDir = dir; | |||||
| String[] dirs = new String[maxParentLevels + 1]; | |||||
| for (int i = 0; i < maxParentLevels + 1; ++i) { | |||||
| dirs[i] = currDir.getAbsolutePath() + File.separatorChar; | dirs[i] = currDir.getAbsolutePath() + File.separatorChar; | ||||
| currDir = currDir.getParentFile(); | currDir = currDir.getParentFile(); | ||||
| if (currDir == null) { | if (currDir == null) { | ||||
| _maxParentLevels = i + 1; | |||||
| maxParentLevels = i + 1; | |||||
| break; | break; | ||||
| } | } | ||||
| } | } | ||||
| String[] elements = _path.list(); | |||||
| String[] elements = path.list(); | |||||
| StringBuffer buffer = new StringBuffer(); | StringBuffer buffer = new StringBuffer(); | ||||
| StringBuffer element = new StringBuffer(); | StringBuffer element = new StringBuffer(); | ||||
| for (int i = 0; i < elements.length; ++i) { | for (int i = 0; i < elements.length; ++i) { | ||||
| @@ -95,7 +95,7 @@ public class ManifestClassPath extends Task { | |||||
| // Find the longest prefix shared by the current file | // Find the longest prefix shared by the current file | ||||
| // and the reference directory. | // and the reference directory. | ||||
| String relPath = null; | String relPath = null; | ||||
| for (int j = 0; j <= _maxParentLevels; ++j) { | |||||
| for (int j = 0; j <= maxParentLevels; ++j) { | |||||
| String dir = dirs[j]; | String dir = dirs[j]; | ||||
| if (!fullPath.startsWith(dir)) { | if (!fullPath.startsWith(dir)) { | ||||
| continue; | continue; | ||||
| @@ -115,8 +115,9 @@ public class ManifestClassPath extends Task { | |||||
| // No match, so bail out! | // No match, so bail out! | ||||
| if (relPath == null) { | if (relPath == null) { | ||||
| throw new BuildException("No suitable relative path from " + | |||||
| _dir + " to " + fullPath); | |||||
| throw new BuildException( | |||||
| "No suitable relative path from " | |||||
| + dir + " to " + fullPath); | |||||
| } | } | ||||
| // Manifest's ClassPath: attribute always uses forward | // Manifest's ClassPath: attribute always uses forward | ||||
| @@ -138,7 +139,7 @@ public class ManifestClassPath extends Task { | |||||
| } | } | ||||
| // Finally assign the property with the manifest classpath | // Finally assign the property with the manifest classpath | ||||
| getProject().setNewProperty(_name, buffer.toString().trim()); | |||||
| getProject().setNewProperty(name, buffer.toString().trim()); | |||||
| } | } | ||||
| /** | /** | ||||
| @@ -147,7 +148,7 @@ public class ManifestClassPath extends Task { | |||||
| * @param name the property name | * @param name the property name | ||||
| */ | */ | ||||
| public void setProperty(String name) { | public void setProperty(String name) { | ||||
| _name = name; | |||||
| this.name = name; | |||||
| } | } | ||||
| /** | /** | ||||
| @@ -161,7 +162,7 @@ public class ManifestClassPath extends Task { | |||||
| if (!parent.isDirectory()) { | if (!parent.isDirectory()) { | ||||
| throw new BuildException("Jar's directory not found: " + parent); | throw new BuildException("Jar's directory not found: " + parent); | ||||
| } | } | ||||
| _dir = parent; | |||||
| this.dir = parent; | |||||
| } | } | ||||
| /** | /** | ||||
| @@ -171,7 +172,7 @@ public class ManifestClassPath extends Task { | |||||
| * @param levels the max level. Defaults to 2. | * @param levels the max level. Defaults to 2. | ||||
| */ | */ | ||||
| public void setMaxParentLevels(int levels) { | public void setMaxParentLevels(int levels) { | ||||
| _maxParentLevels = levels; | |||||
| this.maxParentLevels = levels; | |||||
| } | } | ||||
| /** | /** | ||||
| @@ -180,7 +181,7 @@ public class ManifestClassPath extends Task { | |||||
| * @param path the classpath to convert. | * @param path the classpath to convert. | ||||
| */ | */ | ||||
| public void addClassPath(Path path) { | public void addClassPath(Path path) { | ||||
| _path = path; | |||||
| this.path = path; | |||||
| } | } | ||||
| } | } | ||||
| @@ -65,7 +65,8 @@ public class Mkdir extends Task { | |||||
| } | } | ||||
| log("Created dir: " + dir.getAbsolutePath()); | log("Created dir: " + dir.getAbsolutePath()); | ||||
| } else { | } else { | ||||
| log("Skipping " + dir.getAbsolutePath() + " because it already exists.", Project.MSG_VERBOSE); | |||||
| log("Skipping " + dir.getAbsolutePath() | |||||
| + " because it already exists.", Project.MSG_VERBOSE); | |||||
| } | } | ||||
| } | } | ||||
| @@ -183,7 +183,7 @@ public abstract class Pack extends Task { | |||||
| /** | /** | ||||
| * The source resource. | * The source resource. | ||||
| * | |||||
| * @return the source. | |||||
| * @since Ant 1.7 | * @since Ant 1.7 | ||||
| */ | */ | ||||
| public Resource getSrcResource() { | public Resource getSrcResource() { | ||||
| @@ -194,7 +194,7 @@ public abstract class Pack extends Task { | |||||
| * Whether this task can deal with non-file resources. | * Whether this task can deal with non-file resources. | ||||
| * | * | ||||
| * <p>This implementation returns false.</p> | * <p>This implementation returns false.</p> | ||||
| * | |||||
| * @return false. | |||||
| * @since Ant 1.7 | * @since Ant 1.7 | ||||
| */ | */ | ||||
| protected boolean supportsNonFileResources() { | protected boolean supportsNonFileResources() { | ||||
| @@ -96,7 +96,7 @@ public class PreSetDef extends AntlibDefinition implements TaskContainer { | |||||
| newDef.setName(name); | newDef.setName(name); | ||||
| helper.addDataTypeDefinition(newDef); | helper.addDataTypeDefinition(newDef); | ||||
| log("defining preset "+name,Project.MSG_VERBOSE); | |||||
| log("defining preset " + name, Project.MSG_VERBOSE); | |||||
| } | } | ||||
| /** | /** | ||||
| @@ -144,7 +144,8 @@ class ProcessDestroyer implements Runnable { | |||||
| // Cf.: http://developer.java.sun.com/developer/bugParade/bugs/4533087.html | // Cf.: http://developer.java.sun.com/developer/bugParade/bugs/4533087.html | ||||
| destroyProcessThread.setShouldDestroy(false); | destroyProcessThread.setShouldDestroy(false); | ||||
| if (!destroyProcessThread.getThreadGroup().isDestroyed()) { | if (!destroyProcessThread.getThreadGroup().isDestroyed()) { | ||||
| // start() would throw IllegalThreadStateException from ThreadGroup.add if it were destroyed | |||||
| // start() would throw IllegalThreadStateException from | |||||
| // ThreadGroup.add if it were destroyed | |||||
| destroyProcessThread.start(); | destroyProcessThread.start(); | ||||
| } | } | ||||
| // this should return quickly, since it basically is a NO-OP. | // this should return quickly, since it basically is a NO-OP. | ||||
| @@ -606,8 +606,9 @@ public class Property extends Task { | |||||
| String propertyValue = props.getProperty(name); | String propertyValue = props.getProperty(name); | ||||
| Vector fragments = new Vector(); | Vector fragments = new Vector(); | ||||
| Vector propertyRefs = new Vector(); | Vector propertyRefs = new Vector(); | ||||
| PropertyHelper.getPropertyHelper(this.getProject()).parsePropertyString(propertyValue, fragments, | |||||
| propertyRefs); | |||||
| PropertyHelper.getPropertyHelper( | |||||
| this.getProject()).parsePropertyString( | |||||
| propertyValue, fragments, propertyRefs); | |||||
| if (propertyRefs.size() != 0) { | if (propertyRefs.size() != 0) { | ||||
| referencesSeen.push(name); | referencesSeen.push(name); | ||||