I would call this feature missing a bug. It seems like we need to add
some unit tests to check this so more features don't disappear.

I looked in an old snapshot of nant (circa may 17th) and there is
validation related code commented out there. It must have been removed
from the file sometime after that. The CVS history is probably gone
because of all the cvs changes done recently with the directly re-org,
otherwise we might be able to see comments about why.

I've included the interesting and removed code below.

At the top of Element.InitializeAttribute

ValidateAttributes(elementNode);

/*
        See InitializeAttributes for details about these functions and
why
        they are commentted out for now.

        protected virtual void ValidateAttribute(string attributeName) {
            Type currentType = GetType();
            while (currentType != typeof(object)) {
                // iterate over each property looking for BuildAttribute
attributes
                PropertyInfo[] propertyInfoArray =
currentType.GetProperties(BindingFlags.Public|BindingFlags.Instance);
                foreach (PropertyInfo propertyInfo in propertyInfoArray
) {
                    // get the BuildAttribute attribute
                    BuildAttributeAttribute buildAttribute =
(BuildAttributeAttribute) 
                        Attribute.GetCustomAttribute(propertyInfo,
typeof(BuildAttributeAttribute));

                    if (buildAttribute != null && buildAttribute.Name ==
attributeName) {
                        // found a handler for this attribute
                        return;
                    }
                }

                // try looking in the super class for BuildAttribute
attributes
                currentType = currentType.BaseType;
            }

            // If we haven't found a BuildAttribute then the attribute
is unknown
            // unless this is a special case and the class forgot to
override this
            // method and provide a check for it.
            throw new BuildException(String.Format("Unknown attribute
'{0}'", attributeName), Location);
        }

        protected virtual void ValidateAttributes(XmlNode elementNode) {
            foreach (XmlNode attributeNode in elementNode.Attributes) {
                ValidateAttribute(attributeNode.Name);
            }
        }
*/






-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Nant-developers mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-developers

Reply via email to