You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by bo...@apache.org on 2004/01/30 16:37:08 UTC
cvs commit: ant/src/main/org/apache/tools/ant/taskdefs Execute.java
bodewig 2004/01/30 07:37:08
Modified: . WHATSNEW
src/main/org/apache/tools/ant/taskdefs Execute.java
Log:
Fail with a useful error message when the user asks us to fork a
process in a directory that doesn't exist.
PR: 25455
Revision Changes Path
1.535 +3 -0 ant/WHATSNEW
Index: WHATSNEW
===================================================================
RCS file: /home/cvs/ant/WHATSNEW,v
retrieving revision 1.534
retrieving revision 1.535
diff -u -r1.534 -r1.535
--- WHATSNEW 30 Jan 2004 14:44:38 -0000 1.534
+++ WHATSNEW 30 Jan 2004 15:37:08 -0000 1.535
@@ -31,6 +31,9 @@
* The gcj compiler adapter for <javac> failed if the destination
directory didn't exist. Bugzilla Report 25856.
+* Ant now fails with a more useful message if a new process will be
+ forked in a directory and that directory doesn't exist.
+
Other changes:
--------------
* Translate task logs a debug message specifying the number of files
1.71 +12 -3 ant/src/main/org/apache/tools/ant/taskdefs/Execute.java
Index: Execute.java
===================================================================
RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/Execute.java,v
retrieving revision 1.70
retrieving revision 1.71
diff -u -r1.70 -r1.71
--- Execute.java 25 Sep 2003 14:51:07 -0000 1.70
+++ Execute.java 30 Jan 2004 15:37:08 -0000 1.71
@@ -1,7 +1,7 @@
/*
* The Apache Software License, Version 1.1
*
- * Copyright (c) 2000-2003 The Apache Software Foundation. All rights
+ * Copyright (c) 2000-2004 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -476,6 +476,9 @@
launcher = shellLauncher;
}
+ if (dir != null && !dir.exists()) {
+ throw new BuildException(dir + " doesn't exists.");
+ }
return launcher.exec(project, command, env, dir);
}
@@ -487,6 +490,9 @@
* of the subprocess failed
*/
public int execute() throws IOException {
+ if (workingDirectory != null && !workingDirectory.exists()) {
+ throw new BuildException(workingDirectory + " doesn't exists.");
+ }
final Process process = launch(project, getCommandline(),
getEnvironment(), workingDirectory,
useVMLauncher);
@@ -536,6 +542,9 @@
* @since ant 1.6
*/
public void spawn() throws IOException {
+ if (workingDirectory != null && !workingDirectory.exists()) {
+ throw new BuildException(workingDirectory + " doesn't exists.");
+ }
final Process process = launch(project, getCommandline(),
getEnvironment(), workingDirectory,
useVMLauncher);
@@ -625,7 +634,7 @@
// so we only return the new values which then will be set in
// the generated DCL script, inheriting the parent process environment
if (Os.isFamily("openvms")) {
- return env;
+ return env;
}
Vector osEnv = (Vector) getProcEnvironment().clone();
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org