Example #1
0
        static void Main(string[] args)
        {
            if (args.Length == 0)
            {
                System.Console.WriteLine("Please specify a project file.");
                return;
            }


#if DEBUG
            var progress = new Progress <string>(x => Debug.WriteLine(x));
#else
            var progress = new Progress <string>(System.Console.WriteLine);
#endif

            var convertedProjects = ProjectConverter.Convert(args[0], progress)
                                    .Where(x => x != null)
                                    .ToList();

            if (!args.Contains("--dry-run"))
            {
                var doBackup = !args.Contains("--no-backup");

                var writer = new Writing.ProjectWriter(x => x.Delete(), _ => { });
                foreach (var project in convertedProjects)
                {
                    writer.Write(project, doBackup, progress);
                }
            }
        }
Example #2
0
        static void Main(string[] args)
        {
            if (args.Length == 0)
            {
                System.Console.WriteLine("Please specify a project file.");
                return;
            }

            var writer = new Writing.ProjectWriter();

            var progress = new Progress <string>(System.Console.WriteLine);

            var convertedProjects = ProjectConverter.Convert(args[0], progress)
                                    .Where(x => x != null)
                                    .ToList();

            if (!args.Contains("--dry-run"))
            {
                foreach (var project in convertedProjects)
                {
                    writer.Write(project, progress);
                }
            }
        }
Example #3
0
        private static void ConvertProject(Options options)
        {
            var conversionOptions = options.ConversionOptions;

            var convertedProjects = new List <Project>();

            ILogger logger = new ConsoleLogger("console", (s, l) => l >= LogLevel.Information, true);

            foreach (var file in options.Files)
            {
                var projects = new ProjectConverter(logger, conversionOptions)
                               .Convert(file)
                               .Where(x => x != null)
                               .ToList();
                convertedProjects.AddRange(projects);
            }

            System.Console.Out.Flush();

            var analyzer = new Analyzer <LoggerReporter, LoggerReporterOptions>(new LoggerReporter(logger));

            foreach (var project in convertedProjects)
            {
                analyzer.Analyze(project);
            }

            if (options.DryRun)
            {
                return;
            }

            var doBackup = !options.NoBackup;

            var writer = new Writing.ProjectWriter(logger, x => x.Delete(), _ => { });

            foreach (var project in convertedProjects)
            {
                writer.Write(project, doBackup);
            }

            System.Console.Out.Flush();

            logger.LogInformation("### Performing 2nd pass to analyze converted projects...");

            conversionOptions.ProjectCache?.Purge();

            convertedProjects.Clear();

            foreach (var file in options.Files)
            {
                var projects = new ProjectConverter(logger, conversionOptions)
                               .Convert(file)
                               .Where(x => x != null)
                               .ToList();
                convertedProjects.AddRange(projects);
            }

            System.Console.Out.Flush();

            foreach (var project in convertedProjects)
            {
                analyzer.Analyze(project);
            }
        }
Example #4
0
        private static void ConvertProject(Options options)
        {
#if DEBUG
            var progress = new Progress <string>(x => Debug.WriteLine(x));
#else
            var progress = new Progress <string>(System.Console.WriteLine);
#endif

            var conversionOptions = options.ConversionOptions;

            var convertedProjects = new List <Project>();

            foreach (var file in options.Files)
            {
                var projects = ProjectConverter
                               .Convert(file, conversionOptions, progress)
                               .Where(x => x != null)
                               .ToList();
                convertedProjects.AddRange(projects);
            }

            System.Console.Out.Flush();

            var analyzer = new Analyzer <ConsoleReporter, ConsoleReporterOptions>(ConsoleReporter.Instance);
            foreach (var project in convertedProjects)
            {
                analyzer.Analyze(project);
            }

            if (options.DryRun)
            {
                return;
            }

            var doBackup = !options.NoBackup;

            var writer = new Writing.ProjectWriter(x => x.Delete(), _ => { });
            foreach (var project in convertedProjects)
            {
                if (project.IsModernProject)
                {
                    if (progress is IProgress <string> progressImpl)
                    {
                        progressImpl.Report($"Skipping CPS project '{project.FilePath.Name}'...");
                    }

                    continue;
                }

                writer.Write(project, doBackup, progress);
            }

            System.Console.Out.Flush();

            if (progress is IProgress <string> progressInterface)
            {
                progressInterface.Report("### Performing 2nd pass to analyze converted projects...");
            }

            ProjectReader.PurgeCache();
            convertedProjects.Clear();

            foreach (var file in options.Files)
            {
                var projects = ProjectConverter
                               .Convert(file, conversionOptions, progress)
                               .Where(x => x != null)
                               .ToList();
                convertedProjects.AddRange(projects);
            }

            System.Console.Out.Flush();

            foreach (var project in convertedProjects)
            {
                analyzer.Analyze(project);
            }
        }
Example #5
0
        private static void ConvertProject(Options options)
        {
            var conversionOptions = options.ConversionOptions;

            var convertedProjects = new List <Project>();

            ILogger logger = new ConsoleLogger("console", (s, l) => l >= LogLevel.Information, true);

            logger.LogWarning("csproj-to-2017 is deprecated and will be removed soon");
            logger.LogInformation("Consider migrating to Project2015To2017.Migrate2017.Tool (dotnet migrate-2017)");

            foreach (var file in options.Files)
            {
                var projects = new ProjectConverter(logger, Vs15TransformationSet.Instance, conversionOptions)
                               .Convert(file, logger)
                               .Where(x => x != null)
                               .ToList();
                convertedProjects.AddRange(projects);
            }

            System.Console.Out.Flush();

            var analyzer = new Analyzer <LoggerReporter, LoggerReporterOptions>(new LoggerReporter(logger));

            foreach (var project in convertedProjects)
            {
                analyzer.Analyze(project);
            }

            if (options.DryRun)
            {
                return;
            }

            var doBackup = !options.NoBackup;

            var writer = new Writing.ProjectWriter(logger, x => x.Delete(), _ => { });

            foreach (var project in convertedProjects)
            {
                writer.Write(project, doBackup);
            }

            System.Console.Out.Flush();

            logger.LogInformation("### Performing 2nd pass to analyze converted projects...");

            conversionOptions.ProjectCache?.Purge();

            convertedProjects.Clear();

            foreach (var file in options.Files)
            {
                var projects = new ProjectConverter(logger, BasicReadTransformationSet.Instance, conversionOptions)
                               .Convert(file, logger)
                               .Where(x => x != null)
                               .ToList();
                convertedProjects.AddRange(projects);
            }

            System.Console.Out.Flush();

            foreach (var project in convertedProjects)
            {
                analyzer.Analyze(project);
            }
        }