Skip to content

Commit d6b4d6e

Browse files
authored
Enable C# deterministic builds (#4783)
1 parent c6a143f commit d6b4d6e

File tree

9 files changed

+368
-0
lines changed

9 files changed

+368
-0
lines changed

csharp/src/Directory.Build.props

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,17 @@
1010
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
1111
<!-- Include PDB in the built .nupkg -->
1212
<AllowedOutputExtensionsInPackageBuildOutputFolder>$(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb</AllowedOutputExtensionsInPackageBuildOutputFolder>
13+
<!-- Enable package lock file to ensure consistent package versions across builds -->
14+
<RestorePackagesWithLockFile>true</RestorePackagesWithLockFile>
15+
<RestoreLockedMode>true</RestoreLockedMode>
1316
<!-- TODO: move to common.props and fix analyzer warnings in tests -->
1417
<AnalysisMode>All</AnalysisMode>
1518
<GenerateDocumentationFile>true</GenerateDocumentationFile>
1619
</PropertyGroup>
20+
21+
<PropertyGroup Condition="'$(CI)' == 'true'">
22+
<ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
23+
</PropertyGroup>
1724
<Import Project="$(MSBuildThisFileDirectory)..\tools\ZeroC.Ice.Slice.Tools\ZeroC.Ice.Slice.Tools.props"/>
1825
<ItemGroup>
1926
<AdditionalFiles Include="$(MSBuildThisFileDirectory)../msbuild/StyleCop.json" Link="stylecop.json" />
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
{
2+
"version": 1,
3+
"dependencies": {
4+
"net8.0": {
5+
"Microsoft.SourceLink.GitHub": {
6+
"type": "Direct",
7+
"requested": "[1.1.1, )",
8+
"resolved": "1.1.1",
9+
"contentHash": "IaJGnOv/M7UQjRJks7B6p7pbPnOwisYGOIzqCz5ilGFTApZ3ktOR+6zJ12ZRPInulBmdAf1SrGdDG2MU8g6XTw==",
10+
"dependencies": {
11+
"Microsoft.Build.Tasks.Git": "1.1.1",
12+
"Microsoft.SourceLink.Common": "1.1.1"
13+
}
14+
},
15+
"StyleCop.Analyzers": {
16+
"type": "Direct",
17+
"requested": "[1.2.0-beta.556, )",
18+
"resolved": "1.2.0-beta.556",
19+
"contentHash": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==",
20+
"dependencies": {
21+
"StyleCop.Analyzers.Unstable": "1.2.0.556"
22+
}
23+
},
24+
"Microsoft.Build.Tasks.Git": {
25+
"type": "Transitive",
26+
"resolved": "1.1.1",
27+
"contentHash": "AT3HlgTjsqHnWpBHSNeR0KxbLZD7bztlZVj7I8vgeYG9SYqbeFGh0TM/KVtC6fg53nrWHl3VfZFvb5BiQFcY6Q=="
28+
},
29+
"Microsoft.SourceLink.Common": {
30+
"type": "Transitive",
31+
"resolved": "1.1.1",
32+
"contentHash": "WMcGpWKrmJmzrNeuaEb23bEMnbtR/vLmvZtkAP5qWu7vQsY59GqfRJd65sFpBszbd2k/bQ8cs8eWawQKAabkVg=="
33+
},
34+
"StyleCop.Analyzers.Unstable": {
35+
"type": "Transitive",
36+
"resolved": "1.2.0.556",
37+
"contentHash": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ=="
38+
},
39+
"ZeroC.Ice": {
40+
"type": "Project"
41+
}
42+
}
43+
}
44+
}

csharp/src/Ice/packages.lock.json

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
{
2+
"version": 1,
3+
"dependencies": {
4+
"net8.0": {
5+
"Microsoft.SourceLink.GitHub": {
6+
"type": "Direct",
7+
"requested": "[1.1.1, )",
8+
"resolved": "1.1.1",
9+
"contentHash": "IaJGnOv/M7UQjRJks7B6p7pbPnOwisYGOIzqCz5ilGFTApZ3ktOR+6zJ12ZRPInulBmdAf1SrGdDG2MU8g6XTw==",
10+
"dependencies": {
11+
"Microsoft.Build.Tasks.Git": "1.1.1",
12+
"Microsoft.SourceLink.Common": "1.1.1"
13+
}
14+
},
15+
"StyleCop.Analyzers": {
16+
"type": "Direct",
17+
"requested": "[1.2.0-beta.556, )",
18+
"resolved": "1.2.0-beta.556",
19+
"contentHash": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==",
20+
"dependencies": {
21+
"StyleCop.Analyzers.Unstable": "1.2.0.556"
22+
}
23+
},
24+
"Microsoft.Build.Tasks.Git": {
25+
"type": "Transitive",
26+
"resolved": "1.1.1",
27+
"contentHash": "AT3HlgTjsqHnWpBHSNeR0KxbLZD7bztlZVj7I8vgeYG9SYqbeFGh0TM/KVtC6fg53nrWHl3VfZFvb5BiQFcY6Q=="
28+
},
29+
"Microsoft.SourceLink.Common": {
30+
"type": "Transitive",
31+
"resolved": "1.1.1",
32+
"contentHash": "WMcGpWKrmJmzrNeuaEb23bEMnbtR/vLmvZtkAP5qWu7vQsY59GqfRJd65sFpBszbd2k/bQ8cs8eWawQKAabkVg=="
33+
},
34+
"StyleCop.Analyzers.Unstable": {
35+
"type": "Transitive",
36+
"resolved": "1.2.0.556",
37+
"contentHash": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ=="
38+
}
39+
}
40+
}
41+
}
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
{
2+
"version": 1,
3+
"dependencies": {
4+
"net8.0": {
5+
"Microsoft.SourceLink.GitHub": {
6+
"type": "Direct",
7+
"requested": "[1.1.1, )",
8+
"resolved": "1.1.1",
9+
"contentHash": "IaJGnOv/M7UQjRJks7B6p7pbPnOwisYGOIzqCz5ilGFTApZ3ktOR+6zJ12ZRPInulBmdAf1SrGdDG2MU8g6XTw==",
10+
"dependencies": {
11+
"Microsoft.Build.Tasks.Git": "1.1.1",
12+
"Microsoft.SourceLink.Common": "1.1.1"
13+
}
14+
},
15+
"StyleCop.Analyzers": {
16+
"type": "Direct",
17+
"requested": "[1.2.0-beta.556, )",
18+
"resolved": "1.2.0-beta.556",
19+
"contentHash": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==",
20+
"dependencies": {
21+
"StyleCop.Analyzers.Unstable": "1.2.0.556"
22+
}
23+
},
24+
"Microsoft.Build.Tasks.Git": {
25+
"type": "Transitive",
26+
"resolved": "1.1.1",
27+
"contentHash": "AT3HlgTjsqHnWpBHSNeR0KxbLZD7bztlZVj7I8vgeYG9SYqbeFGh0TM/KVtC6fg53nrWHl3VfZFvb5BiQFcY6Q=="
28+
},
29+
"Microsoft.SourceLink.Common": {
30+
"type": "Transitive",
31+
"resolved": "1.1.1",
32+
"contentHash": "WMcGpWKrmJmzrNeuaEb23bEMnbtR/vLmvZtkAP5qWu7vQsY59GqfRJd65sFpBszbd2k/bQ8cs8eWawQKAabkVg=="
33+
},
34+
"StyleCop.Analyzers.Unstable": {
35+
"type": "Transitive",
36+
"resolved": "1.2.0.556",
37+
"contentHash": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ=="
38+
},
39+
"ZeroC.Ice": {
40+
"type": "Project"
41+
}
42+
}
43+
}
44+
}
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
{
2+
"version": 1,
3+
"dependencies": {
4+
"net8.0": {
5+
"Microsoft.SourceLink.GitHub": {
6+
"type": "Direct",
7+
"requested": "[1.1.1, )",
8+
"resolved": "1.1.1",
9+
"contentHash": "IaJGnOv/M7UQjRJks7B6p7pbPnOwisYGOIzqCz5ilGFTApZ3ktOR+6zJ12ZRPInulBmdAf1SrGdDG2MU8g6XTw==",
10+
"dependencies": {
11+
"Microsoft.Build.Tasks.Git": "1.1.1",
12+
"Microsoft.SourceLink.Common": "1.1.1"
13+
}
14+
},
15+
"StyleCop.Analyzers": {
16+
"type": "Direct",
17+
"requested": "[1.2.0-beta.556, )",
18+
"resolved": "1.2.0-beta.556",
19+
"contentHash": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==",
20+
"dependencies": {
21+
"StyleCop.Analyzers.Unstable": "1.2.0.556"
22+
}
23+
},
24+
"Microsoft.Build.Tasks.Git": {
25+
"type": "Transitive",
26+
"resolved": "1.1.1",
27+
"contentHash": "AT3HlgTjsqHnWpBHSNeR0KxbLZD7bztlZVj7I8vgeYG9SYqbeFGh0TM/KVtC6fg53nrWHl3VfZFvb5BiQFcY6Q=="
28+
},
29+
"Microsoft.SourceLink.Common": {
30+
"type": "Transitive",
31+
"resolved": "1.1.1",
32+
"contentHash": "WMcGpWKrmJmzrNeuaEb23bEMnbtR/vLmvZtkAP5qWu7vQsY59GqfRJd65sFpBszbd2k/bQ8cs8eWawQKAabkVg=="
33+
},
34+
"StyleCop.Analyzers.Unstable": {
35+
"type": "Transitive",
36+
"resolved": "1.2.0.556",
37+
"contentHash": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ=="
38+
},
39+
"ZeroC.Ice": {
40+
"type": "Project"
41+
}
42+
}
43+
}
44+
}
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
{
2+
"version": 1,
3+
"dependencies": {
4+
"net8.0": {
5+
"Microsoft.SourceLink.GitHub": {
6+
"type": "Direct",
7+
"requested": "[1.1.1, )",
8+
"resolved": "1.1.1",
9+
"contentHash": "IaJGnOv/M7UQjRJks7B6p7pbPnOwisYGOIzqCz5ilGFTApZ3ktOR+6zJ12ZRPInulBmdAf1SrGdDG2MU8g6XTw==",
10+
"dependencies": {
11+
"Microsoft.Build.Tasks.Git": "1.1.1",
12+
"Microsoft.SourceLink.Common": "1.1.1"
13+
}
14+
},
15+
"StyleCop.Analyzers": {
16+
"type": "Direct",
17+
"requested": "[1.2.0-beta.556, )",
18+
"resolved": "1.2.0-beta.556",
19+
"contentHash": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==",
20+
"dependencies": {
21+
"StyleCop.Analyzers.Unstable": "1.2.0.556"
22+
}
23+
},
24+
"Microsoft.Build.Tasks.Git": {
25+
"type": "Transitive",
26+
"resolved": "1.1.1",
27+
"contentHash": "AT3HlgTjsqHnWpBHSNeR0KxbLZD7bztlZVj7I8vgeYG9SYqbeFGh0TM/KVtC6fg53nrWHl3VfZFvb5BiQFcY6Q=="
28+
},
29+
"Microsoft.SourceLink.Common": {
30+
"type": "Transitive",
31+
"resolved": "1.1.1",
32+
"contentHash": "WMcGpWKrmJmzrNeuaEb23bEMnbtR/vLmvZtkAP5qWu7vQsY59GqfRJd65sFpBszbd2k/bQ8cs8eWawQKAabkVg=="
33+
},
34+
"StyleCop.Analyzers.Unstable": {
35+
"type": "Transitive",
36+
"resolved": "1.2.0.556",
37+
"contentHash": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ=="
38+
},
39+
"ZeroC.Glacier2": {
40+
"type": "Project",
41+
"dependencies": {
42+
"ZeroC.Ice": "[3.8.0-alpha0, )"
43+
}
44+
},
45+
"ZeroC.Ice": {
46+
"type": "Project"
47+
}
48+
}
49+
}
50+
}
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
{
2+
"version": 1,
3+
"dependencies": {
4+
"net8.0": {
5+
"Microsoft.SourceLink.GitHub": {
6+
"type": "Direct",
7+
"requested": "[1.1.1, )",
8+
"resolved": "1.1.1",
9+
"contentHash": "IaJGnOv/M7UQjRJks7B6p7pbPnOwisYGOIzqCz5ilGFTApZ3ktOR+6zJ12ZRPInulBmdAf1SrGdDG2MU8g6XTw==",
10+
"dependencies": {
11+
"Microsoft.Build.Tasks.Git": "1.1.1",
12+
"Microsoft.SourceLink.Common": "1.1.1"
13+
}
14+
},
15+
"StyleCop.Analyzers": {
16+
"type": "Direct",
17+
"requested": "[1.2.0-beta.556, )",
18+
"resolved": "1.2.0-beta.556",
19+
"contentHash": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==",
20+
"dependencies": {
21+
"StyleCop.Analyzers.Unstable": "1.2.0.556"
22+
}
23+
},
24+
"Microsoft.Build.Tasks.Git": {
25+
"type": "Transitive",
26+
"resolved": "1.1.1",
27+
"contentHash": "AT3HlgTjsqHnWpBHSNeR0KxbLZD7bztlZVj7I8vgeYG9SYqbeFGh0TM/KVtC6fg53nrWHl3VfZFvb5BiQFcY6Q=="
28+
},
29+
"Microsoft.SourceLink.Common": {
30+
"type": "Transitive",
31+
"resolved": "1.1.1",
32+
"contentHash": "WMcGpWKrmJmzrNeuaEb23bEMnbtR/vLmvZtkAP5qWu7vQsY59GqfRJd65sFpBszbd2k/bQ8cs8eWawQKAabkVg=="
33+
},
34+
"StyleCop.Analyzers.Unstable": {
35+
"type": "Transitive",
36+
"resolved": "1.2.0.556",
37+
"contentHash": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ=="
38+
},
39+
"ZeroC.Ice": {
40+
"type": "Project"
41+
}
42+
}
43+
}
44+
}
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
{
2+
"version": 1,
3+
"dependencies": {
4+
"net8.0": {
5+
"Microsoft.SourceLink.GitHub": {
6+
"type": "Direct",
7+
"requested": "[1.1.1, )",
8+
"resolved": "1.1.1",
9+
"contentHash": "IaJGnOv/M7UQjRJks7B6p7pbPnOwisYGOIzqCz5ilGFTApZ3ktOR+6zJ12ZRPInulBmdAf1SrGdDG2MU8g6XTw==",
10+
"dependencies": {
11+
"Microsoft.Build.Tasks.Git": "1.1.1",
12+
"Microsoft.SourceLink.Common": "1.1.1"
13+
}
14+
},
15+
"StyleCop.Analyzers": {
16+
"type": "Direct",
17+
"requested": "[1.2.0-beta.556, )",
18+
"resolved": "1.2.0-beta.556",
19+
"contentHash": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==",
20+
"dependencies": {
21+
"StyleCop.Analyzers.Unstable": "1.2.0.556"
22+
}
23+
},
24+
"Microsoft.Build.Tasks.Git": {
25+
"type": "Transitive",
26+
"resolved": "1.1.1",
27+
"contentHash": "AT3HlgTjsqHnWpBHSNeR0KxbLZD7bztlZVj7I8vgeYG9SYqbeFGh0TM/KVtC6fg53nrWHl3VfZFvb5BiQFcY6Q=="
28+
},
29+
"Microsoft.SourceLink.Common": {
30+
"type": "Transitive",
31+
"resolved": "1.1.1",
32+
"contentHash": "WMcGpWKrmJmzrNeuaEb23bEMnbtR/vLmvZtkAP5qWu7vQsY59GqfRJd65sFpBszbd2k/bQ8cs8eWawQKAabkVg=="
33+
},
34+
"StyleCop.Analyzers.Unstable": {
35+
"type": "Transitive",
36+
"resolved": "1.2.0.556",
37+
"contentHash": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ=="
38+
},
39+
"ZeroC.Ice": {
40+
"type": "Project"
41+
}
42+
}
43+
}
44+
}
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
{
2+
"version": 1,
3+
"dependencies": {
4+
"net8.0": {
5+
"Microsoft.SourceLink.GitHub": {
6+
"type": "Direct",
7+
"requested": "[1.1.1, )",
8+
"resolved": "1.1.1",
9+
"contentHash": "IaJGnOv/M7UQjRJks7B6p7pbPnOwisYGOIzqCz5ilGFTApZ3ktOR+6zJ12ZRPInulBmdAf1SrGdDG2MU8g6XTw==",
10+
"dependencies": {
11+
"Microsoft.Build.Tasks.Git": "1.1.1",
12+
"Microsoft.SourceLink.Common": "1.1.1"
13+
}
14+
},
15+
"StyleCop.Analyzers": {
16+
"type": "Direct",
17+
"requested": "[1.2.0-beta.556, )",
18+
"resolved": "1.2.0-beta.556",
19+
"contentHash": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==",
20+
"dependencies": {
21+
"StyleCop.Analyzers.Unstable": "1.2.0.556"
22+
}
23+
},
24+
"Microsoft.Build.Tasks.Git": {
25+
"type": "Transitive",
26+
"resolved": "1.1.1",
27+
"contentHash": "AT3HlgTjsqHnWpBHSNeR0KxbLZD7bztlZVj7I8vgeYG9SYqbeFGh0TM/KVtC6fg53nrWHl3VfZFvb5BiQFcY6Q=="
28+
},
29+
"Microsoft.SourceLink.Common": {
30+
"type": "Transitive",
31+
"resolved": "1.1.1",
32+
"contentHash": "WMcGpWKrmJmzrNeuaEb23bEMnbtR/vLmvZtkAP5qWu7vQsY59GqfRJd65sFpBszbd2k/bQ8cs8eWawQKAabkVg=="
33+
},
34+
"StyleCop.Analyzers.Unstable": {
35+
"type": "Transitive",
36+
"resolved": "1.2.0.556",
37+
"contentHash": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ=="
38+
},
39+
"ZeroC.Ice": {
40+
"type": "Project"
41+
},
42+
"ZeroC.IceBox": {
43+
"type": "Project",
44+
"dependencies": {
45+
"ZeroC.Ice": "[3.8.0-alpha0, )"
46+
}
47+
}
48+
}
49+
}
50+
}

0 commit comments

Comments
 (0)