public override void GenerateTocAndYamls(string targetApiVersionDir, SplitSwaggerResult splitSwaggerResult, RestTocGroup restTocGroup) { Console.WriteLine("Starting to aggregate split result"); var aggregateResult = Aggregate(splitSwaggerResult); Console.WriteLine("Starting to generate toc for aggregated result"); GenerateToc(restTocGroup, aggregateResult); Console.WriteLine($"Starting to create operation yamls"); WriteOpeartions(targetApiVersionDir, aggregateResult, restTocGroup, 1); Console.WriteLine($"Starting to create component yamls"); SplitHelper.WriteComponents(targetApiVersionDir, aggregateResult.Components); }
private void WriteOpeartions(string targetApiVersionDir, GraphAggregateResult aggregateResult, RestTocGroup restTocGroup, int depth) { if (restTocGroup != null) { foreach (var group in restTocGroup.Groups) { if (depth > 1) { ResolveComponent(aggregateResult, MappingFile.ComponentPrefix + group.Key, group.Value); } WriteOpeartions(targetApiVersionDir, aggregateResult, group.Value, depth + 1); } if (restTocGroup.RestTocLeaves?.Count > 0) { var aggregateOperations = restTocGroup.RestTocLeaves.OrderBy(p => p.MainOperation.Name); foreach (var aggregateOperation in aggregateOperations) { SplitHelper.WriteOperations(targetApiVersionDir, aggregateOperation, MergeOperations, MergeOperations); } } } }