From 608e3b316b36b3f315453b5fb62f34caac110b44 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Tue, 11 Jul 2023 02:25:34 -0400 Subject: [PATCH 1/4] DotNetCliCommand.cs: Fail the build if no-dependencies retry build fails Issue: https://github.com/dotnet/BenchmarkDotNet/issues/2311 --- src/BenchmarkDotNet/Toolchains/DotNetCli/DotNetCliCommand.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/BenchmarkDotNet/Toolchains/DotNetCli/DotNetCliCommand.cs b/src/BenchmarkDotNet/Toolchains/DotNetCli/DotNetCliCommand.cs index 77401f022e..31546d3112 100644 --- a/src/BenchmarkDotNet/Toolchains/DotNetCli/DotNetCliCommand.cs +++ b/src/BenchmarkDotNet/Toolchains/DotNetCli/DotNetCliCommand.cs @@ -90,6 +90,9 @@ public BuildResult RestoreThenBuild() buildResult = BuildNoRestoreNoDependencies(); } + if (!buildResult.IsSuccess) + return BuildResult.Failure(GenerateResult, buildResult.AllInformation); + return buildResult.ToBuildResult(GenerateResult); } From b1405b5fe8d6f87ebc1ea4e065e211e2ad6f879b Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Tue, 11 Jul 2023 20:50:36 -0400 Subject: [PATCH 2/4] MonoAOTLLVMCsProj.txt: Add auto-imports for extension props/targets Automatically import any `$projectName.Mono.props`, and `$projectName.Mono.targets` files, if found. - This allows the actual project to control settings for the generated project, eg, for modifying the build to add a property like `SelfContained=true`. Wasm projects have the same extension mechanism in `src/BenchmarkDotNet/Templates/WasmCsProj.txt` . --- src/BenchmarkDotNet/Templates/MonoAOTLLVMCsProj.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/BenchmarkDotNet/Templates/MonoAOTLLVMCsProj.txt b/src/BenchmarkDotNet/Templates/MonoAOTLLVMCsProj.txt index a0ad858c54..3f28937a3f 100644 --- a/src/BenchmarkDotNet/Templates/MonoAOTLLVMCsProj.txt +++ b/src/BenchmarkDotNet/Templates/MonoAOTLLVMCsProj.txt @@ -1,5 +1,8 @@  + $CSPROJPATH$ + $([System.IO.Path]::ChangeExtension('$(OriginalCSProjPath)', '.Mono.props')) + $([System.IO.Path]::ChangeExtension('$(OriginalCSProjPath)', '.Mono.targets')) Exe bin $TFM$ @@ -13,6 +16,8 @@ BenchmarkDotNet.Autogenerated.UniqueProgramName + + @@ -75,4 +80,5 @@ + From 45ffe941efa0d134a5259d7c58b2ebb854dc5c24 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Wed, 12 Jul 2023 08:01:17 -0400 Subject: [PATCH 3/4] MonoAOTLLVMCsProj.txt: Imports the props file early enough to allow .. setting properties early. --- src/BenchmarkDotNet/Templates/MonoAOTLLVMCsProj.txt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/BenchmarkDotNet/Templates/MonoAOTLLVMCsProj.txt b/src/BenchmarkDotNet/Templates/MonoAOTLLVMCsProj.txt index 3f28937a3f..7c658970bd 100644 --- a/src/BenchmarkDotNet/Templates/MonoAOTLLVMCsProj.txt +++ b/src/BenchmarkDotNet/Templates/MonoAOTLLVMCsProj.txt @@ -3,6 +3,11 @@ $CSPROJPATH$ $([System.IO.Path]::ChangeExtension('$(OriginalCSProjPath)', '.Mono.props')) $([System.IO.Path]::ChangeExtension('$(OriginalCSProjPath)', '.Mono.targets')) + + + + + Exe bin $TFM$ @@ -16,8 +21,6 @@ BenchmarkDotNet.Autogenerated.UniqueProgramName - - From 0c003d78a86a90f0168abfc170605fdaece9be74 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Wed, 12 Jul 2023 08:02:11 -0400 Subject: [PATCH 4/4] MonoAOTLLVMCsProj.txt: Add SelfContained=true --- src/BenchmarkDotNet/Templates/MonoAOTLLVMCsProj.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/src/BenchmarkDotNet/Templates/MonoAOTLLVMCsProj.txt b/src/BenchmarkDotNet/Templates/MonoAOTLLVMCsProj.txt index 7c658970bd..1db40072d1 100644 --- a/src/BenchmarkDotNet/Templates/MonoAOTLLVMCsProj.txt +++ b/src/BenchmarkDotNet/Templates/MonoAOTLLVMCsProj.txt @@ -19,6 +19,7 @@ false true BenchmarkDotNet.Autogenerated.UniqueProgramName + true