示例#1
0
        private static IEnumerable <Link> Project2Link(ProjectGraphInfo projectInfo)
        {
            foreach (var refProject in projectInfo.Project.Dependencies)
            {
                yield return(new Link
                {
                    Source = projectInfo.Project.Name,
                    Target = refProject.Name
                });
            }

            if (projectInfo.Parents != null)
            {
                string previous = projectInfo.Project.Name;
                foreach (var parentName in projectInfo.Parents.Reverse())
                {
                    var source = "a:" + parentName;
                    var target = previous;
                    previous = source;

                    yield return(new Link
                    {
                        Source = source,
                        Target = target,
                        Category = "Contains"
                    });
                }
            }
        }
示例#2
0
        private static Node Project2Node(ProjectGraphInfo projectInfo)
        {
            bool isCs = projectInfo.Project.FullName.EndsWith(".csproj");

            var node = new Node
            {
                Id       = projectInfo.Project.Name,
                Label    = projectInfo.Project.Name,
                Category = isCs ? VsProjectType : VcProjectType
            };

            return(node);
        }
示例#3
0
 private static IEnumerable <Node> ProjectFolder2Node(ProjectGraphInfo projectInfo)
 {
     if (projectInfo.Parents != null)
     {
         foreach (var parentName in projectInfo.Parents)
         {
             bool isUnitTest = parentName.ToLower().Contains("unit tests");
             yield return(new Node
             {
                 Id = "a:" + parentName,
                 Label = parentName,
                 Group = isUnitTest ? "Collapsed" : "Expanded",
                 Category = isUnitTest ? UnitTestFolderType : FolderType
             });
         }
     }
 }