/// <summary>
        /// Visit the specified target
        /// </summary>
        /// <param name="target">Target to visit.</param>
        public void VisitTarget(NAntTarget target)
        {
            Require.NotNull("target", target);
            var targetNode = FindNode(target.Name);

            foreach (var d in target.Depends)
            {
                var dependentNode = FindNode(d);
                var edge          = mDependencyEdges.CreateEdge(targetNode, dependentNode);
                mEdges.Add(edge);
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Create a NAntProject to represent the passed NAnt file
        /// </summary>
        /// <param name="element"></param>
        /// <returns></returns>
        public static NAntProject FromXml(XElement element)
        {
            Require.NotNull("element", element);

            if (!element.Name.LocalName.Equals(NAntXml.Project))
            {
                var message = string.Format("Expected <{0}> element", NAntXml.Project);
                throw new ArgumentException(message, "element");
            }

            var ns   = element.Name.Namespace;
            var name = (string)element.Attribute(NAntXml.ProjectName);
            var targets
                = element.Elements(ns + NAntXml.Target)
                  .Select(e => NAntTarget.FromXml(e))
                  .ToList();

            return(new NAntProject(name, targets));
        }
Esempio n. 3
0
        /// <summary>
        /// Visit the specified target
        /// </summary>
        /// <param name="target">Target to visit.</param>
        public void VisitTarget(NAntTarget target)
        {
            Require.NotNull("target", target);

            Node node;

            if (string.IsNullOrEmpty(target.Description))
            {
                // Internal Node
                node = mInternalTargetStyle.CreateNode(target.Name, target.Name);
            }
            else if (IncludeDescriptions)
            {
                // External Node with description

                var description
                    = target.Description.Wrap(30, "\\l")
                      .Replace("<", "\\<")
                      .Replace(">", "\\>")
                      .Replace("{", "\\{")
                      .Replace("}", "\\}");
                string label
                    = string.Format(
                          "{{{0}|{1}}}",
                          target.Name,
                          description);
                node = mExternalTargetStyle.CreateNode(target.Name, label);
            }
            else
            {
                string label
                    = string.Format(
                          "{{{0}}}",
                          target.Name);
                node = mExternalTargetStyle.CreateNode(target.Name, label);
            }

            mNodes.Add(node);
        }
Esempio n. 4
0
        /// <summary>
        /// Visit the specified target
        /// </summary>
        /// <param name="target">Target to visit.</param>
        public void VisitTarget(NAntTarget target)
        {
            Require.NotNull("target", target);
            var targetNode = FindNode(target.Name);

            foreach (var d in target.Depends)
            {
                var dependentNode = FindNode(d);
                var edge = mDependencyEdges.CreateEdge(targetNode, dependentNode);
                mEdges.Add(edge);
            }
        }
Esempio n. 5
0
        /// <summary>
        /// Visit the specified target
        /// </summary>
        /// <param name="target">Target to visit.</param>
        public void VisitTarget(NAntTarget target)
        {
            Require.NotNull("target", target);

            Node node;
            if (string.IsNullOrEmpty(target.Description))
            {
                // Internal Node
                node = mInternalTargetStyle.CreateNode(target.Name, target.Name);
            }
            else if (IncludeDescriptions)
            {
                // External Node with description

                var description
                    = target.Description.Wrap(30, "\\l")
                        .Replace("<", "\\<")
                        .Replace(">", "\\>")
                        .Replace("{", "\\{")
                        .Replace("}", "\\}");
                string label
                    = string.Format(
                        "{{{0}|{1}}}",
                        target.Name,
                        description);
                node = mExternalTargetStyle.CreateNode(target.Name, label);
            }
            else
            {
                string label
                   = string.Format(
                       "{{{0}}}",
                       target.Name);
                node = mExternalTargetStyle.CreateNode(target.Name, label);
            }

            mNodes.Add(node);
        }