Ejemplo n.º 1
0
        //public int InternalCompare(KeyValuePair<Guid, List<Guid>> x, KeyValuePair<Guid, List<Guid>> y)
        //{
        //    if (y.Value.Contains(x.Key))
        //    {
        //        return 1;
        //    }
        //    if (x.Value.Contains(y.Key))
        //    {
        //        return -1;
        //    }
        //    return x.Key.CompareTo(y.Key);
        //}
        //public int Compare(KeyValuePair<Guid, List<Guid>> x, KeyValuePair<Guid, List<Guid>> y)
        //{
        //    var result = InternalCompare(x,y);
        //    if (result == 0)
        //    {
        //        Console.WriteLine($"{x.Key.ToString().ToUpperInvariant()}={y.Key.ToString().ToUpperInvariant()}");
        //    }
        //    else if (result < 0)
        //    {
        //        Console.WriteLine($"{x.Key.ToString().ToUpperInvariant()}<{y.Key.ToString().ToUpperInvariant()}");
        //    }
        //    else
        //    {
        //        Console.WriteLine($"{x.Key.ToString().ToUpperInvariant()}>{y.Key.ToString().ToUpperInvariant()}");
        //    }
        //    return result;
        //}

        public static void Main(string[] args)
        {
            Console.Error.WriteLine("Dot Net Build Mapping Tool");
            Console.Error.WriteLine($"Version: {Assembly.GetExecutingAssembly().GetName().Version}");
            var me            = new CreateOrder();
            var runParameters = new RunParameters();

            foreach (var arg in args)
            {
                runParameters.PathList.Add(arg);
            }

            if (Console.IsInputRedirected)
            {
                using (var reader = new StreamReader(Console.OpenStandardInput()))
                {
                    while (!reader.EndOfStream)
                    {
                        runParameters.PathList.Add(reader.ReadLine());
                    }
                }
            }

            me.Run(runParameters);
        }
Ejemplo n.º 2
0
 public void AssemblyProjectList(RunParameters runParameters)
 {
     foreach (var path in runParameters.PathList)
     {
         string workingPath = XPlatHelper.FullyNormalizePath(Directory.GetCurrentDirectory(), path);
         if (workingPath.EndsWith(".sln", StringComparison.OrdinalIgnoreCase))
         {
             this.SolutionFileParsers.Add(new SolutionFileParser(workingPath));
         }
         else
         {
             this.ProjectFiles.Add(new ProjectFileReference(workingPath));
         }
     }
 }
Ejemplo n.º 3
0
        public void Run(RunParameters runParameters)
        {
            AssemblyProjectList(runParameters);
            ParseSolutionFiles();
            AddIndependentProjectFiles();
            ResolveAllProjectReferences();
            DetermineProjectBuildGroups();
            WriteProjectListOutput();

            //Dictionary<Guid, List<Guid>> orderMap = new Dictionary<Guid, List<Guid>>();
            //using (var stream = File.OpenRead(args[0]))
            //using (var reader = new StreamReader(stream))
            //{
            //    while (!reader.EndOfStream)
            //    {
            //        var line = reader.ReadLine();
            //        var parts = line.Split("->");
            //        var project = Guid.Parse(parts[0]);
            //        var dependency = Guid.Parse(parts[1]);
            //        if (!orderMap.TryGetValue(project, out var dependencies))
            //        {
            //            dependencies = new List<Guid>();
            //            orderMap.Add(project, dependencies);
            //        }
            //        dependencies.Add(dependency);
            //    }
            //}
            //var ordered = orderMap.ToList();
            //ordered.Sort(this);
            //foreach (var pair in ordered)
            //{
            //    foreach(var item in pair.Value)
            //    {
            //        Console.WriteLine($"{pair.Key.ToString().ToUpperInvariant()}->{item.ToString().ToUpperInvariant()}");
            //    }
            //}
        }