public static int Main(string[] args) { string input = null; string output = null; string markup = Markdown; var configuration = CommandLineParserConfigurator .Create() .WithNamed("i", v => input = v) .HavingLongAlias("input") .Required() .DescribedBy("path", "specifies the input path pointing to a xBehave/xUnit XML report.") .WithNamed("o", v => output = v) .HavingLongAlias("output") .Required() .DescribedBy("path", "specifies the output path where the generated markdown will be written to.") .WithNamed("m", v => markup = v) .HavingLongAlias("markup") .DescribedBy($"markup [{Markdown} | {DokuWiki}]", "specifies which markup to use") .BuildConfiguration(); var parser = new CommandLineParser(configuration); var parseResult = parser.Parse(args); if (!parseResult.Succeeded) { Usage usage = new UsageComposer(configuration).Compose(); Console.WriteLine(parseResult.Message); Console.WriteLine("usage:" + usage.Arguments); Console.WriteLine("options"); Console.WriteLine(usage.Options.IndentBy(4)); Console.WriteLine(); return InvalidFunction; } if (!File.Exists(input)) { Console.WriteLine("Input file '{0}' does not exist, please define an existing file.", input); return FileNotFound; } IMarkupWriter markupWriter; switch (markup.ToLowerInvariant()) { case Markdown: markupWriter = new MarkdownWriter(); break; case DokuWiki: markupWriter = new DokuWikiWriter(); break; default: return InvalidMarkup; } var inputXml = XDocument.Load(input); var converter = new Converter(markupWriter); var outputMarkdown = converter.Convert(inputXml); using (var writer = new StreamWriter(output)) { writer.Write(outputMarkdown); } return Ok; }
public static int Main(string[] args) { string input = null; string output = null; string markup = Markdown; var configuration = CommandLineParserConfigurator .Create() .WithNamed("i", v => input = v) .HavingLongAlias("input") .Required() .DescribedBy("path", "specifies the input path pointing to a xBehave/xUnit XML report.") .WithNamed("o", v => output = v) .HavingLongAlias("output") .Required() .DescribedBy("path", "specifies the output path where the generated markdown will be written to.") .WithNamed("m", v => markup = v) .HavingLongAlias("markup") .DescribedBy($"markup [{Markdown} | {DokuWiki}]", "specifies which markup to use") .BuildConfiguration(); var parser = new CommandLineParser(configuration); var parseResult = parser.Parse(args); if (!parseResult.Succeeded) { Usage usage = new UsageComposer(configuration).Compose(); Console.WriteLine(parseResult.Message); Console.WriteLine("usage:" + usage.Arguments); Console.WriteLine("options"); Console.WriteLine(usage.Options.IndentBy(4)); Console.WriteLine(); return(InvalidFunction); } if (!File.Exists(input)) { Console.WriteLine("Input file '{0}' does not exist, please define an existing file.", input); return(FileNotFound); } IMarkupWriter markupWriter; switch (markup.ToLowerInvariant()) { case Markdown: markupWriter = new MarkdownWriter(); break; case DokuWiki: markupWriter = new DokuWikiWriter(); break; default: return(InvalidMarkup); } var inputXml = XDocument.Load(input); var converter = new Converter(markupWriter); var outputMarkdown = converter.Convert(inputXml); using (var writer = new StreamWriter(output)) { writer.Write(outputMarkdown); } return(Ok); }