Forgot this in changelog
[mono.git] / mcs / class / Microsoft.Build.Engine / Microsoft.Build.BuildEngine / Engine.cs
index 87c7d185531a528360925d2e7483e6dc51168680..b026727a0cd1a491c92054fea59943173b6476f0 100644 (file)
@@ -47,7 +47,7 @@ namespace Microsoft.Build.BuildEngine {
                BuildPropertyGroup      globalProperties;
                //IDictionary           importedProjects;
                List <ILogger>          loggers;
-               bool                    onlyLogCriticalEvents;
+               //bool                  onlyLogCriticalEvents;
                Dictionary <string, Project>    projects;
 
                static Engine           globalEngine;
@@ -87,13 +87,13 @@ namespace Microsoft.Build.BuildEngine {
                [MonoTODO]
                public bool BuildProject (Project project, string targetName)
                {
-                       return BuildProject (project, new string[] { targetName}, new Hashtable (), BuildSettings.None);
+                       return BuildProject (project, new string[] { targetName}, null, BuildSettings.None);
                }
                
                [MonoTODO]
                public bool BuildProject (Project project, string[] targetNames)
                {
-                       return BuildProject (project, targetNames, new Hashtable (), BuildSettings.None);
+                       return BuildProject (project, targetNames, null, BuildSettings.None);
                }
 
                [MonoTODO]
@@ -146,7 +146,7 @@ namespace Microsoft.Build.BuildEngine {
                                              string[] targetNames,
                                              BuildPropertyGroup globalProperties)
                {
-                       return BuildProjectFile (projectFile, targetNames, globalProperties, new Hashtable (), BuildSettings.None);
+                       return BuildProjectFile (projectFile, targetNames, globalProperties, null, BuildSettings.None);
                }
                
                [MonoTODO]
@@ -172,9 +172,12 @@ namespace Microsoft.Build.BuildEngine {
                                project = (Project) projects [projectFile];
                                LogProjectStarted (project, targetNames);
                                result = project.Build (targetNames, targetOutputs);
+                       } else {
+                               project = CreateNewProject ();
+                               project.Load (projectFile);
+                               LogProjectStarted (project, targetNames);
+                               result = project.Build (targetNames, targetOutputs);
                        }
-                       else
-                               return false;
                        
                        LogProjectFinished (project, result);
                        
@@ -192,7 +195,7 @@ namespace Microsoft.Build.BuildEngine {
 
                public Project CreateNewProject ()
                {
-                       if (defaultTasksRegistered == true)
+                       if (defaultTasksRegistered)
                                CheckBinPath ();
                        // FIXME: I don't really know if it should be here
                        LogBuildStarted ();
@@ -204,7 +207,7 @@ namespace Microsoft.Build.BuildEngine {
                        if (projectFullFileName == null)
                                throw new ArgumentNullException ("projectFullFileName");
                        
-                       return (Project) projects [projectFullFileName];
+                       return projects [projectFullFileName];
                }
 
                internal void RemoveLoadedProject (Project p)
@@ -222,7 +225,7 @@ namespace Microsoft.Build.BuildEngine {
                public void UnloadProject (Project project)
                {
                        if (project.ParentEngine != this)
-                               throw new InvalidOperationException ("This project is not loaded in this engine");
+                               throw new InvalidOperationException ("The \"Project\" object specified does not belong to the correct \"Engine\" object.");
                        
                        project.CheckUnloaded ();
                        
@@ -235,7 +238,7 @@ namespace Microsoft.Build.BuildEngine {
                public void UnloadAllProjects ()
                {
                        foreach (KeyValuePair <string, Project> e in projects)
-                               UnloadProject ((Project) e.Value);
+                               UnloadProject (e.Value);
                }
 
                [MonoTODO]
@@ -302,7 +305,7 @@ namespace Microsoft.Build.BuildEngine {
                        Project defaultTasksProject = CreateNewProject ();
                        
                        if (binPath != null) {
-                               if (File.Exists (Path.Combine (binPath, defaultTasksProjectName)) == true) {
+                               if (File.Exists (Path.Combine (binPath, defaultTasksProjectName))) {
                                        defaultTasksProject.Load (Path.Combine (binPath, defaultTasksProjectName));
                                        defaultTasks = defaultTasksProject.TaskDatabase;
                                } else {