From: Gert D. <dri...@us...> - 2003-11-30 17:22:30
|
Update of /cvsroot/nant/nant/src/NAnt.Core/Tasks In directory sc8-pr-cvs1:/tmp/cvs-serv20345 Modified Files: NAntTask.cs Log Message: resolve build file to full path no need to catch and rethrow exception thrown by nested build Index: NAntTask.cs =================================================================== RCS file: /cvsroot/nant/nant/src/NAnt.Core/Tasks/NAntTask.cs,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** NAntTask.cs 30 Nov 2003 16:02:42 -0000 1.20 --- NAntTask.cs 30 Nov 2003 17:22:27 -0000 1.21 *************** *** 79,83 **** get { if (_buildFileName != null) { ! return _buildFileName; } return Project.BuildFileLocalName; --- 79,83 ---- get { if (_buildFileName != null) { ! return Project.GetFullPath(_buildFileName); } return Project.BuildFileLocalName; *************** *** 174,189 **** } } string oldCurrentDirectory = Directory.GetCurrentDirectory(); try { ! string newDir = Path.GetDirectoryName(Project.GetFullPath(BuildFileName)); ! Directory.SetCurrentDirectory(newDir); if (!project.Run()) { throw new BuildException("Nested build failed. Refer to build log for exact reason."); } ! } catch (Exception ) { ! throw; // just re-throw to be handled by the standard exception handlers ! } ! finally { ! // set the current directory back to the original value. Directory.SetCurrentDirectory(oldCurrentDirectory); } --- 174,192 ---- } } + + // store original current directory string oldCurrentDirectory = Directory.GetCurrentDirectory(); + try { ! // change current directory to directory of the build file that ! // will be run ! Directory.SetCurrentDirectory(Path.GetDirectoryName( ! Project.GetFullPath(BuildFileName))); ! // run the given build if (!project.Run()) { throw new BuildException("Nested build failed. Refer to build log for exact reason."); } ! } finally { ! // restore current directory to original value Directory.SetCurrentDirectory(oldCurrentDirectory); } |