From: Gert D. <dri...@us...> - 2005-01-25 06:45:46
|
Update of /cvsroot/nant/nant/src/NAnt.Core/Tasks In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26689/src/NAnt.Core/Tasks Modified Files: NAntSchemaTask.cs Log Message: Fixed schema for taskcontainers. Fixes bug #1105589. Index: NAntSchemaTask.cs =================================================================== RCS file: /cvsroot/nant/nant/src/NAnt.Core/Tasks/NAntSchemaTask.cs,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -d -r1.33 -r1.34 *** NAntSchemaTask.cs 21 Jan 2005 08:18:30 -0000 1.33 --- NAntSchemaTask.cs 25 Jan 2005 06:45:35 -0000 1.34 *************** *** 263,272 **** _nantSchema.Items.Add(schemaAnnotation); ! // create temp list of task Complex Types ! ArrayList taskComplexTypes = new ArrayList(tasks.Length); ! ArrayList taskContainerComplexTypes = new ArrayList(15); XmlSchemaComplexType containerCT = FindOrCreateComplexType(typeof(TaskContainer)); ! taskComplexTypes.Add(containerCT); taskContainerComplexTypes.Add(containerCT); --- 263,275 ---- _nantSchema.Items.Add(schemaAnnotation); ! // create temp list of taskcontainer Complex Types ! ArrayList taskContainerComplexTypes = new ArrayList(4); XmlSchemaComplexType containerCT = FindOrCreateComplexType(typeof(TaskContainer)); ! if (containerCT.Particle == null) { ! // just create empty sequence to which elements will ! // be added later ! containerCT.Particle = CreateXsdSequence(0, Decimal.MaxValue); ! } taskContainerComplexTypes.Add(containerCT); *************** *** 280,284 **** foreach (Type t in tasks) { XmlSchemaComplexType taskCT = FindOrCreateComplexType(t); - taskComplexTypes.Add(taskCT); // allow any tasks... --- 283,286 ---- *************** *** 319,325 **** _nantSchema.Items.Add(_targetCT); - // add to the list of ComplexTypes so that project will get it. - taskComplexTypes.Add(_targetCT); - Compile(); --- 321,324 ---- *************** *** 470,491 **** XmlSchemaObjectCollection attributesCollection = ct.Attributes; - /* - if (t.IsSubclassOf(typeof(TaskContainer))) { - // - // a failed attempt to map the class hierarchy to XSD - // I don't know how to do it because of "target" task which - // needs to show up in "project". But perhaps this can be done... - // - XmlSchemaComplexContentExtension ext = new XmlSchemaComplexContentExtension(); - ext.BaseTypeName = FindComplexTypeByID(GenerateIDFromType(typeof(TaskContainer))).QualifiedName; - ext.Particle = group1; - ct.ContentModel = new XmlSchemaComplexContent(); - ct.ContentModel.Content = ext; - attributesCollection = ext.Attributes; - } else { - */ - attributesCollection = ct.Attributes; - //} - foreach (MemberInfo memInfo in t.GetMembers(BindingFlags.Instance | BindingFlags.Public)) { if (memInfo.DeclaringType.Equals(typeof(object))) { --- 469,472 ---- |