コード例 #1
0
        public async Task Write(IApiNodeComparison apiComparison, TextWriter file, CancellationToken cancellationToken, int indentLevel = 0)
        {
            await WriteLineStart(apiComparison, file, indentLevel);

            await m_ApiNodeWriter.Write(apiComparison.Get(n => n), file, cancellationToken, false);

            var orderedMembers = MembersInCanonicalOrder(apiComparison);

            foreach (var member in orderedMembers)
            {
                await Write(member, file, cancellationToken, indentLevel + 1);
            }
        }
コード例 #2
0
        public async Task WriteHumanReadable(IEnumerable <IApiNode> nodes, FileInfo outputFile, CancellationToken cancellationToken)
        {
            using (var file = new StreamWriter(outputFile.FullName, false))
            {
                file.WriteLine("This autogenerated file contains the binary-compatibility API. It can be checked into your VCS to help track changes.");
                file.WriteLine("- Edits and removals from this file are caused by binary-incompatible changes");
                file.WriteLine("- Additions to this file are binary-compatible in most cases.");
                file.WriteLine("For more information, see: https://github.com/GrahamTheCoder/Semver-AssemblyCompatibility");

                foreach (var node in nodes.OrderBy(n => n.Name))
                {
                    await m_ApiNodeWriter.Write(node, file, cancellationToken);
                }
            }
        }