private static async Task Main(string[] args) { var noCache = args.ContainsIgnoreCase("/nocache"); var directory = FullPath.FromPath("../../../../Meziantou.GitLabClient"); var coverageOutputFile = FullPath.FromPath("../../../../../docs/coverage.md"); var clientTemplateOutputFile = FullPath.FromPath("../../../GitLabModels/Clients/_template.txt"); Console.WriteLine("Generating files to " + directory); Console.WriteLine("Generating overage file to " + coverageOutputFile); var model = GitLabModelBuilder.Create(); var documentation = await GitLabDocumentationResource.LoadResourcesAsync(noCache); model.Merge(documentation); await Task.WhenAll( Task.Run(() => EmojiGenerator.GenerateAsync(directory)), Task.Run(() => new GitLabClientGenerator().Generate(directory, model)), Task.Run(() => GenerateApiCoverage()), Task.Run(() => GraphqlGenerator.GenerateAsync(directory, noCache)) ); async Task GenerateApiCoverage() { var markdown = ApiCoverage.GetMarkdown(model, documentation); IOUtilities.PathCreateDirectory(coverageOutputFile); await File.WriteAllTextAsync(coverageOutputFile, markdown); var template = ApiCoverage.GetNotImplementedTemplate(model, documentation); await File.WriteAllTextAsync(clientTemplateOutputFile, template); } }
private void InterpretSchemaGraphQl(string key, Uri uri) { var action = new GraphqlGenerator(uri.ToString()); try { var actions = action.GetIntrospection().GetAwaiter().GetResult(); this.GraphQLs.Add(key, new BlocklyFileGenerator(actions)); } catch (Exception ex) { Console.WriteLine(ex); } return; }