Exemple #1
0
        private Dictionary <string, List <string> > GetRepositoryReferences(string repositoryGuid, string branch)
        {
            Dictionary <string, List <string> > repositoryReferences = new Dictionary <string, List <string> >();

            var filePaths = api.GetCsProjects(repositoryGuid, branch);

            foreach (var filePath in filePaths)
            {
                var bytes = api.GetItem(repositoryGuid, branch, filePath);
                using (var ms = new MemoryStream(bytes))
                {
                    var xmlDoc = new XmlDocument();
                    xmlDoc.Load(ms);

                    var references = GetProjectReferences(xmlDoc);
                    foreach (KeyValuePair <string, List <string> > kvp in references)
                    {
                        if (!repositoryReferences.Keys.Contains(kvp.Key))
                        {
                            repositoryReferences.Add(kvp.Key, kvp.Value);
                        }
                        else
                        {
                            repositoryReferences[kvp.Key].AddRange(kvp.Value);
                            repositoryReferences[kvp.Key] = repositoryReferences[kvp.Key].Distinct().ToList();
                        }
                    }
                }
            }

            return(repositoryReferences);
        }
        private static void PrintNugetPackages()
        {
            var repos = api.GetRepositories().items;

            foreach (var repo in repos)
            {
                var files = api.GetCsProjects(repo.id, "develop");
                Console.WriteLine($"Repo: {repo.project.name}");

                foreach (var file in files)
                {
                    Console.WriteLine($"Project Files: {file}");
                }
                Console.WriteLine();
            }
        }