Build projects in correct order and allow for parallel builds.
[mono.git] / mcs / tools / xbuild / ChangeLog
index f9b4320389f9da88102a6fb21a6435fdd6b6869b..c91d01e57821246c1b5cefc67c4e5906621bf61e 100644 (file)
@@ -1,3 +1,20 @@
+2009-08-14  Ankit Jain  <jankit@novell.com>
+
+       * SolutionParser.cs (ProjectInfo.Dependencies): Change to a dictionary
+       to keep track of corresponding ProjectInfo objects.
+       (ParseSolution): Refactor to populate the ProjectInfo.Dependencies
+       dictionary. Use AddBuildLevels to emit build levels to allow
+       parallel builds.
+       (AddProjectTargets): Dependency's projectInfo is directly available now.
+       (AddBuildLevels): New. Emit items named BuildLevelN, where each level
+       has projects that can be built in parallel. Lower levels represent
+       dependencies for higher levels.
+       (AddSolutionTargets): Instead of using CallTarget, directly use MSBuild
+       task with the new BuildLevelN stuff. Also tell the user about disabled
+       projects or missing project configs.
+       (TopologicalSort): New.
+       (Insert): New. Based on code from monodevelop.
+
 2009-08-14  Ankit Jain  <jankit@novell.com>
 
        * xbuild/Microsoft.Common.targets (ResolveAssemblyReference): Add