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