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" }); } } }
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); }
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 }); } } }