You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by Will Uther <wi...@cs.cmu.edu> on 2000/02/16 07:09:27 UTC
ant on Mac
Hi,
I just downloaded ant and started playing with it on my Mac today. I
have a number of small bug fixes. I'll include the small ones in this
email, but I also wrote a VERY simple graphical front end (no command line
on the mac:), that is a few files. How do I go about submitting them?
In other news, it would be really cool if the CVS task used jCVS instead of
Runtime.exec. I don't have the time to do that one myself.
later,
\x/ill :-}
Here are the changes. This is not normal diff format, it's just me cutting
and pasting. If you like I can resubmit these another way...
Project.java : line 353 (this one isn't a bugfix, it's needed for my GUI.)
public Enumeration getTargetNames() {
return targets.keys();
}
Chmod.java : line 84 (The mac runtime uses unix style paths)
if (System.getProperty("path.separator").equals(":") &&
!System.getProperty("os.name").startsWith("Mac"))
Delete.java : line 74 (just some extra error checking)
public void execute() throws BuildException {
project.log("Deleting: " + f.getAbsolutePath());
if (f.exists()) {
if (f.isDirectory()) {
project.log("Directory: " + f.getAbsolutePath() + " cannot be
removed with delete. Use Deltree instead.");
} else {
f.delete();
}
} else {
project.log("File: " + f.getAbsolutePath() + " does not exist.");
}
}
Deltree.java : line 94 (this was relying on undocumented behaviour - it
still is, but it is a little more robust now)
private void removeDir(File dir) throws IOException {
// check to make sure that the given dir isn't a symlink
// the comparison of absolute path and canonical path
// catches this
// XXX - this is relying on undocumented behaviour in the JVM!
// JavaSoft needs to introduce an isSymLink() method in
java.io.File to do this right.
String canonical = dir.getCanonicalPath();
String absolute = dir.getAbsolutePath();
if (canonical.endsWith(dir.separator) &&
!absolute.endsWith(dir.separator))
absolute = absolute + dir.separator;
else if (!canonical.endsWith(dir.separator) &&
absolute.endsWith(dir.separator))
canonical = canonical + dir.separator;
if (canonical.equals(absolute)) {
String[] list = dir.list();
Javac.java : line 249 (this allows multiple builds in the same execution)
/**
* Scans the directory looking for source files to be compiled and
* support files to be copied. The results are returned in the
* class variables compileList and filecopyList.
*/
private void scanDir(File srcDir, File destDir, String files[]) {
compileList.removeAllElements();
filecopyList.clear();
for (int i = 0; i < files.length; i++) {