From: Gert D. <dri...@us...> - 2003-09-15 06:43:14
|
Update of /cvsroot/nant/nant/src/NAnt.Core In directory sc8-pr-cvs1:/tmp/cvs-serv4288 Modified Files: Project.cs Log Message: The full build order is now determined by the Project. Depenencies are now resolved by the Project. Circular dependencies are now detected (in most cases, this is not foulproof). Index: Project.cs =================================================================== RCS file: /cvsroot/nant/nant/src/NAnt.Core/Project.cs,v retrieving revision 1.51 retrieving revision 1.52 diff -C2 -d -r1.51 -r1.52 *** Project.cs 14 Sep 2003 12:41:45 -0000 1.51 --- Project.cs 15 Sep 2003 06:43:11 -0000 1.52 *************** *** 20,24 **** // Scott Hernandez (Sco...@ho...) // William E. Caputo (wec...@th... | log...@ya...) - using System; using System.Collections; --- 20,23 ---- *************** *** 28,35 **** using System.IO; using System.Reflection; [...1166 lines suppressed...] + /// <returns> + /// A <see cref="BuildException" /> detailing the specified circular + /// dependency. + /// </returns> + private static BuildException CreateCircularException(string end, Stack stack) { + StringBuilder sb = new StringBuilder("Circular dependency: "); + sb.Append(end); + + string c; + + do { + c = (string) stack.Pop(); + sb.Append(" <- "); + sb.Append(c); + } while (!c.Equals(end)); + + return new BuildException(sb.ToString()); + } } } |