From: Ian M. <ia...@us...> - 2003-06-29 08:00:58
|
Update of /cvsroot/nant/nant/src/NAnt.Core In directory sc8-pr-cvs1:/tmp/cvs-serv24336/src/NAnt.Core Modified Files: Project.cs Log Message: added support for a taskpath attribute in the config file. Index: Project.cs =================================================================== RCS file: /cvsroot/nant/nant/src/NAnt.Core/Project.cs,v retrieving revision 1.40 retrieving revision 1.41 diff -C2 -d -r1.40 -r1.41 *** Project.cs 28 Jun 2003 15:43:44 -0000 1.40 --- Project.cs 29 Jun 2003 08:00:56 -0000 1.41 *************** *** 54,58 **** private static readonly log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); ! //xml element and attribute names that are not defined in metadata private const string RootXml = "project"; --- 54,58 ---- private static readonly log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); ! private static bool ScannedTaskPath = false; //xml element and attribute names that are not defined in metadata private const string RootXml = "project"; *************** *** 62,66 **** private const string TargetXml = "target"; private const string TargetDependsAttribute = "depends"; ! #endregion Private Static Fields --- 62,66 ---- private const string TargetXml = "target"; private const string TargetDependsAttribute = "depends"; ! #endregion Private Static Fields *************** *** 1236,1240 **** XmlNodeList frameworkInfoNodes = node.SelectNodes("frameworks/frameworkinfo"); ProcessFrameworkInfo(frameworkInfoNodes); ! string defaultFramework = GetXmlAttributeValue(node, "defaultframework"); if (defaultFramework != null && _frameworkInfoDictionary.ContainsKey( defaultFramework ) ) { --- 1236,1254 ---- XmlNodeList frameworkInfoNodes = node.SelectNodes("frameworks/frameworkinfo"); ProcessFrameworkInfo(frameworkInfoNodes); ! ! string taskPath = GetXmlAttributeValue(node, "taskpath"); ! if (taskPath != null && ScannedTaskPath == false ){ ! string[] paths = taskPath.Split(';'); ! foreach ( string path in paths ){ ! string fullpath = path; ! if (! Directory.Exists( path )) { ! // try relative path ! fullpath = Path.GetFullPath(Path.Combine( Path.GetFullPath(AppDomain.CurrentDomain.BaseDirectory), path)); ! } ! TypeFactory.ScanDir( fullpath ); ! } ! ScannedTaskPath = true; // so we only load tasks once ! } ! string defaultFramework = GetXmlAttributeValue(node, "defaultframework"); if (defaultFramework != null && _frameworkInfoDictionary.ContainsKey( defaultFramework ) ) { |