static void Main(string[] args) { Console.WriteLine("*********************** Object Model Generator ***********************"); ICodeGenerator generator = null; var arg = ArgumentParser.Parse(args); //if (arg.ContainsKey("format")) //{ // if (arg["format"] == "image") // generator = new Generators.OMDGenerator(); // else if (arg["format"] == "html") // generator = new Generators.HtmlOmdGenerator(); // else // { // Console.WriteLine("Invalid format parameter."); // WriteUsage(); // return; // } //} //else //{ generator = new Generators.HtmlOmdGenerator(); //} if (!arg.ContainsKey("source") && !arg.ContainsKey("assemblies")) { WriteUsage(); return; } GeneratorSettings.ShowPrivateMembers = arg.ContainsKey("ShowPrivate"); GeneratorSettings.ShowInternalMembers = arg.ContainsKey("ShowInternal"); GeneratorSettings.OutputLocation = arg.ContainsKey("output") ? arg["output"] : "./"; List <Regex> filters = arg.ContainsKey("exclude") ? arg["exclude"].Split(';', StringSplitOptions.RemoveEmptyEntries).Select(f => CreateFilter(f)).ToList() : new List <Regex>(); if (arg.ContainsKey("regexfilter")) { filters.Add(new Regex(arg["regexfilter"])); } string[] source = arg.ContainsKey("source") ? arg["source"].Split(';', StringSplitOptions.RemoveEmptyEntries) : new string[] { }; string[] oldSource = arg.ContainsKey("compareSource") ? arg["compareSource"].Split(';', StringSplitOptions.RemoveEmptyEntries) : null; string[] preprocessors = arg.ContainsKey("preprocessors") ? arg["preprocessors"].Split(';', StringSplitOptions.RemoveEmptyEntries) : null; string[] assemblies = arg.ContainsKey("assemblies") ? arg["assemblies"].Split(';', StringSplitOptions.RemoveEmptyEntries) : new string[] { }; string[] compareAssemblies = arg.ContainsKey("compareAssemblies") ? arg["compareAssemblies"].Split(';', StringSplitOptions.RemoveEmptyEntries) : new string[] { }; var g = new Generator(generator); if (oldSource != null || compareAssemblies != null) { g.ProcessDiffs(oldSource, source, compareAssemblies, assemblies, preprocessors, filters.ToArray()).Wait(); } else { g.Process(source, assemblies, preprocessors, filters.ToArray()).Wait(); } if (System.Diagnostics.Debugger.IsAttached) { Console.ReadKey(); } }
static void Main(string[] args) { Console.WriteLine("*********************** Object Model Generator ***********************"); ICodeGenerator generator = null; // TODO: Try using Microsoft.CodeAnalysis.CommandLineParser var arg = ArgumentParser.Parse(args); if (arg.ContainsKey("format")) { if (arg["format"] == "image") { generator = new Generators.OMDGenerator(); } else if (arg["format"] == "html") { generator = new Generators.HtmlOmdGenerator(); } else { Console.WriteLine("Invalid format parameter."); WriteUsage(); return; } } else { generator = new Generators.HtmlOmdGenerator(); } if (!arg.ContainsKey("source")) { WriteUsage(); return; } GeneratorSettings.ShowPrivateMembers = arg.ContainsKey("ShowPrivate"); GeneratorSettings.ShowInternalMembers = arg.ContainsKey("ShowInternal"); string[] filters = arg.ContainsKey("filters") ? arg["filters"].Split(';', StringSplitOptions.RemoveEmptyEntries) : null; System.Text.RegularExpressions.Regex regexfilter = arg.ContainsKey("regexfilter") ? new System.Text.RegularExpressions.Regex(arg["filter"]) : null; string[] source = arg["source"].Split(';', StringSplitOptions.RemoveEmptyEntries); string[] oldSource = arg.ContainsKey("compareSource") ? arg["compareSource"].Split(';', StringSplitOptions.RemoveEmptyEntries) : null; string[] preprocessors = arg.ContainsKey("preprocessors") ? arg["preprocessors"].Split(';', StringSplitOptions.RemoveEmptyEntries) : null; var g = new Generator(generator); if (oldSource != null) { g.ProcessDiffs(oldSource, source, preprocessors, regexfilter, filters).Wait(); } else { g.Process(source, preprocessors, regexfilter, filters).Wait(); } Console.ReadKey(); }
static void Main(string[] args) { Console.WriteLine("*********************** Object Model Generator ***********************"); ICodeGenerator generator = null; var arg = ArgumentParser.Parse(args); if (arg.ContainsKey("format")) { if (arg["format"] == "image") { generator = new Generators.OMDGenerator(); } else if (arg["format"] == "html") { generator = new Generators.HtmlOmdGenerator(); } else { Console.WriteLine("Invalid format parameter."); WriteUsage(); return; } } else { generator = new Generators.HtmlOmdGenerator(); } if (!arg.ContainsKey("source")) { WriteUsage(); return; } GeneratorSettings.ShowPrivateMembers = arg.ContainsKey("ShowPrivate"); GeneratorSettings.ShowInternalMembers = arg.ContainsKey("ShowInternal"); string[] source = arg["source"].Split('|'); string[] oldSource = arg.ContainsKey("compareSource") ? arg["compareSource"].Split('|') : null; var g = new Generator(generator); if (oldSource != null) { g.ProcessDiffs(oldSource, source).Wait(); } else { g.Process(source).Wait(); } Console.ReadKey(); }
static void Main(string[] args) { Console.WriteLine("*********************** Object Model Generator ***********************"); ICodeGenerator generator = null; var arg = ArgumentParser.Parse(args); //if (arg.ContainsKey("format")) //{ // if (arg["format"] == "image") // generator = new Generators.OMDGenerator(); // else if (arg["format"] == "html") // generator = new Generators.HtmlOmdGenerator(); // else // { // Console.WriteLine("Invalid format parameter."); // WriteUsage(); // return; // } //} //else //{ generator = new Generators.HtmlOmdGenerator(); //} if (!arg.ContainsKey("source")) { WriteUsage(); return; } GeneratorSettings.ShowPrivateMembers = arg.ContainsKey("ShowPrivate"); GeneratorSettings.ShowInternalMembers = arg.ContainsKey("ShowInternal"); GeneratorSettings.OutputLocation = arg.ContainsKey("output") ? arg["output"] : "./"; List <Regex> filters = arg.ContainsKey("exclude") ? arg["exclude"].Split(';', StringSplitOptions.RemoveEmptyEntries).Select(f => CreateFilter(f)).ToList() : new List <Regex>(); if (arg.ContainsKey("regexfilter")) { filters.Add(new Regex(arg["regexfilter"])); } string[] source = arg["source"].Split(';', StringSplitOptions.RemoveEmptyEntries); string[] oldSource = arg.ContainsKey("compareSource") ? arg["compareSource"].Split(';', StringSplitOptions.RemoveEmptyEntries) : null; string[] preprocessors = arg.ContainsKey("preprocessors") ? arg["preprocessors"].Split(';', StringSplitOptions.RemoveEmptyEntries) : null; string[] paths = { @"dotnet-api\src\Esri.ArcGISRuntime\Esri.ArcGISRuntime.Shared", @"dotnet-api\src\Esri.ArcGISRuntime\Esri.ArcGISRuntime.WindowsDesktop", @"dotnet-api\src\Esri.ArcGISRuntime.Hydrography\Esri.ArcGISRuntime.Hydrography.Shared", @"dotnet-api\src\Esri.ArcGISRuntime.Hydrography\Esri.ArcGISRuntime.Hydrography.WindowsDesktop", @"dotnet-api\src\Esri.ArcGISRuntime.Preview\Esri.ArcGISRuntime.Preview.Shared", @"dotnet-api\src\Esri.ArcGISRuntime.Preview\Esri.ArcGISRuntime.Preview.WindowsDesktop", @"dotnet-api\src\Esri.ArcGISRuntime\Esri.ArcGISRuntime.Xamarin.Forms.Shared", @"api_generated_interop\managed_wrappers" }; //oldSource = paths.Select(p => @"c:\apps100.2\dotnet\" + p).ToArray(); //source = paths.Select(p => @"c:\apps\dotnet\" + p).ToArray(); //oldSource = null; //source = new[] { @"c:\GitHub\Microsoft\UWPCommunityToolkit"}; // oldSource = new[] { @"c:\GitHub\Microsoft\UWPCommunityToolkit2" }; // source = new[] { @"c:\temp\corefx\src" }; // oldSource = new[] { @"c:\temp\corefx2.0\src" }; // source = new[] { "https://github.com/dotMorten/NmeaParser/archive/master.zip" }; // oldSource = new[] { "https://github.com/dotMorten/NmeaParser/archive/591c532920ef52eaa965ad0d1ee4565cac396914.zip" }; //oldSource = new[] { "https://devtopia.esri.com/runtime/dotnet-api/archive/release/100.2.1.zip" }; var g = new Generator(generator); if (oldSource != null) { g.ProcessDiffs(oldSource, source, preprocessors, filters.ToArray()).Wait(); } else { g.Process(source, preprocessors, filters.ToArray()).Wait(); } if (System.Diagnostics.Debugger.IsAttached) { Console.ReadKey(); } }
static async Task Main(string[] args) { Console.WriteLine("*********************** Object Model Generator ***********************"); ICodeGenerator generator = null; var arg = ArgumentParser.Parse(args); if (arg.ContainsKey("format")) { if (arg["format"] == "md") { generator = new Generators.MarkdownGenerator(); } else if (arg["format"] == "html") { generator = new Generators.HtmlOmdGenerator(); } else { Console.WriteLine("Invalid format parameter."); WriteUsage(); return; } } else { generator = new Generators.HtmlOmdGenerator(); } if (!arg.ContainsKey("source") && !arg.ContainsKey("assemblies")) { WriteUsage(); return; } GeneratorSettings.ShowPrivateMembers = arg.ContainsKey("showPrivate"); GeneratorSettings.ShowInternalMembers = arg.ContainsKey("showInternal"); if (arg.ContainsKey("output")) { GeneratorSettings.OutputLocation = arg["output"]; } List <Regex> filters = arg.ContainsKey("exclude") ? arg["exclude"].Split(';', StringSplitOptions.RemoveEmptyEntries).Select(f => CreateFilter(f)).ToList() : new List <Regex>(); if (arg.ContainsKey("regexfilter")) { filters.Add(new Regex(arg["regexfilter"])); } string[] source = arg.ContainsKey("source") ? arg["source"].Split(';', StringSplitOptions.RemoveEmptyEntries) : new string[] { }; string[] oldSource = arg.ContainsKey("compareSource") ? arg["compareSource"].Split(';', StringSplitOptions.RemoveEmptyEntries) : null; string[] preprocessors = arg.ContainsKey("preprocessors") ? arg["preprocessors"].Split(';', StringSplitOptions.RemoveEmptyEntries) : null; string[] assemblies = arg.ContainsKey("assemblies") ? arg["assemblies"].Split(';', StringSplitOptions.RemoveEmptyEntries) : new string[] { }; string[] compareAssemblies = arg.ContainsKey("compareAssemblies") ? arg["compareAssemblies"].Split(';', StringSplitOptions.RemoveEmptyEntries) : null; var g = new Generator(generator); //Set up output filename if (string.IsNullOrEmpty(GeneratorSettings.OutputLocation)) { GeneratorSettings.OutputLocation = "./"; } var fi = new System.IO.FileInfo(GeneratorSettings.OutputLocation); if (!fi.Directory.Exists) { throw new System.IO.DirectoryNotFoundException(fi.Directory.FullName); } if (fi.Attributes == System.IO.FileAttributes.Directory) { GeneratorSettings.OutputLocation = System.IO.Path.Combine(GeneratorSettings.OutputLocation, "OMD"); } if (oldSource != null || compareAssemblies != null) { await g.ProcessDiffs(oldSource, source, compareAssemblies, assemblies, preprocessors, filters.ToArray()); } else { await g.Process(source, assemblies, preprocessors, filters.ToArray()); } if (System.Diagnostics.Debugger.IsAttached) { Console.ReadKey(); } }