2006-12-16 Marek Sieradzki <marek.sieradzki@gmail.com>
[mono.git] / mcs / class / Microsoft.Build.Engine / Microsoft.Build.BuildEngine / Engine.cs
index 87c7d185531a528360925d2e7483e6dc51168680..d345c2d4da9de730a88baf7d2e0c8bf006532af9 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;
@@ -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)
@@ -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 {