* Makefile ($(build_lib)): Make CYCLIC_DEP_FILES depend on this.
[mono.git] / mcs / class / Microsoft.Build.Engine / Microsoft.Build.BuildEngine / BuildTask.cs
index d9e29f3521e754ed5c67f967025a47a1b46a29b0..c8654942580b416b3ad7c186bd99fc5980b8d283 100644 (file)
@@ -87,15 +87,19 @@ namespace Microsoft.Build.BuildEngine {
                        TaskEngine      taskEngine;
 
                        LogTaskStarted ();
-                       
-                       taskEngine = new TaskEngine (parentTarget.Project);
-                       
-                       taskEngine.Prepare (InitializeTask (), this.taskElement, GetParameters (), this.Type);
-                       
-                       result = taskEngine.Execute ();
-                       
-                       taskEngine.PublishOutput ();
-                       
+
+                       try {
+                               taskEngine = new TaskEngine (parentTarget.Project);             
+                               taskEngine.Prepare (InitializeTask (), this.taskElement, GetParameters (), this.Type);
+                               result = taskEngine.Execute ();
+                               if (result)
+                                       taskEngine.PublishOutput ();
+                       // FIXME: it should be logged (exception)
+                       } catch (Exception e) {
+                               Console.Error.WriteLine (e);
+                               result = false;
+                       }
+
                        LogTaskFinished (result);
                
                        return result;
@@ -160,8 +164,7 @@ namespace Microsoft.Build.BuildEngine {
                        ITask task;
                        
                        task = (ITask)Activator.CreateInstance (this.Type);
-                       task.BuildEngine = new BuildEngine (parentTarget.Project.ParentEngine, 0, 0, ContinueOnError,
-                               parentTarget.Project.FullFileName);
+                       task.BuildEngine = new BuildEngine (parentTarget.Project.ParentEngine, parentTarget.Project, 0, 0, ContinueOnError);
                        
                        return task;
                }