Skip to content

Commit 4a5a953

Browse files
committed
Adds some ordering to make builds reproducible
1 parent 7f99773 commit 4a5a953

File tree

4 files changed

+53
-50
lines changed

4 files changed

+53
-50
lines changed

docs/theme/input/Shared/Kind/_NamedType.cshtml

+29-29
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
IDocument containingNamespace = Model.Get<IDocument>(CodeAnalysisKeys.ContainingNamespace);
55
IReadOnlyList<IDocument> allInterfaces = Model.GetList<IDocument>(CodeAnalysisKeys.AllInterfaces);
66
IReadOnlyList<IDocument> baseTypes = Model.GetList<IDocument>(CodeAnalysisKeys.BaseTypes);
7-
IReadOnlyList<IDocument> derivedTypes = Model.GetList<IDocument>(CodeAnalysisKeys.DerivedTypes);
8-
IReadOnlyList<IDocument> implementingTypes = Model.GetList<IDocument>(CodeAnalysisKeys.ImplementingTypes);
7+
IReadOnlyList<IDocument> derivedTypes = Model.GetList<IDocument>(CodeAnalysisKeys.DerivedTypes).OrderBy(x => x["DisplayName"]).ThenBy(x => x["FullName"]).ToList();
8+
IReadOnlyList<IDocument> implementingTypes = Model.GetList<IDocument>(CodeAnalysisKeys.ImplementingTypes).OrderBy(x => x["DisplayName"]).ThenBy(x => x["FullName"]).ToList();
99
if(containingAssembly != null
1010
|| containingNamespace != null
1111
|| (allInterfaces != null && allInterfaces.Count > 0)
@@ -17,72 +17,72 @@
1717
<div class="panel-body">
1818
<div class="row">
1919
<div class="col-md-6">
20-
<dl class="dl-horizontal">
20+
<dl class="dl-horizontal">
2121
@if(containingAssembly != null)
22-
{
22+
{
2323
<dt>Assembly</dt>
2424
<dd>@Context.GetTypeLink(containingAssembly)</dd>
2525
}
2626

2727
@if(containingNamespace != null)
28-
{
28+
{
2929
<dt>Namespace</dt>
3030
<dd>@Context.GetTypeLink(containingNamespace)</dd>
3131
}
32-
32+
3333
@if(allInterfaces != null && allInterfaces.Count > 0)
3434
{
3535
<dt>Interfaces</dt>
3636
<dd>
3737
<ul class="list-unstyled">
3838
@foreach(IDocument interfaceDocument in allInterfaces)
3939
{
40-
<li>@Context.GetTypeLink(interfaceDocument)</li>
40+
<li>@Context.GetTypeLink(interfaceDocument)</li>
4141
}
4242
</ul>
4343
</dd>
4444
}
45-
45+
4646
@if(baseTypes != null && baseTypes.Count > 0)
4747
{
4848
<dt>Base Types</dt>
4949
<dd>
50-
<ul class="list-unstyled">
50+
<ul class="list-unstyled">
5151
@foreach(IDocument baseType in baseTypes.Reverse())
5252
{
53-
<li>@Context.GetTypeLink(baseType)</li>
53+
<li>@Context.GetTypeLink(baseType)</li>
5454
}
5555
</ul>
56-
</dd>
56+
</dd>
5757
}
58-
58+
5959
@if(derivedTypes != null && derivedTypes.Count > 0)
6060
{
6161
<dt>Derived Types</dt>
6262
<dd>
6363
<ul class="list-unstyled">
6464
@foreach(IDocument derivedType in derivedTypes)
6565
{
66-
<li>@Context.GetTypeLink(derivedType)</li>
66+
<li>@Context.GetTypeLink(derivedType)</li>
6767
}
6868
</ul>
69-
</dd>
69+
</dd>
7070
}
71-
71+
7272
@if(implementingTypes != null && implementingTypes.Count > 0)
7373
{
7474
<dt>Implementing Types</dt>
7575
<dd>
7676
<ul class="list-unstyled">
7777
@foreach(IDocument implementingType in implementingTypes)
7878
{
79-
<li>@Context.GetTypeLink(implementingType)</li>
79+
<li>@Context.GetTypeLink(implementingType)</li>
8080
}
8181
</ul>
82-
</dd>
82+
</dd>
8383
}
8484
</dl>
85-
</div>
85+
</div>
8686
<div class="col-md-6">
8787
@{
8888
System.Text.StringBuilder hierarchy = new System.Text.StringBuilder();
@@ -102,35 +102,35 @@
102102
{
103103
for(int c = 0 ; c < allInterfaces.Count ; c++)
104104
{
105-
hierarchy.AppendLine($"\tType-.->Interface{c}[\"{System.Net.WebUtility.HtmlEncode(allInterfaces[c].GetString(CodeAnalysisKeys.DisplayName))}\"]");
105+
hierarchy.AppendLine($"\tType-.->Interface{c}[\"{System.Net.WebUtility.HtmlEncode(allInterfaces[c].GetString(CodeAnalysisKeys.DisplayName))}\"]");
106106
if(!allInterfaces[c].Destination.IsNull)
107107
{
108108
hierarchy.AppendLine($"\tclick Interface{c} \"{(Context.GetLink(allInterfaces[c].Destination))}\"");
109-
}
109+
}
110110
}
111111
}
112-
hierarchy.AppendLine($"\tType[\"{System.Net.WebUtility.HtmlEncode(Model.GetString(CodeAnalysisKeys.DisplayName))}\"]");
113-
hierarchy.AppendLine("class Type type-node");
112+
hierarchy.AppendLine($"\tType[\"{System.Net.WebUtility.HtmlEncode(Model.GetString(CodeAnalysisKeys.DisplayName))}\"]");
113+
hierarchy.AppendLine("class Type type-node");
114114
if(derivedTypes != null && derivedTypes.Count > 0)
115115
{
116116
for(int c = 0 ; c < derivedTypes.Count ; c++)
117117
{
118-
hierarchy.AppendLine($"\tDerived{c}[\"{System.Net.WebUtility.HtmlEncode(derivedTypes[c].GetString(CodeAnalysisKeys.DisplayName))}\"]-->Type");
118+
hierarchy.AppendLine($"\tDerived{c}[\"{System.Net.WebUtility.HtmlEncode(derivedTypes[c].GetString(CodeAnalysisKeys.DisplayName))}\"]-->Type");
119119
if(!derivedTypes[c].Destination.IsNull)
120120
{
121121
hierarchy.AppendLine($"\tclick Derived{c} \"{(Context.GetLink(derivedTypes[c].Destination))}\"");
122-
}
123-
}
124-
}
122+
}
123+
}
124+
}
125125
if(implementingTypes != null && implementingTypes.Count > 0)
126126
{
127127
for(int c = 0 ; c < implementingTypes.Count ; c++)
128128
{
129-
hierarchy.AppendLine($"\tImplementing{c}[\"{System.Net.WebUtility.HtmlEncode(implementingTypes[c].GetString(CodeAnalysisKeys.DisplayName))}\"]-.->Type");
129+
hierarchy.AppendLine($"\tImplementing{c}[\"{System.Net.WebUtility.HtmlEncode(implementingTypes[c].GetString(CodeAnalysisKeys.DisplayName))}\"]-.->Type");
130130
if(!implementingTypes[c].Destination.IsNull)
131131
{
132132
hierarchy.AppendLine($"\tclick Implementing{c} \"{(Context.GetLink(implementingTypes[c].Destination))}\"");
133-
}
133+
}
134134
}
135135
}
136136
}
@@ -156,4 +156,4 @@
156156
@Html.Partial("Section\\_Methods")
157157
@Html.Partial("Section\\_Operators")
158158
@Html.Partial("Section\\_ExtensionMethods")
159-
@Html.Partial("Section\\_SeeAlso")
159+
@Html.Partial("Section\\_SeeAlso")

docs/theme/input/Shared/Kind/_Namespace.cshtml

+6-5
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,20 @@
11
@Html.Partial("Section\\_Summary")
2-
@{
3-
foreach(IGrouping<string, IDocument> typeGroup
2+
@{
3+
foreach(IGrouping<string, IDocument> typeGroup
44
in Model.GetList<IDocument>("MemberTypes")
55
.Where(x => x.GetBool("IsResult") && x["Kind"].Equals("NamedType"))
6-
.GroupBy(x => x.GetString("SpecificKind")))
6+
.GroupBy(x => x.GetString("SpecificKind"))
7+
.OrderBy(x => x.Key))
78
{
89
@Html.Partial("Section\\_DocsTable", new DocsTable
910
{
1011
Docs = typeGroup.OrderBy(x => x["DisplayName"]).ToList(),
1112
Title = typeGroup.Key + " Types",
1213
Header = typeGroup.Key,
1314
HasSummary = true
14-
});
15+
});
1516
}
16-
17+
1718
@Html.Partial("Section\\_DocsTable", new DocsTable
1819
{
1920
Docs = Model.GetList<IDocument>("MemberNamespaces")

docs/theme/input/Shared/Sidebar/_Member.cshtml

+10-9
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,15 @@
1212
<li class="header">Namespace</li>
1313
<li>@Context.GetTypeLink(containingNamespace, false)</li>
1414
}
15-
15+
1616
IDocument containingType = Model.Get<IDocument>("ContainingType");
1717
if(containingType != null)
1818
{
1919
<li class="header">Type</li>
2020
<li>@Context.GetTypeLink(containingType, false)</li>
21-
21+
2222
<li role="separator" class="divider"></li>
23-
23+
2424
IReadOnlyList<IDocument> constructors = containingType
2525
.GetList<IDocument>("Constructors")
2626
.Where(x => x.GetBool("IsResult"))
@@ -33,20 +33,21 @@
3333
string selectedClass = constructor.GetString("SymbolId") == Model.GetString("SymbolId") ? "selected" : null;
3434
<li class="@selectedClass">@Context.GetTypeLink(constructor, false)</li>
3535
}
36-
}
37-
38-
foreach(IGrouping<string, IDocument> memberGroup
36+
}
37+
38+
foreach(IGrouping<string, IDocument> memberGroup
3939
in containingType.GetList<IDocument>("Members")
4040
.Where(x => x.GetBool("IsResult"))
41-
.GroupBy(x => x.GetString("Kind")))
41+
.GroupBy(x => x.GetString("Kind"))
42+
.OrderBy(x => x.Key))
4243
{
4344
<li class="header">@memberGroup.Key Members</li>
4445
foreach(IDocument member in memberGroup
4546
.OrderBy(x => x.GetString("Name")))
4647
{
4748
string selectedClass = member.GetString("SymbolId") == Model.GetString("SymbolId") ? "selected" : null;
4849
<li class="@selectedClass">@Context.GetTypeLink(member, false)</li>
49-
}
50+
}
5051
}
5152
}
52-
}
53+
}
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
@{
1+
@{
22
IDocument containingAssembly = Model.Get<IDocument>("ContainingAssembly");
33
if(containingAssembly != null)
44
{
@@ -11,21 +11,22 @@
1111
{
1212
<li class="header">Namespace</li>
1313
<li>@Context.GetTypeLink(containingNamespace, false)</li>
14-
14+
1515
<li role="separator" class="divider"></li>
16-
17-
foreach(IGrouping<string, IDocument> typeGroup
16+
17+
foreach(IGrouping<string, IDocument> typeGroup
1818
in containingNamespace.GetList<IDocument>("MemberTypes")
1919
.Where(x => x.GetBool("IsResult") && x["Kind"].Equals("NamedType"))
20-
.GroupBy(x => x.GetString("SpecificKind")))
20+
.GroupBy(x => x.GetString("SpecificKind"))
21+
.OrderBy(x => x.Key))
2122
{
2223
<li class="header">@typeGroup.Key Types</li>
2324
foreach(IDocument type in typeGroup
2425
.OrderBy(x => x.GetString("Name")))
2526
{
2627
string selectedClass = type.GetString("SymbolId") == Model.GetString("SymbolId") ? "selected" : null;
2728
<li class="@selectedClass">@Context.GetTypeLink(type, false)</li>
28-
}
29+
}
2930
}
3031
}
31-
}
32+
}

0 commit comments

Comments
 (0)