From eab73df76a8528f78ef870bca327c8755e724901 Mon Sep 17 00:00:00 2001 From: KevinRansom Date: Mon, 11 Mar 2024 23:49:59 -0700 Subject: [PATCH 01/21] Sourcebuild perf --- Build.cmd | 2 +- Directory.Build.props | 13 ---- Microsoft.FSharp.Compiler.sln | 14 ++--- Sourcebuild.sln | 13 ++++ build.sh | 2 +- eng/Build.ps1 | 2 +- eng/build.sh | 12 ++-- src/Compiler/FSharp.Compiler.Service.fsproj | 11 +++- src/FSharp.Build/FSharp.Build.fsproj | 8 ++- src/FSharp.Build/Fsc.fs | 12 ++++ src/FSharp.Build/Microsoft.FSharp.Targets | 1 + ...Sharp.Compiler.Interactive.Settings.fsproj | 7 ++- src/FSharp.Core/FSharp.Core.fsproj | 6 +- .../FSharp.DependencyManager.Nuget.fsproj | 6 +- .../Microsoft.FSharp.Compiler.fsproj | 11 ++-- .../Microsoft.FSharp.Compiler.nuspec | 59 +++++++++---------- src/fsc/fsc.targets | 9 +-- src/fsi/fsi.targets | 9 +-- tests/Directory.Build.props | 9 ++- vsintegration/Templates.Directory.Build.props | 7 +++ 20 files changed, 130 insertions(+), 83 deletions(-) create mode 100644 Sourcebuild.sln diff --git a/Build.cmd b/Build.cmd index e8af08f3935..f073a01168c 100644 --- a/Build.cmd +++ b/Build.cmd @@ -1,2 +1,2 @@ @echo off -powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0eng\build.ps1""" -build -restore %*" \ No newline at end of file +powershell -ExecutionPolicy ByPass -NoProfile -command "Measure-Command { & """%~dp0eng\build.ps1""" -build -restore %* } | Select-Object TotalMinutes, TotalSeconds " diff --git a/Directory.Build.props b/Directory.Build.props index e8e24051b1d..03f7b55f969 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -21,19 +21,6 @@ true - - - - $(OtherFlags) --realsig- - $(OtherFlags) --realsig+ - - diff --git a/Microsoft.FSharp.Compiler.sln b/Microsoft.FSharp.Compiler.sln index 7de4ee9f519..75b07e3170b 100644 --- a/Microsoft.FSharp.Compiler.sln +++ b/Microsoft.FSharp.Compiler.sln @@ -1,9 +1,9 @@  Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 -VisualStudioVersion = 17.1.32113.165 +VisualStudioVersion = 17.10.34710.37 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.FSharp.Compiler", "src\Microsoft.FSharp.Compiler\Microsoft.FSharp.Compiler.fsproj", "{BBEDE3FA-6E2C-4C53-8B61-FBB545CD4FFC}" +Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "Microsoft.FSharp.Compiler", "src\Microsoft.FSharp.Compiler\Microsoft.FSharp.Compiler.fsproj", "{196088D5-ED51-4A42-9B80-F0014D1ED28C}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -11,15 +11,15 @@ Global Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {BBEDE3FA-6E2C-4C53-8B61-FBB545CD4FFC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {BBEDE3FA-6E2C-4C53-8B61-FBB545CD4FFC}.Debug|Any CPU.Build.0 = Debug|Any CPU - {BBEDE3FA-6E2C-4C53-8B61-FBB545CD4FFC}.Release|Any CPU.ActiveCfg = Release|Any CPU - {BBEDE3FA-6E2C-4C53-8B61-FBB545CD4FFC}.Release|Any CPU.Build.0 = Release|Any CPU + {196088D5-ED51-4A42-9B80-F0014D1ED28C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {196088D5-ED51-4A42-9B80-F0014D1ED28C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {196088D5-ED51-4A42-9B80-F0014D1ED28C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {196088D5-ED51-4A42-9B80-F0014D1ED28C}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {6FF31C5A-ED51-45C2-A405-5534CB7D283C} + SolutionGuid = {CBCFE753-E7C1-4FFB-9F8F-26B50E5910E4} EndGlobalSection EndGlobal diff --git a/Sourcebuild.sln b/Sourcebuild.sln new file mode 100644 index 00000000000..c2d10867213 --- /dev/null +++ b/Sourcebuild.sln @@ -0,0 +1,13 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.9.34622.214 +MinimumVisualStudioVersion = 10.0.40219.1 +Global + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {84F2F985-D24F-4F1A-B140-E9EB0547935C} + EndGlobalSection +EndGlobal diff --git a/build.sh b/build.sh index 6c74895c02c..ed7dcb1de39 100755 --- a/build.sh +++ b/build.sh @@ -13,4 +13,4 @@ while [[ -h $source ]]; do done scriptroot="$( cd -P "$( dirname "$source" )" && pwd )" -"$scriptroot/eng/build.sh" --build --restore $@ +time "$scriptroot/eng/build.sh" --build --restore $@ diff --git a/eng/Build.ps1 b/eng/Build.ps1 index bb449e05665..88823d28a54 100644 --- a/eng/Build.ps1 +++ b/eng/Build.ps1 @@ -552,7 +552,7 @@ try { } $script:BuildMessage = "Failure building product" - if ($restore -or $build -or $rebuild -or $pack -or $sign -or $publish -and -not $skipBuild) { + if ($restore -or $build -or $rebuild -or $pack -or $sign -or $publish -and -not $skipBuild -and -not $sourceBuild) { if ($noVisualStudio) { BuildSolution "FSharp.sln" $False } diff --git a/eng/build.sh b/eng/build.sh index f8db4462ff7..ad68240f098 100755 --- a/eng/build.sh +++ b/eng/build.sh @@ -227,8 +227,6 @@ function BuildSolution { BUILDING_USING_DOTNET=false BuildCategory="Build" BuildMessage="Error preparing build" - local solution="FSharp.sln" - echo "$solution:" InitializeToolset local toolset_build_proj=$_InitializeToolset @@ -238,7 +236,13 @@ function BuildSolution { bl="/bl:\"$log_dir/Build.binlog\"" fi - local projects="$repo_root/$solution" + local projects="$repo_root/FSharp.sln" + + if [["$source_build" = true ]]; then + projects="$repo_root/Sourcebuild.sln" + fi + + echo "$projects:" # https://github.com/dotnet/roslyn/issues/23736 local enable_analyzers=!$skip_analyzers @@ -295,7 +299,7 @@ function BuildSolution { fi fi - if [[ "$skip_build" != true ]]; then + if [[ "$skip_build" != true && "$source_build != true" ]]; then # do real build BuildMessage="Error building solution" MSBuild $toolset_build_proj \ diff --git a/src/Compiler/FSharp.Compiler.Service.fsproj b/src/Compiler/FSharp.Compiler.Service.fsproj index 770e7a1aee6..ec557322262 100644 --- a/src/Compiler/FSharp.Compiler.Service.fsproj +++ b/src/Compiler/FSharp.Compiler.Service.fsproj @@ -25,12 +25,19 @@ $(IntermediateOutputPath)$(TargetFramework)\ $(IntermediateOutputPath)$(TargetFramework)\ false - Debug;Release;ReleaseCompressed + Debug;Release - false + false + false + false + + + + $(OtherFlags) --realsig- + $(OtherFlags) --realsig+ diff --git a/src/FSharp.Build/FSharp.Build.fsproj b/src/FSharp.Build/FSharp.Build.fsproj index f8fbc7138ef..8b9c5987512 100644 --- a/src/FSharp.Build/FSharp.Build.fsproj +++ b/src/FSharp.Build/FSharp.Build.fsproj @@ -17,9 +17,11 @@ - - false - true + + true + false + true + $(OtherFlags) --realsig+ diff --git a/src/FSharp.Build/Fsc.fs b/src/FSharp.Build/Fsc.fs index 614a6b4f392..74e499ad86e 100644 --- a/src/FSharp.Build/Fsc.fs +++ b/src/FSharp.Build/Fsc.fs @@ -56,6 +56,7 @@ type public Fsc() as this = let mutable preferredUILang: string MaybeNull = null let mutable publicSign: bool = false let mutable provideCommandLineArgs: bool = false + let mutable realsig: bool = false let mutable references: ITaskItem[] = [||] let mutable referencePath: string MaybeNull = null let mutable refOnly: bool = false @@ -194,6 +195,12 @@ type public Fsc() as this = else builder.AppendSwitch("--optimize-") + // realsig + if realsig then + builder.AppendSwitch("--realsig+") + else + builder.AppendSwitch("--realsig-") + // Tailcalls if not tailcalls then builder.AppendSwitch("--tailcalls-") @@ -530,6 +537,11 @@ type public Fsc() as this = with get () = publicSign and set (s) = publicSign <- s + // --realsig[+-] + member _.RealSig + with get () = realsig + and set (b) = realsig <- b + // -r : Reference an F# or .NET assembly. member _.References with get () = references diff --git a/src/FSharp.Build/Microsoft.FSharp.Targets b/src/FSharp.Build/Microsoft.FSharp.Targets index 3e5e347d12f..3810f8fb7d3 100644 --- a/src/FSharp.Build/Microsoft.FSharp.Targets +++ b/src/FSharp.Build/Microsoft.FSharp.Targets @@ -365,6 +365,7 @@ this file. PreferredUILang="$(PreferredUILang)" ProvideCommandLineArgs="$(ProvideCommandLineArgs)" PublicSign="$(PublicSign)" + RealSig="$(RealSig)" References="@(ReferencePathWithRefAssemblies)" ReferencePath="$(ReferencePathWithRefAssemblies)" RefOnly="$(ProduceOnlyReferenceAssembly)" diff --git a/src/FSharp.Compiler.Interactive.Settings/FSharp.Compiler.Interactive.Settings.fsproj b/src/FSharp.Compiler.Interactive.Settings/FSharp.Compiler.Interactive.Settings.fsproj index 8c159c34f01..489f95afac3 100644 --- a/src/FSharp.Compiler.Interactive.Settings/FSharp.Compiler.Interactive.Settings.fsproj +++ b/src/FSharp.Compiler.Interactive.Settings/FSharp.Compiler.Interactive.Settings.fsproj @@ -11,8 +11,11 @@ - - false + + true + false + true + $(OtherFlags) --realsig+ diff --git a/src/FSharp.Core/FSharp.Core.fsproj b/src/FSharp.Core/FSharp.Core.fsproj index 0f9fe0fb624..f29b3ec78f9 100644 --- a/src/FSharp.Core/FSharp.Core.fsproj +++ b/src/FSharp.Core/FSharp.Core.fsproj @@ -37,12 +37,14 @@ true FSharp.Core redistributables from F# Tools version $(FSProductVersionPrefix) For F# $(FSLanguageVersion). Contains code from the F# Software Foundation. /blob/main/release-notes.md#FSharp-Core-$(FSCoreReleaseNotesVersion) - Debug;Release;Proto;ReleaseCompressed + Debug;Release;Proto - false + false + false + false diff --git a/src/FSharp.DependencyManager.Nuget/FSharp.DependencyManager.Nuget.fsproj b/src/FSharp.DependencyManager.Nuget/FSharp.DependencyManager.Nuget.fsproj index 3d15f45e103..60b25aa69f1 100644 --- a/src/FSharp.DependencyManager.Nuget/FSharp.DependencyManager.Nuget.fsproj +++ b/src/FSharp.DependencyManager.Nuget/FSharp.DependencyManager.Nuget.fsproj @@ -14,9 +14,11 @@ - + true - false + false + true + $(OtherFlags) --realsig+ diff --git a/src/Microsoft.FSharp.Compiler/Microsoft.FSharp.Compiler.fsproj b/src/Microsoft.FSharp.Compiler/Microsoft.FSharp.Compiler.fsproj index 7c186a76bb4..a33eeaa8d39 100644 --- a/src/Microsoft.FSharp.Compiler/Microsoft.FSharp.Compiler.fsproj +++ b/src/Microsoft.FSharp.Compiler/Microsoft.FSharp.Compiler.fsproj @@ -28,12 +28,8 @@ - - Configuration=ReleaseCompressed;CompressAllMetadata=true - - - Configuration=ReleaseCompressed;CompressAllMetadata=true - + + @@ -52,6 +48,9 @@ TargetFrameworks=netstandard2.0 + + TargetFrameworks=netstandard2.0 + diff --git a/src/Microsoft.FSharp.Compiler/Microsoft.FSharp.Compiler.nuspec b/src/Microsoft.FSharp.Compiler/Microsoft.FSharp.Compiler.nuspec index 24df391b69f..2c31f40e583 100644 --- a/src/Microsoft.FSharp.Compiler/Microsoft.FSharp.Compiler.nuspec +++ b/src/Microsoft.FSharp.Compiler/Microsoft.FSharp.Compiler.nuspec @@ -26,43 +26,42 @@ this approach gives a very small deployment. Which is kind of necessary. --> - - - - - - - + + + + + + - - - - - - - + + + + + + - - - - - - - - - - - + + + + + + + + + + + diff --git a/src/fsc/fsc.targets b/src/fsc/fsc.targets index 2973feb613e..c926c12524c 100644 --- a/src/fsc/fsc.targets +++ b/src/fsc/fsc.targets @@ -13,10 +13,11 @@ - - true - true - false + + true + true + true + $(OtherFlags) --realsig+ diff --git a/src/fsi/fsi.targets b/src/fsi/fsi.targets index 2f38a20ecc3..9baffb382c1 100644 --- a/src/fsi/fsi.targets +++ b/src/fsi/fsi.targets @@ -18,10 +18,11 @@ - - true - true - false + + true + true + true + $(OtherFlags) --realsig+ diff --git a/tests/Directory.Build.props b/tests/Directory.Build.props index 91c969b0ec6..82ac4239a6b 100644 --- a/tests/Directory.Build.props +++ b/tests/Directory.Build.props @@ -7,9 +7,16 @@ portable - + + + false + false + true + $(OtherFlags) --realsig+ + + diff --git a/vsintegration/Templates.Directory.Build.props b/vsintegration/Templates.Directory.Build.props index 3801f7748c8..ecf140ce4b6 100644 --- a/vsintegration/Templates.Directory.Build.props +++ b/vsintegration/Templates.Directory.Build.props @@ -31,4 +31,11 @@ false + + true + false + false + $(OtherFlags) --realsig+ + + From a824dedda6f5af97513130b5ff3457760db1896c Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Mon, 1 Apr 2024 10:50:08 -0700 Subject: [PATCH 02/21] proto --- Build.cmd | 2 +- Directory.Build.targets | 1 + Proto.sln | 34 ------------- Sourcebuild.sln | 13 ----- buildtools/AssemblyCheck/AssemblyCheck.fsproj | 2 +- buildtools/buildtools.proj | 35 ------------- eng/Build.ps1 | 2 +- eng/build-utils.ps1 | 26 ++-------- eng/build.sh | 50 ++++++------------- eng/test-determinism.cmd | 3 +- proto.proj | 32 ++++++++++++ src/Compiler/FSharp.Compiler.Service.fsproj | 4 +- src/FSharp.Build/FSharp.Build.fsproj | 8 +-- ...Sharp.Compiler.Interactive.Settings.fsproj | 2 +- src/FSharp.Core/FSharp.Core.fsproj | 3 +- .../FSharp.DependencyManager.Nuget.fsproj | 2 +- src/fsc/fsc.targets | 3 +- src/fsc/fscAnyCpuProject/fscAnyCpu.fsproj | 2 - src/fsc/fscArm64Project/fscArm64.fsproj | 2 - src/fsc/fscProject/fsc.fsproj | 9 ++-- src/fsi/fsi.targets | 3 +- src/fsi/fsiAnyCpuProject/fsiAnyCpu.fsproj | 2 - src/fsi/fsiArm64Project/fsiArm64.fsproj | 2 - src/fsi/fsiProject/fsi.fsproj | 9 ++-- tests/Directory.Build.props | 2 +- vsintegration/Templates.Directory.Build.props | 2 +- vsintegration/tests/UnitTests/Tests.Build.fs | 35 +++++++++++++ 27 files changed, 114 insertions(+), 176 deletions(-) delete mode 100644 Proto.sln delete mode 100644 Sourcebuild.sln delete mode 100644 buildtools/buildtools.proj create mode 100644 proto.proj diff --git a/Build.cmd b/Build.cmd index f073a01168c..10845940e24 100644 --- a/Build.cmd +++ b/Build.cmd @@ -1,2 +1,2 @@ @echo off -powershell -ExecutionPolicy ByPass -NoProfile -command "Measure-Command { & """%~dp0eng\build.ps1""" -build -restore %* } | Select-Object TotalMinutes, TotalSeconds " +powershell -ExecutionPolicy ByPass -NoProfile -command "Measure-Command { & """%~dp0eng\build.ps1""" -build -restore %* } | Select-Object TotalMinutes, TotalSeconds" diff --git a/Directory.Build.targets b/Directory.Build.targets index 079e0e68fd4..f1392eb3fe2 100644 --- a/Directory.Build.targets +++ b/Directory.Build.targets @@ -8,6 +8,7 @@ + diff --git a/Proto.sln b/Proto.sln deleted file mode 100644 index d48b1e3d1b6..00000000000 --- a/Proto.sln +++ /dev/null @@ -1,34 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.2.32630.192 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "FSharp.Build", "src\FSharp.Build\FSharp.Build.fsproj", "{C02D44B2-BB67-4A17-9678-9D21D93B3930}" -EndProject -Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "fsc", "src\fsc\fscProject\fsc.fsproj", "{5BEC9F77-5AE6-4EC3-BDE9-63CF8E1D0086}" -EndProject -Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "fsi", "src\fsi\fsiProject\fsi.fsproj", "{07CB51BF-8E98-4CFF-A7BA-99C4A0BC6037}" -EndProject -Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "FSharp.Core", "src\FSharp.Core\FSharp.Core.fsproj", "{8A772476-D857-4810-9A9C-E67AC61497AB}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Proto|Any CPU = Proto|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {C02D44B2-BB67-4A17-9678-9D21D93B3930}.Proto|Any CPU.ActiveCfg = Proto|Any CPU - {C02D44B2-BB67-4A17-9678-9D21D93B3930}.Proto|Any CPU.Build.0 = Proto|Any CPU - {5BEC9F77-5AE6-4EC3-BDE9-63CF8E1D0086}.Proto|Any CPU.ActiveCfg = Proto|Any CPU - {5BEC9F77-5AE6-4EC3-BDE9-63CF8E1D0086}.Proto|Any CPU.Build.0 = Proto|Any CPU - {07CB51BF-8E98-4CFF-A7BA-99C4A0BC6037}.Proto|Any CPU.ActiveCfg = Proto|Any CPU - {07CB51BF-8E98-4CFF-A7BA-99C4A0BC6037}.Proto|Any CPU.Build.0 = Proto|Any CPU - {8A772476-D857-4810-9A9C-E67AC61497AB}.Proto|Any CPU.ActiveCfg = Proto|Any CPU - {8A772476-D857-4810-9A9C-E67AC61497AB}.Proto|Any CPU.Build.0 = Proto|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {53F11F0A-D5FC-4410-B875-DC432F12B5AF} - EndGlobalSection -EndGlobal diff --git a/Sourcebuild.sln b/Sourcebuild.sln deleted file mode 100644 index c2d10867213..00000000000 --- a/Sourcebuild.sln +++ /dev/null @@ -1,13 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.9.34622.214 -MinimumVisualStudioVersion = 10.0.40219.1 -Global - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {84F2F985-D24F-4F1A-B140-E9EB0547935C} - EndGlobalSection -EndGlobal diff --git a/buildtools/AssemblyCheck/AssemblyCheck.fsproj b/buildtools/AssemblyCheck/AssemblyCheck.fsproj index 1f01406c734..a5e7cbf0707 100644 --- a/buildtools/AssemblyCheck/AssemblyCheck.fsproj +++ b/buildtools/AssemblyCheck/AssemblyCheck.fsproj @@ -10,7 +10,7 @@ - PreserveNewest + PreserveNewest diff --git a/buildtools/buildtools.proj b/buildtools/buildtools.proj deleted file mode 100644 index 5812bf8869b..00000000000 --- a/buildtools/buildtools.proj +++ /dev/null @@ -1,35 +0,0 @@ - - - - Debug - true - $(NoWarn);NU1504 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/eng/Build.ps1 b/eng/Build.ps1 index 88823d28a54..3b2ba51a770 100644 --- a/eng/Build.ps1 +++ b/eng/Build.ps1 @@ -35,7 +35,7 @@ param ( # Options [switch][Alias('proto')]$bootstrap, [string]$bootstrapConfiguration = "Proto", - [string]$bootstrapTfm = "net472", + [string]$bootstrapTfm = "net8.0", [string]$fsharpNetCoreProductTfm = "net8.0", [switch][Alias('bl')]$binaryLog = $true, [switch][Alias('nobl')]$excludeCIBinaryLog = $false, diff --git a/eng/build-utils.ps1 b/eng/build-utils.ps1 index f73195c7ccd..e44981ed299 100644 --- a/eng/build-utils.ps1 +++ b/eng/build-utils.ps1 @@ -240,33 +240,15 @@ function Make-BootstrapBuild() { # prepare FsLex and Fsyacc and AssemblyCheck $dotnetPath = InitializeDotNetCli $dotnetExe = Join-Path $dotnetPath "dotnet.exe" - $buildToolsProject = "`"$RepoRoot\buildtools\buildtools.proj`"" - - $argNoRestore = if ($norestore) { " --no-restore" } else { "" } - $argNoIncremental = if ($rebuild) { " --no-incremental" } else { "" } - - $args = "build $buildToolsProject -c $bootstrapConfiguration -v $verbosity" + $argNoRestore + $argNoIncremental - if ($binaryLog) { - $logFilePath = Join-Path $LogDir "toolsBootstrapLog.binlog" - $args += " /bl:`"$logFilePath`"" - } - Exec-Console $dotnetExe $args - - Copy-Item "$ArtifactsDir\bin\fslex\$bootstrapConfiguration\$fsharpNetCoreProductTfm" -Destination "$dir\fslex" -Force -Recurse - Copy-Item "$ArtifactsDir\bin\fsyacc\$bootstrapConfiguration\$fsharpNetCoreProductTfm" -Destination "$dir\fsyacc" -Force -Recurse - Copy-Item "$ArtifactsDir\bin\AssemblyCheck\$bootstrapConfiguration\$fsharpNetCoreProductTfm" -Destination "$dir\AssemblyCheck" -Force -Recurse # prepare compiler - $protoProject = "`"$RepoRoot\proto.sln`"" - $args = "build $protoProject -c $bootstrapConfiguration -v $verbosity " + $argNoRestore + $argNoIncremental + $projectpath = "$RepoRoot" + "proto.proj" + $args = "build $projectpath -c $bootstrapConfiguration" if ($binaryLog) { - $logFilePath = Join-Path $LogDir "protoBootstrapLog.binlog" + $logFilePath = Join-Path $LogDir "bootstrap.binlog" $args += " /bl:`"$logFilePath`"" } + Write-Host "$dotnetExe $args" Exec-Console $dotnetExe $args - - Copy-Item "$ArtifactsDir\bin\fsc\$bootstrapConfiguration\$bootstrapTfm" -Destination "$dir\fsc" -Force -Recurse - Copy-Item "$ArtifactsDir\bin\fsi\$bootstrapConfiguration\$bootstrapTfm" -Destination "$dir\fsi" -Force -Recurse - return $dir } diff --git a/eng/build.sh b/eng/build.sh index ad68240f098..369a5e860ca 100755 --- a/eng/build.sh +++ b/eng/build.sh @@ -238,10 +238,6 @@ function BuildSolution { local projects="$repo_root/FSharp.sln" - if [["$source_build" = true ]]; then - projects="$repo_root/Sourcebuild.sln" - fi - echo "$projects:" # https://github.com/dotnet/roslyn/issues/23736 @@ -266,40 +262,24 @@ function BuildSolution { node_reuse=false # build bootstrap tools - # source_build=true means we are currently in the outer/wrapper source-build, - # and building bootstrap needs to wait. The source-build targets will run this - # script again without setting source_build=true when it is done setting up - # the build environment. See 'eng/SourceBuild.props'. - if [[ "$source_build" != true ]]; then - bootstrap_config=Proto - bootstrap_dir=$artifacts_dir/Bootstrap - if [[ "$force_bootstrap" == true ]]; then - rm -fr $bootstrap_dir - fi - if [ ! -f "$bootstrap_dir/fslex.dll" ]; then - local bltools="" - if [[ "$bl" != "" ]]; then - bltools=$bl+".lex.binlog" - fi - BuildMessage="Error building tools" - MSBuild "$repo_root/buildtools/buildtools.proj" /restore "$bltools" /p:Configuration=$bootstrap_config - - mkdir -p "$bootstrap_dir" - cp -pr $artifacts_dir/bin/fslex/$bootstrap_config/$tfm $bootstrap_dir/fslex - cp -pr $artifacts_dir/bin/fsyacc/$bootstrap_config/$tfm $bootstrap_dir/fsyacc - fi - if [ ! -f "$bootstrap_dir/fsc.exe" ]; then - local bltools="" - if [[ "$bl" != "" ]]; then - bltools=$bl+".bootstrap.binlog" - fi - BuildMessage="Error building bootstrap" - MSBuild "$repo_root/Proto.sln" /restore "$bltools" /p:Configuration=$bootstrap_config - cp -pr $artifacts_dir/bin/fsc/$bootstrap_config/$tfm $bootstrap_dir/fsc + # source_build=In source build proto does no work, except cause sourcebuild in wrapper to build + bootstrap_dir=$artifacts_dir/Bootstrap + if [[ "$force_bootstrap" == true ]]; then + rm -fr $bootstrap_dir + fi + if [ ! -f "$bootstrap_dir/fslex/fslex.dll" ]; then + local bltools="" + if [[ "$bl" != "" ]]; then + bltools=$bl+".proto.binlog" fi + + BuildMessage="Error building tools" + local args=" build $repo_root/proto.proj /restore $bltools /p:Configuration=Proto /p:ArcadeBuildFromSource=$source_build" + echo $args + "$DOTNET_INSTALL_DIR/dotnet" $args #$args || exit $? fi - if [[ "$skip_build" != true && "$source_build != true" ]]; then + if [[ "$skip_build" != true ]]; then # do real build BuildMessage="Error building solution" MSBuild $toolset_build_proj \ diff --git a/eng/test-determinism.cmd b/eng/test-determinism.cmd index 972f85371e6..c9f147d5711 100644 --- a/eng/test-determinism.cmd +++ b/eng/test-determinism.cmd @@ -1,2 +1,3 @@ @echo off -powershell -noprofile -executionPolicy RemoteSigned -file "%~dp0\test-determinism.ps1" %* +@echo Disabled due to: https://github.com/dotnet/fsharp/issues/16969 +rem powershell -noprofile -executionPolicy RemoteSigned -file "%~dp0\test-determinism.ps1" %* diff --git a/proto.proj b/proto.proj new file mode 100644 index 00000000000..e5db8bc9c42 --- /dev/null +++ b/proto.proj @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Compiler/FSharp.Compiler.Service.fsproj b/src/Compiler/FSharp.Compiler.Service.fsproj index ec557322262..38e9613f807 100644 --- a/src/Compiler/FSharp.Compiler.Service.fsproj +++ b/src/Compiler/FSharp.Compiler.Service.fsproj @@ -36,8 +36,8 @@ - $(OtherFlags) --realsig- - $(OtherFlags) --realsig+ + $(OtherFlags) --realsig- + $(OtherFlags) --realsig+ diff --git a/src/FSharp.Build/FSharp.Build.fsproj b/src/FSharp.Build/FSharp.Build.fsproj index 8b9c5987512..7ee08e2b4ba 100644 --- a/src/FSharp.Build/FSharp.Build.fsproj +++ b/src/FSharp.Build/FSharp.Build.fsproj @@ -13,7 +13,7 @@ $(NoWarn);NU1701;FS0075 true 7.0 - Debug;Release;Proto;ReleaseCompressed + Debug;Release;Proto @@ -21,7 +21,7 @@ true false true - $(OtherFlags) --realsig+ + $(OtherFlags) --realsig+ @@ -52,13 +52,13 @@ {{FSCorePackageVersionValue}} $(FSharpCoreShippedPackageVersionValue) - + Microsoft.FSharp.Core.NetSdk.props Release\ {{FSCorePackageVersionValue}} $(FSCorePackageVersionValue) - + Microsoft.FSharp.Core.NetSdk.props Shipping\ {{FSCorePackageVersionValue}} diff --git a/src/FSharp.Compiler.Interactive.Settings/FSharp.Compiler.Interactive.Settings.fsproj b/src/FSharp.Compiler.Interactive.Settings/FSharp.Compiler.Interactive.Settings.fsproj index 489f95afac3..33be88b4006 100644 --- a/src/FSharp.Compiler.Interactive.Settings/FSharp.Compiler.Interactive.Settings.fsproj +++ b/src/FSharp.Compiler.Interactive.Settings/FSharp.Compiler.Interactive.Settings.fsproj @@ -15,7 +15,7 @@ true false true - $(OtherFlags) --realsig+ + $(OtherFlags) --realsig+ diff --git a/src/FSharp.Core/FSharp.Core.fsproj b/src/FSharp.Core/FSharp.Core.fsproj index f29b3ec78f9..1c73811ea60 100644 --- a/src/FSharp.Core/FSharp.Core.fsproj +++ b/src/FSharp.Core/FSharp.Core.fsproj @@ -4,7 +4,8 @@ Library - netstandard2.1;netstandard2.0 + netstandard2.0 + netstandard2.0;netstandard2.1 $(NoWarn);62 $(NoWarn);75 $(NoWarn);1204 diff --git a/src/FSharp.DependencyManager.Nuget/FSharp.DependencyManager.Nuget.fsproj b/src/FSharp.DependencyManager.Nuget/FSharp.DependencyManager.Nuget.fsproj index 60b25aa69f1..8eba697ced2 100644 --- a/src/FSharp.DependencyManager.Nuget/FSharp.DependencyManager.Nuget.fsproj +++ b/src/FSharp.DependencyManager.Nuget/FSharp.DependencyManager.Nuget.fsproj @@ -18,7 +18,7 @@ true false true - $(OtherFlags) --realsig+ + $(OtherFlags) --realsig+ diff --git a/src/fsc/fsc.targets b/src/fsc/fsc.targets index c926c12524c..674e2ad50cb 100644 --- a/src/fsc/fsc.targets +++ b/src/fsc/fsc.targets @@ -4,6 +4,7 @@ Exe + Debug;Release;Proto $(NoWarn);44 $(NoWarn);75 true @@ -17,7 +18,7 @@ true true true - $(OtherFlags) --realsig+ + $(OtherFlags) --realsig+ diff --git a/src/fsc/fscAnyCpuProject/fscAnyCpu.fsproj b/src/fsc/fscAnyCpuProject/fscAnyCpu.fsproj index b792e01777d..3fac5305cae 100644 --- a/src/fsc/fscAnyCpuProject/fscAnyCpu.fsproj +++ b/src/fsc/fscAnyCpuProject/fscAnyCpu.fsproj @@ -5,9 +5,7 @@ net472 anycpu - .exe true - Debug;Release;ReleaseCompressed diff --git a/src/fsc/fscArm64Project/fscArm64.fsproj b/src/fsc/fscArm64Project/fscArm64.fsproj index a87677d9f55..c7c42ca1adf 100644 --- a/src/fsc/fscArm64Project/fscArm64.fsproj +++ b/src/fsc/fscArm64Project/fscArm64.fsproj @@ -5,9 +5,7 @@ net472 arm64 - .exe true - Debug;Release;ReleaseCompressed diff --git a/src/fsc/fscProject/fsc.fsproj b/src/fsc/fscProject/fsc.fsproj index b382709200d..d5440cf08cb 100644 --- a/src/fsc/fscProject/fsc.fsproj +++ b/src/fsc/fscProject/fsc.fsproj @@ -2,17 +2,14 @@ - + net472;$(FSharpNetCoreProductTargetFramework) $(FSharpNetCoreProductTargetFramework) x86 - Debug;Release;Proto;ReleaseCompressed - - net472 - $(FSharpNetCoreProductTargetFramework) - x86 + + $(FSharpNetCoreProductTargetFramework) diff --git a/src/fsi/fsi.targets b/src/fsi/fsi.targets index 9baffb382c1..c1003e51da3 100644 --- a/src/fsi/fsi.targets +++ b/src/fsi/fsi.targets @@ -4,6 +4,7 @@ Exe + Debug;Release;Proto $(NoWarn);44 true $(OtherFlags) --warnon:1182 @@ -22,7 +23,7 @@ true true true - $(OtherFlags) --realsig+ + $(OtherFlags) --realsig+ diff --git a/src/fsi/fsiAnyCpuProject/fsiAnyCpu.fsproj b/src/fsi/fsiAnyCpuProject/fsiAnyCpu.fsproj index a77d45ffeec..f11e2783e44 100644 --- a/src/fsi/fsiAnyCpuProject/fsiAnyCpu.fsproj +++ b/src/fsi/fsiAnyCpuProject/fsiAnyCpu.fsproj @@ -5,10 +5,8 @@ net472 anycpu - .exe true $(DefineConstants);FSI_SHADOW_COPY_REFERENCES;FSI_SERVER - Debug;Release;ReleaseCompressed diff --git a/src/fsi/fsiArm64Project/fsiArm64.fsproj b/src/fsi/fsiArm64Project/fsiArm64.fsproj index 6c183d4a611..07e19f49d5e 100644 --- a/src/fsi/fsiArm64Project/fsiArm64.fsproj +++ b/src/fsi/fsiArm64Project/fsiArm64.fsproj @@ -5,10 +5,8 @@ net472 arm64 - .exe true $(DefineConstants);FSI_SHADOW_COPY_REFERENCES;FSI_SERVER - Debug;Release;ReleaseCompressed diff --git a/src/fsi/fsiProject/fsi.fsproj b/src/fsi/fsiProject/fsi.fsproj index 653122fc76d..3d24ed53f08 100644 --- a/src/fsi/fsiProject/fsi.fsproj +++ b/src/fsi/fsiProject/fsi.fsproj @@ -2,17 +2,14 @@ - + net472;$(FSharpNetCoreProductTargetFramework) $(FSharpNetCoreProductTargetFramework) x86 - Debug;Release;Proto;ReleaseCompressed - - net472 - $(FSharpNetCoreProductTargetFramework) - x86 + + $(FSharpNetCoreProductTargetFramework) diff --git a/tests/Directory.Build.props b/tests/Directory.Build.props index 82ac4239a6b..8e2955f96be 100644 --- a/tests/Directory.Build.props +++ b/tests/Directory.Build.props @@ -16,7 +16,7 @@ false false true - $(OtherFlags) --realsig+ + $(OtherFlags) --realsig+ diff --git a/vsintegration/Templates.Directory.Build.props b/vsintegration/Templates.Directory.Build.props index ecf140ce4b6..1711f6522f6 100644 --- a/vsintegration/Templates.Directory.Build.props +++ b/vsintegration/Templates.Directory.Build.props @@ -35,7 +35,7 @@ true false false - $(OtherFlags) --realsig+ + $(OtherFlags) --realsig+ diff --git a/vsintegration/tests/UnitTests/Tests.Build.fs b/vsintegration/tests/UnitTests/Tests.Build.fs index 19f4bffd569..07831f79dcb 100644 --- a/vsintegration/tests/UnitTests/Tests.Build.fs +++ b/vsintegration/tests/UnitTests/Tests.Build.fs @@ -79,6 +79,7 @@ type Build() = printfn "cmd=\"%s\"" cmd AssertEqual ("--codepage:65001" + Environment.NewLine + "--optimize+" + Environment.NewLine + + "--realsig-" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + "--highentropyva-" + Environment.NewLine + @@ -94,6 +95,7 @@ type Build() = printfn "cmd=\"%s\"" cmd AssertEqual ("-g" + Environment.NewLine + "--optimize+" + Environment.NewLine + + "--realsig-" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + "--highentropyva-" + Environment.NewLine + @@ -109,6 +111,7 @@ type Build() = printfn "cmd=\"%s\"" cmd AssertEqual ("--debug:pdbonly" + Environment.NewLine + "--optimize+" + Environment.NewLine + + "--realsig-" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + "--highentropyva-" + Environment.NewLine + @@ -126,6 +129,7 @@ type Build() = AssertEqual ("--define:FOO=3" + Environment.NewLine + "--define:BAR=4" + Environment.NewLine + "--optimize+" + Environment.NewLine + + "--realsig-" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + "--highentropyva-" + Environment.NewLine + @@ -140,6 +144,7 @@ type Build() = let cmd = tool.InternalGenerateResponseFileCommands() printfn "cmd=\"%s\"" cmd AssertEqual ("--optimize+" + Environment.NewLine + + "--realsig-" + Environment.NewLine + "--nowarn:52,109" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + @@ -155,6 +160,7 @@ type Build() = let cmd = tool.InternalGenerateResponseFileCommands() printfn "cmd=\"%s\"" cmd AssertEqual ("--optimize+" + Environment.NewLine + + "--realsig-" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + "--highentropyva-" + Environment.NewLine + @@ -169,6 +175,7 @@ type Build() = let cmd = tool.InternalGenerateResponseFileCommands() printfn "cmd=\"%s\"" cmd AssertEqual ("--optimize+" + Environment.NewLine + + "--realsig-" + Environment.NewLine + "--warnaserror-:52,109" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + @@ -184,6 +191,7 @@ type Build() = let cmd = tool.InternalGenerateResponseFileCommands() printfn "cmd=\"%s\"" cmd AssertEqual ("--optimize+" + Environment.NewLine + + "--realsig-" + Environment.NewLine + "--versionfile:src/version" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + @@ -200,6 +208,7 @@ type Build() = printfn "cmd=\"%s\"" cmd AssertEqual ("--doc:foo.xml" + Environment.NewLine + "--optimize+" + Environment.NewLine + + "--realsig-" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + "--highentropyva-" + Environment.NewLine + @@ -215,6 +224,7 @@ type Build() = printfn "cmd=\"%s\"" cmd AssertEqual ("--sig:foo.fsi" + Environment.NewLine + "--optimize+" + Environment.NewLine + + "--realsig-" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + "--highentropyva-" + Environment.NewLine + @@ -230,6 +240,7 @@ type Build() = printfn "cmd=\"%s\"" cmd AssertEqual ("--keyfile:key.txt" + Environment.NewLine + "--optimize+" + Environment.NewLine + + "--realsig-" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + "--highentropyva-" + Environment.NewLine + @@ -245,6 +256,7 @@ type Build() = printfn "cmd=\"%s\"" cmd AssertEqual ("--noframework" + Environment.NewLine + "--optimize+" + Environment.NewLine + + "--realsig-" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + "--highentropyva-" + Environment.NewLine + @@ -259,6 +271,7 @@ type Build() = let cmd = tool.InternalGenerateResponseFileCommands() printfn "cmd=\"%s\"" cmd AssertEqual ("--optimize-" + Environment.NewLine + + "--realsig-" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + "--highentropyva-" + Environment.NewLine + @@ -274,6 +287,7 @@ type Build() = printfn "cmd=\"%s\"" cmd // REVIEW we don't put the default, is that desired? AssertEqual ("--optimize+" + Environment.NewLine + + "--realsig-" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + "--highentropyva-" + Environment.NewLine + @@ -288,6 +302,7 @@ type Build() = let cmd = tool.InternalGenerateResponseFileCommands() printfn "cmd=\"%s\"" cmd AssertEqual ("--optimize+" + Environment.NewLine + + "--realsig-" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + "--highentropyva-" + Environment.NewLine + @@ -305,6 +320,7 @@ type Build() = printfn "cmd=\"%s\"" cmd AssertEqual ("-o:oUt.dll" + Environment.NewLine + "--optimize+" + Environment.NewLine + + "--realsig-" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + "--highentropyva-" + Environment.NewLine + @@ -319,6 +335,7 @@ type Build() = let cmd = tool.InternalGenerateResponseFileCommands() printfn "cmd=\"%s\"" cmd AssertEqual ("--optimize+" + Environment.NewLine + + "--realsig-" + Environment.NewLine + "--pdb:out.pdb" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + @@ -334,6 +351,7 @@ type Build() = let cmd = tool.InternalGenerateResponseFileCommands() printfn "cmd=\"%s\"" cmd AssertEqual ("--optimize+" + Environment.NewLine + + "--realsig-" + Environment.NewLine + "--platform:x64" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + @@ -349,6 +367,7 @@ type Build() = let cmd = tool.InternalGenerateResponseFileCommands() printfn "cmd=\"%s\"" cmd AssertEqual ("--optimize+" + Environment.NewLine + + "--realsig-" + Environment.NewLine + "--platform:x86" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + @@ -365,6 +384,7 @@ type Build() = let cmd = tool.InternalGenerateResponseFileCommands() printfn "cmd=\"%s\"" cmd AssertEqual ("--optimize+" + Environment.NewLine + + "--realsig-" + Environment.NewLine + "-r:" + dll + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + @@ -381,6 +401,7 @@ type Build() = let cmd = tool.InternalGenerateResponseFileCommands() printfn "cmd=\"%s\"" cmd AssertEqual ("--optimize+" + Environment.NewLine + + "--realsig-" + Environment.NewLine + "--lib:c:\\sd\\staging\\tools\\nunit\\,c:\\Foo" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + @@ -397,6 +418,7 @@ type Build() = let cmd = tool.InternalGenerateResponseFileCommands() printfn "cmd=\"%s\"" cmd AssertEqual ("--optimize+" + Environment.NewLine + + "--realsig-" + Environment.NewLine + "--lib:c:\\program files,c:\\sd\\staging\\tools\\nunit,c:\\Foo" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + @@ -412,6 +434,7 @@ type Build() = let cmd = tool.InternalGenerateResponseFileCommands() printfn "cmd=\"%s\"" cmd AssertEqual ("--optimize+" + Environment.NewLine + + "--realsig-" + Environment.NewLine + "--resource:Foo.resources" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + @@ -429,6 +452,7 @@ type Build() = let cmd = tool.InternalGenerateResponseFileCommands() printfn "cmd=\"%s\"" cmd AssertEqual ("--optimize+" + Environment.NewLine + + "--realsig-" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + "--highentropyva-" + Environment.NewLine + @@ -446,6 +470,7 @@ type Build() = let cmd = tool.InternalGenerateResponseFileCommands() printfn "cmd=\"%s\"" cmd AssertEqual ("--optimize+" + Environment.NewLine + + "--realsig-" + Environment.NewLine + "--target:library" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + @@ -461,6 +486,7 @@ type Build() = let cmd = tool.InternalGenerateResponseFileCommands() printfn "cmd=\"%s\"" cmd AssertEqual ("--optimize+" + Environment.NewLine + + "--realsig-" + Environment.NewLine + "--target:winexe" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + @@ -476,6 +502,7 @@ type Build() = let cmd = tool.InternalGenerateResponseFileCommands() printfn "cmd=\"%s\"" cmd AssertEqual ("--optimize+" + Environment.NewLine + + "--realsig-" + Environment.NewLine + "--target:module" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + @@ -490,6 +517,7 @@ type Build() = let cmd = tool.InternalGenerateResponseFileCommands() printfn "cmd=\"%s\"" cmd AssertEqual ("--optimize+" + Environment.NewLine + + "--realsig-" + Environment.NewLine + "--utf8output" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + @@ -504,6 +532,7 @@ type Build() = let cmd = tool.InternalGenerateResponseFileCommands() printfn "cmd=\"%s\"" cmd AssertEqual ("--optimize+" + Environment.NewLine + + "--realsig-" + Environment.NewLine + "--win32res:foo.res" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + @@ -518,6 +547,7 @@ type Build() = let cmd = tool.InternalGenerateResponseFileCommands() printfn "cmd=\"%s\"" cmd AssertEqual ("--optimize+" + Environment.NewLine + + "--realsig-" + Environment.NewLine + "--win32manifest:foo.manifest" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + @@ -532,6 +562,7 @@ type Build() = let cmd = tool.InternalGenerateResponseFileCommands() printfn "cmd=\"%s\"" cmd AssertEqual ("--optimize+" + Environment.NewLine + + "--realsig-" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + "--highentropyva+" + Environment.NewLine + @@ -545,6 +576,7 @@ type Build() = let cmd = tool.InternalGenerateResponseFileCommands() printfn "cmd=\"%s\"" cmd AssertEqual ("--optimize+" + Environment.NewLine + + "--realsig-" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + "--subsystemversion:6.02" + Environment.NewLine + @@ -599,6 +631,7 @@ type Build() = "--sig:foo.fsi" + Environment.NewLine + "--keyfile:key.txt" + Environment.NewLine + "--optimize+" + Environment.NewLine + + "--realsig-" + Environment.NewLine + "--pdb:out.pdb" + Environment.NewLine + "--platform:anycpu" + Environment.NewLine + "--resource:MyRes.resources" + Environment.NewLine + @@ -642,6 +675,7 @@ type Build() = "--sig:foo.fsi" "--keyfile:key.txt" "--optimize+" + "--realsig-" "--pdb:out.pdb" "--platform:anycpu" "--resource:MyRes.resources" @@ -685,6 +719,7 @@ type Build() = let expected = "--optimize+" + Environment.NewLine + + "--realsig-" + Environment.NewLine + "--nowarn:52,109,110,73,85" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + From d6af1112dabdc6a51e56a0109c17f63d564efc9c Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Mon, 1 Apr 2024 11:49:34 -0700 Subject: [PATCH 03/21] publish --- buildtools/AssemblyCheck/AssemblyCheck.fsproj | 6 ++++++ buildtools/fslex/fslex.fsproj | 6 ++++++ buildtools/fsyacc/fsyacc.fsproj | 6 ++++++ eng/build-utils.ps1 | 2 +- eng/build.sh | 2 +- src/fsc/fscProject/fsc.fsproj | 11 +++++++++++ src/fsi/fsiProject/fsi.fsproj | 11 +++++++++++ 7 files changed, 42 insertions(+), 2 deletions(-) diff --git a/buildtools/AssemblyCheck/AssemblyCheck.fsproj b/buildtools/AssemblyCheck/AssemblyCheck.fsproj index a5e7cbf0707..f153708f669 100644 --- a/buildtools/AssemblyCheck/AssemblyCheck.fsproj +++ b/buildtools/AssemblyCheck/AssemblyCheck.fsproj @@ -7,6 +7,12 @@ false + + true + win-x64 + linux-x64 + + diff --git a/buildtools/fslex/fslex.fsproj b/buildtools/fslex/fslex.fsproj index 50c1e4e3668..af5491143dc 100644 --- a/buildtools/fslex/fslex.fsproj +++ b/buildtools/fslex/fslex.fsproj @@ -8,6 +8,12 @@ LatestMajor + + true + win-x64 + linux-x64 + + diff --git a/buildtools/fsyacc/fsyacc.fsproj b/buildtools/fsyacc/fsyacc.fsproj index 0cc67482b3a..416a249de11 100644 --- a/buildtools/fsyacc/fsyacc.fsproj +++ b/buildtools/fsyacc/fsyacc.fsproj @@ -8,6 +8,12 @@ LatestMajor + + true + win-x64 + linux-x64 + + diff --git a/eng/build-utils.ps1 b/eng/build-utils.ps1 index e44981ed299..61016da9aa9 100644 --- a/eng/build-utils.ps1 +++ b/eng/build-utils.ps1 @@ -243,7 +243,7 @@ function Make-BootstrapBuild() { # prepare compiler $projectpath = "$RepoRoot" + "proto.proj" - $args = "build $projectpath -c $bootstrapConfiguration" + $args = "publish $projectpath -c $bootstrapConfiguration" if ($binaryLog) { $logFilePath = Join-Path $LogDir "bootstrap.binlog" $args += " /bl:`"$logFilePath`"" diff --git a/eng/build.sh b/eng/build.sh index 369a5e860ca..eb4e1383cd8 100755 --- a/eng/build.sh +++ b/eng/build.sh @@ -274,7 +274,7 @@ function BuildSolution { fi BuildMessage="Error building tools" - local args=" build $repo_root/proto.proj /restore $bltools /p:Configuration=Proto /p:ArcadeBuildFromSource=$source_build" + local args=" publish $repo_root/proto.proj /restore $bltools /p:Configuration=Proto /p:ArcadeBuildFromSource=$source_build" echo $args "$DOTNET_INSTALL_DIR/dotnet" $args #$args || exit $? fi diff --git a/src/fsc/fscProject/fsc.fsproj b/src/fsc/fscProject/fsc.fsproj index d5440cf08cb..273ebde5e0b 100644 --- a/src/fsc/fscProject/fsc.fsproj +++ b/src/fsc/fscProject/fsc.fsproj @@ -12,6 +12,17 @@ $(FSharpNetCoreProductTargetFramework) + + true + win-x64 + linux-x64 + + + + + + + $(ArtifactsDir)/bin/$(MSBuildProjectName)/$(Configuration)/ $(ArtifactsDir)obj/$(MSBuildProjectName)/$(Configuration)/ diff --git a/src/fsi/fsiProject/fsi.fsproj b/src/fsi/fsiProject/fsi.fsproj index 3d24ed53f08..8ebbc9af359 100644 --- a/src/fsi/fsiProject/fsi.fsproj +++ b/src/fsi/fsiProject/fsi.fsproj @@ -12,6 +12,17 @@ $(FSharpNetCoreProductTargetFramework) + + true + win-x64 + linux-x64 + + + + + + + $(ArtifactsDir)/bin/$(MSBuildProjectName)/$(Configuration)/ $(ArtifactsDir)obj/$(MSBuildProjectName)/$(Configuration)/ From ac784a1887c9ad05a5153b7e50748689cd916e7b Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Mon, 1 Apr 2024 14:14:02 -0700 Subject: [PATCH 04/21] tweak --- eng/build.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/eng/build.sh b/eng/build.sh index eb4e1383cd8..3129154258e 100755 --- a/eng/build.sh +++ b/eng/build.sh @@ -273,8 +273,13 @@ function BuildSolution { bltools=$bl+".proto.binlog" fi + local blrestore="" + if [[ "$source_build" != "true" ]]; then + blrestore="/restore" + fi + BuildMessage="Error building tools" - local args=" publish $repo_root/proto.proj /restore $bltools /p:Configuration=Proto /p:ArcadeBuildFromSource=$source_build" + local args=" publish $repo_root/proto.proj $blrestore $bltools /p:Configuration=Proto /p:ArcadeBuildFromSource=$source_build" echo $args "$DOTNET_INSTALL_DIR/dotnet" $args #$args || exit $? fi From 02cb3a9296ce574bff2e8c413a83b4e3158ea7af Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Mon, 1 Apr 2024 14:54:14 -0700 Subject: [PATCH 05/21] baseline --- eng/SourceBuildPrebuiltBaseline.xml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/eng/SourceBuildPrebuiltBaseline.xml b/eng/SourceBuildPrebuiltBaseline.xml index 18c94ed53e3..2fa77412809 100644 --- a/eng/SourceBuildPrebuiltBaseline.xml +++ b/eng/SourceBuildPrebuiltBaseline.xml @@ -16,6 +16,14 @@ + + + + + + + + From 585e67879f4eb9655a859d44144cde4f396547b0 Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Mon, 1 Apr 2024 16:57:55 -0700 Subject: [PATCH 06/21] tweak --- proto.proj | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/proto.proj b/proto.proj index e5db8bc9c42..a8d6d399a2e 100644 --- a/proto.proj +++ b/proto.proj @@ -10,23 +10,23 @@ - + - + - + - + - + From 7a3967def1fe0e4be3d3937894736745b1ab9ae6 Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Tue, 2 Apr 2024 15:10:33 -0700 Subject: [PATCH 07/21] fix publish framework --- buildtools/AssemblyCheck/AssemblyCheck.fsproj | 4 ++-- buildtools/fslex/fslex.fsproj | 4 ++-- buildtools/fsyacc/fsyacc.fsproj | 4 ++-- src/fsc/fscProject/fsc.fsproj | 4 ++-- src/fsi/fsiProject/fsi.fsproj | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/buildtools/AssemblyCheck/AssemblyCheck.fsproj b/buildtools/AssemblyCheck/AssemblyCheck.fsproj index f153708f669..78012218094 100644 --- a/buildtools/AssemblyCheck/AssemblyCheck.fsproj +++ b/buildtools/AssemblyCheck/AssemblyCheck.fsproj @@ -9,8 +9,8 @@ true - win-x64 - linux-x64 + linux-x64 + win-x64 diff --git a/buildtools/fslex/fslex.fsproj b/buildtools/fslex/fslex.fsproj index af5491143dc..5989467603a 100644 --- a/buildtools/fslex/fslex.fsproj +++ b/buildtools/fslex/fslex.fsproj @@ -10,8 +10,8 @@ true - win-x64 - linux-x64 + linux-x64 + win-x64 diff --git a/buildtools/fsyacc/fsyacc.fsproj b/buildtools/fsyacc/fsyacc.fsproj index 416a249de11..03493ad879a 100644 --- a/buildtools/fsyacc/fsyacc.fsproj +++ b/buildtools/fsyacc/fsyacc.fsproj @@ -10,8 +10,8 @@ true - win-x64 - linux-x64 + linux-x64 + win-x64 diff --git a/src/fsc/fscProject/fsc.fsproj b/src/fsc/fscProject/fsc.fsproj index 273ebde5e0b..dfcd50aeea1 100644 --- a/src/fsc/fscProject/fsc.fsproj +++ b/src/fsc/fscProject/fsc.fsproj @@ -14,8 +14,8 @@ true - win-x64 - linux-x64 + linux-x64 + win-x64 diff --git a/src/fsi/fsiProject/fsi.fsproj b/src/fsi/fsiProject/fsi.fsproj index 8ebbc9af359..fce3beb5041 100644 --- a/src/fsi/fsiProject/fsi.fsproj +++ b/src/fsi/fsiProject/fsi.fsproj @@ -14,8 +14,8 @@ true - win-x64 - linux-x64 + linux-x64 + win-x64 From 94bef8e62d54124782bd62f3c917e57759e80b49 Mon Sep 17 00:00:00 2001 From: KevinRansom Date: Wed, 3 Apr 2024 00:25:20 -0700 Subject: [PATCH 08/21] temp --- eng/test-determinism.cmd | 3 +-- eng/test-determinism.ps1 | 27 ++++++++++++++------------- proto.proj | 14 +++++++++----- 3 files changed, 24 insertions(+), 20 deletions(-) diff --git a/eng/test-determinism.cmd b/eng/test-determinism.cmd index c9f147d5711..972f85371e6 100644 --- a/eng/test-determinism.cmd +++ b/eng/test-determinism.cmd @@ -1,3 +1,2 @@ @echo off -@echo Disabled due to: https://github.com/dotnet/fsharp/issues/16969 -rem powershell -noprofile -executionPolicy RemoteSigned -file "%~dp0\test-determinism.ps1" %* +powershell -noprofile -executionPolicy RemoteSigned -file "%~dp0\test-determinism.ps1" %* diff --git a/eng/test-determinism.ps1 b/eng/test-determinism.ps1 index 499c1187a0d..decb87ab771 100644 --- a/eng/test-determinism.ps1 +++ b/eng/test-determinism.ps1 @@ -29,8 +29,8 @@ function Run-Build([string]$rootDir, [string]$logFileName) { # Clean out the previous run Write-Host "Cleaning binaries in $rootDir" - $binDir = Get-BinDir $rootDir - $objDir = Get-ObjDir $rootDir + $binDir = Get-BinDir (Get-ArtifactsDir $rootDir) + $objDir = Get-ObjDir (Get-ArtifactsDir $rootDir) $stopWatch = [System.Diagnostics.StopWatch]::StartNew() Write-Host "Cleaning binaries in $binDir" Remove-Item -Recurse $binDir -ErrorAction SilentlyContinue @@ -80,18 +80,22 @@ function Run-Build([string]$rootDir, [string]$logFileName) { Stop-Processes } -function Get-ObjDir([string]$rootDir) { - return Join-Path $rootDir "artifacts\obj" +function Get-ArtifactsDir([string]$dir) { + return Join-Path $dir "artifacts" } -function Get-BinDir([string]$rootDir) { - return Join-Path $rootDir "artifacts\bin" +function Get-ObjDir([string]$dir) { + return Join-Path $dir "obj" +} + +function Get-BinDir([string]$dir) { + return Join-Path $dir "artifacts\bin" } # Return all of the files that need to be processed for determinism under the given # directory. function Get-FilesToProcess([string]$rootDir) { - $objDir = Get-ObjDir $rootDir + $objDir = Get-ObjDir (Get-ArtifactsDir $rootDir) foreach ($item in Get-ChildItem -re -in *.dll, *.exe, *.pdb, *.sourcelink.json $objDir) { $filePath = $item.FullName $fileName = Split-Path -leaf $filePath @@ -183,7 +187,7 @@ function Test-Build([string]$rootDir, $dataMap, [string]$logFileName) { $errorList = @() $allGood = $true - Write-Host "Testing the binaries" + Write-Host "Testing the binaries: $rootDir" $stopWatch = [System.Diagnostics.StopWatch]::StartNew() foreach ($fileData in Get-FilesToProcess $rootDir) { $fileId = $fileData.FileId @@ -249,6 +253,7 @@ function Test-Build([string]$rootDir, $dataMap, [string]$logFileName) { function Run-Test() { # Run the initial build so that we can populate the maps Run-Build $RepoRoot -logFileName "Initial" -useBootstrap + $dataMap = Record-Binaries $RepoRoot Test-MapContents $dataMap @@ -377,12 +382,8 @@ try { $script:bootstrap = $true $script:bootstrapConfiguration = "Proto" - $script:bootstrapTfm = "net472" $script:fsharpNetCoreProductTfm = "net8.0" - - if ($script:msbuildEngine -eq "dotnet") { - $script.bootstrapTfm = $script:fsharpNetCoreProductTfm - } + $script:bootstrapTfm = $script:fsharpNetCoreProductTfm $bootstrapDir = Make-BootstrapBuild diff --git a/proto.proj b/proto.proj index a8d6d399a2e..2d07b389fa6 100644 --- a/proto.proj +++ b/proto.proj @@ -1,5 +1,9 @@ + + Bootstrap + + @@ -10,23 +14,23 @@ - + - + - + - + - + From ccaaf105de534a592108b69df55bff0da327d9a1 Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Wed, 3 Apr 2024 19:26:32 -0700 Subject: [PATCH 09/21] temp --- eng/test-determinism.ps1 | 33 ++++++++++++++++++++++++--------- 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/eng/test-determinism.ps1 b/eng/test-determinism.ps1 index decb87ab771..a84942d29c4 100644 --- a/eng/test-determinism.ps1 +++ b/eng/test-determinism.ps1 @@ -25,31 +25,43 @@ if ($help) { # List of binary names that should be skipped because they have a known issue that # makes them non-deterministic. $script:skipList = @() -function Run-Build([string]$rootDir, [string]$logFileName) { +function Run-Build([string]$rootDir, [string]$increment) { + + $logFileName = $increment # Clean out the previous run Write-Host "Cleaning binaries in $rootDir" $binDir = Get-BinDir (Get-ArtifactsDir $rootDir) $objDir = Get-ObjDir (Get-ArtifactsDir $rootDir) + $incrementDir = Join-Path (Get-ArtifactsDir $rootDir) $increment + $stopWatch = [System.Diagnostics.StopWatch]::StartNew() + Write-Host "Cleaning binaries in $binDir" Remove-Item -Recurse $binDir -ErrorAction SilentlyContinue + Write-Host "Cleaning binaries in $objDir" Remove-Item -Recurse $objDir -ErrorAction SilentlyContinue + + Write-Host "Cleaning binaries in $incrementDir" + Remove-Item -Recurse $incrementDir -ErrorAction SilentlyContinue + $stopWatch.Stop() + Write-Host "Cleaning took $($stopWatch.Elapsed)" $solution = Join-Path $rootDir "Microsoft.FSharp.Compiler.sln" if ($logFileName -eq "") { - $logFileName = [IO.Path]::GetFileNameWithoutExtension($projectFilePath) + $logFileName = [IO.Path]::GetFileNameWithoutExtension($solution) } + $logFileName = [IO.Path]::ChangeExtension($logFileName, ".binlog") $logFilePath = Join-Path $LogDir $logFileName Stop-Processes - Write-Host "Building $solution using $bootstrapDir" + Write-Host "Building $solution using $bootstrapDir into '$increment' $incrementDir" MSBuild $toolsetBuildProj ` /p:Configuration=$configuration ` /p:Projects=$solution ` @@ -71,12 +83,14 @@ function Run-Build([string]$rootDir, [string]$logFileName) { /p:DebugDeterminism=true ` /p:Features="debug-determinism" ` /p:DeployExtension=false ` - /p:BootstrapBuildPath=$bootstrapDir ` /p:RunAnalyzers=false ` /p:RunAnalyzersDuringBuild=false ` /p:BUILDING_USING_DOTNET=false ` /bl:$logFilePath + Write-Host "Copy-Item -Path $binDir -Destination $incrementDir -ErrorAction SilentlyContinue -Recurse" + Copy-Item -Path $binDir -Destination $incrementDir -ErrorAction SilentlyContinue -Recurse + Stop-Processes } @@ -89,7 +103,7 @@ function Get-ObjDir([string]$dir) { } function Get-BinDir([string]$dir) { - return Join-Path $dir "artifacts\bin" + return Join-Path $dir "bin" } # Return all of the files that need to be processed for determinism under the given @@ -181,8 +195,9 @@ function Test-MapContents($dataMap) { } } -function Test-Build([string]$rootDir, $dataMap, [string]$logFileName) { - Run-Build $rootDir -logFile $logFileName +function Test-Build([string]$rootDir, $dataMap, [string]$increment) { + $logFileName = $increment + Run-Build $rootDir -increment $increment $errorList = @() $allGood = $true @@ -252,13 +267,13 @@ function Test-Build([string]$rootDir, $dataMap, [string]$logFileName) { function Run-Test() { # Run the initial build so that we can populate the maps - Run-Build $RepoRoot -logFileName "Initial" -useBootstrap + Run-Build $RepoRoot -increment "Initial" -useBootstrap $dataMap = Record-Binaries $RepoRoot Test-MapContents $dataMap # Run a test against the source in the same directory location - Test-Build -rootDir $RepoRoot -dataMap $dataMap -logFileName "test1" + Test-Build -rootDir $RepoRoot -dataMap $dataMap -increment "Test1" # Run another build in a different source location and verify that path mapping # allows the build to be identical. To do this we'll copy the entire source From ee0b13ab5b33a96005fa16b3f60bf907704206be Mon Sep 17 00:00:00 2001 From: KevinRansom Date: Wed, 3 Apr 2024 23:38:07 -0700 Subject: [PATCH 10/21] temp --- eng/test-determinism.ps1 | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/eng/test-determinism.ps1 b/eng/test-determinism.ps1 index a84942d29c4..05c0417b1ec 100644 --- a/eng/test-determinism.ps1 +++ b/eng/test-determinism.ps1 @@ -33,8 +33,8 @@ function Run-Build([string]$rootDir, [string]$increment) { Write-Host "Cleaning binaries in $rootDir" $binDir = Get-BinDir (Get-ArtifactsDir $rootDir) $objDir = Get-ObjDir (Get-ArtifactsDir $rootDir) - $incrementDir = Join-Path (Get-ArtifactsDir $rootDir) $increment - + $incrementDir = Get-LeafDir (Get-ArtifactsDir $rootDir) $increment + $stopWatch = [System.Diagnostics.StopWatch]::StartNew() Write-Host "Cleaning binaries in $binDir" @@ -94,22 +94,28 @@ function Run-Build([string]$rootDir, [string]$increment) { Stop-Processes } + +function Get-LeafDir([string]$dir, [string]$leaf) { + return Join-Path $dir $leaf +} + function Get-ArtifactsDir([string]$dir) { - return Join-Path $dir "artifacts" + return Get-LeafDir $dir "artifacts" } function Get-ObjDir([string]$dir) { - return Join-Path $dir "obj" + return Get-LeafDir $dir "obj" } function Get-BinDir([string]$dir) { - return Join-Path $dir "bin" + return Get-LeafDir $dir "bin" } # Return all of the files that need to be processed for determinism under the given # directory. -function Get-FilesToProcess([string]$rootDir) { - $objDir = Get-ObjDir (Get-ArtifactsDir $rootDir) +function Get-FilesToProcess([string]$rootDir, [string]$increment) { + $objDir = Get-LeafDir (Get-ArtifactsDir $rootDir) $increment + foreach ($item in Get-ChildItem -re -in *.dll, *.exe, *.pdb, *.sourcelink.json $objDir) { $filePath = $item.FullName $fileName = Split-Path -leaf $filePath @@ -150,12 +156,13 @@ function Get-FilesToProcess([string]$rootDir) { } # This will build up the map of all of the binaries and their respective hashes. -function Record-Binaries([string]$rootDir) { +function Record-Binaries([string]$rootDir, [string]$increment) { $stopWatch = [System.Diagnostics.StopWatch]::StartNew() Write-Host "Recording file hashes" $map = @{ } - foreach ($fileData in Get-FilesToProcess $rootDir) { + Write-Host "Get-FilesToProcess $rootDir $increment" + foreach ($fileData in Get-FilesToProcess $rootDir $increment) { Write-Host "`t$($fileData.FileId) = $($fileData.Hash)" $map[$fileData.FileId] = $fileData } @@ -204,7 +211,7 @@ function Test-Build([string]$rootDir, $dataMap, [string]$increment) { Write-Host "Testing the binaries: $rootDir" $stopWatch = [System.Diagnostics.StopWatch]::StartNew() - foreach ($fileData in Get-FilesToProcess $rootDir) { + foreach ($fileData in Get-FilesToProcess $rootDir $increment) { $fileId = $fileData.FileId $fileName = $fileData.FileName $filePath = $fileData.FilePath @@ -269,7 +276,7 @@ function Run-Test() { # Run the initial build so that we can populate the maps Run-Build $RepoRoot -increment "Initial" -useBootstrap - $dataMap = Record-Binaries $RepoRoot + $dataMap = Record-Binaries $RepoRoot "Initial" Test-MapContents $dataMap # Run a test against the source in the same directory location From f8c892cc9e039c90a858c2961364ca46886aec9e Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Thu, 4 Apr 2024 12:02:51 -0700 Subject: [PATCH 11/21] publish --- eng/Publishing.props | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/eng/Publishing.props b/eng/Publishing.props index 18483e92a08..4851798fec9 100644 --- a/eng/Publishing.props +++ b/eng/Publishing.props @@ -1,4 +1,15 @@ + + + + + + 3 From 7568fa6606fc70771cafeb135b5b812c32b1d2c4 Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Thu, 4 Apr 2024 13:35:07 -0700 Subject: [PATCH 12/21] props --- eng/Publishing.props | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/eng/Publishing.props b/eng/Publishing.props index 4851798fec9..18483e92a08 100644 --- a/eng/Publishing.props +++ b/eng/Publishing.props @@ -1,15 +1,4 @@ - - - - - - 3 From db64fff5e3f6b0ec16443b413b2e15d1ef764d8c Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Fri, 5 Apr 2024 13:11:56 -0700 Subject: [PATCH 13/21] UseCurrentRuntimeIdentifier --- buildtools/AssemblyCheck/AssemblyCheck.fsproj | 3 +-- buildtools/fslex/fslex.fsproj | 3 +-- buildtools/fsyacc/fsyacc.fsproj | 3 +-- src/fsc/fscProject/fsc.fsproj | 3 +-- src/fsi/fsiProject/fsi.fsproj | 3 +-- 5 files changed, 5 insertions(+), 10 deletions(-) diff --git a/buildtools/AssemblyCheck/AssemblyCheck.fsproj b/buildtools/AssemblyCheck/AssemblyCheck.fsproj index 78012218094..1ce9fc90359 100644 --- a/buildtools/AssemblyCheck/AssemblyCheck.fsproj +++ b/buildtools/AssemblyCheck/AssemblyCheck.fsproj @@ -9,8 +9,7 @@ true - linux-x64 - win-x64 + true diff --git a/buildtools/fslex/fslex.fsproj b/buildtools/fslex/fslex.fsproj index 5989467603a..ed94f7acc62 100644 --- a/buildtools/fslex/fslex.fsproj +++ b/buildtools/fslex/fslex.fsproj @@ -10,8 +10,7 @@ true - linux-x64 - win-x64 + true diff --git a/buildtools/fsyacc/fsyacc.fsproj b/buildtools/fsyacc/fsyacc.fsproj index 03493ad879a..1fb14a82144 100644 --- a/buildtools/fsyacc/fsyacc.fsproj +++ b/buildtools/fsyacc/fsyacc.fsproj @@ -10,8 +10,7 @@ true - linux-x64 - win-x64 + true diff --git a/src/fsc/fscProject/fsc.fsproj b/src/fsc/fscProject/fsc.fsproj index dfcd50aeea1..d81971957df 100644 --- a/src/fsc/fscProject/fsc.fsproj +++ b/src/fsc/fscProject/fsc.fsproj @@ -14,8 +14,7 @@ true - linux-x64 - win-x64 + true diff --git a/src/fsi/fsiProject/fsi.fsproj b/src/fsi/fsiProject/fsi.fsproj index fce3beb5041..df3ea1c6a83 100644 --- a/src/fsi/fsiProject/fsi.fsproj +++ b/src/fsi/fsiProject/fsi.fsproj @@ -14,8 +14,7 @@ true - linux-x64 - win-x64 + true From 4b389df2c6605900896b8f43925112cc04b432e5 Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Fri, 5 Apr 2024 13:23:35 -0700 Subject: [PATCH 14/21] oops --- src/fsc/fscProject/fsc.fsproj | 3 --- src/fsi/fsiProject/fsi.fsproj | 3 --- 2 files changed, 6 deletions(-) diff --git a/src/fsc/fscProject/fsc.fsproj b/src/fsc/fscProject/fsc.fsproj index d81971957df..5f30ad30579 100644 --- a/src/fsc/fscProject/fsc.fsproj +++ b/src/fsc/fscProject/fsc.fsproj @@ -10,9 +10,6 @@ $(FSharpNetCoreProductTargetFramework) - - - true true diff --git a/src/fsi/fsiProject/fsi.fsproj b/src/fsi/fsiProject/fsi.fsproj index df3ea1c6a83..639ab45af17 100644 --- a/src/fsi/fsiProject/fsi.fsproj +++ b/src/fsi/fsiProject/fsi.fsproj @@ -10,9 +10,6 @@ $(FSharpNetCoreProductTargetFramework) - - - true true From 48f8d22994936062b2f682dd3b7ce3241d05fc0e Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Fri, 5 Apr 2024 13:31:39 -0700 Subject: [PATCH 15/21] publishing.props --- eng/Publishing.props | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/eng/Publishing.props b/eng/Publishing.props index 18483e92a08..4851798fec9 100644 --- a/eng/Publishing.props +++ b/eng/Publishing.props @@ -1,4 +1,15 @@ + + + + + + 3 From b17c0d0d6d4af68c7287f47174438d0fb730f558 Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Fri, 5 Apr 2024 15:33:09 -0700 Subject: [PATCH 16/21] BUILDING_USING_DOTNET --- Directory.Build.props | 4 ++-- Directory.Build.targets | 7 +++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index 03f7b55f969..a1de5a16503 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -33,8 +33,8 @@ $(ArtifactsDir)obj/$(MSBuildProjectName)/$(Configuration)/ - $(ArtifactsDir)/bin/fslex/$(Configuration)/$(FSharpNetCoreProductDefaultTargetFramework)/fslex.dll - $(ArtifactsDir)/bin/fsyacc/$(Configuration)/$(FSharpNetCoreProductDefaultTargetFramework)/fsyacc.dll + $(ArtifactsDir)/bin/fslex/$(Configuration)/$(FSharpNetCoreProductDefaultTargetFramework)/$(RuntimeIdentifier)/fslex.dll + $(ArtifactsDir)/bin/fsyacc/$(Configuration)/$(FSharpNetCoreProductDefaultTargetFramework)/$(RuntimeIdentifier)/fsyacc.dll NO_CHECKNULLS;BUILDING_WITH_LKG;NO_NULLCHECKING_LIB_SUPPORT;$(DefineConstants) diff --git a/Directory.Build.targets b/Directory.Build.targets index f1392eb3fe2..cd863377199 100644 --- a/Directory.Build.targets +++ b/Directory.Build.targets @@ -3,6 +3,13 @@ + + + $(ArtifactsDir)/bin/fslex/$(Configuration)/$(FSharpNetCoreProductDefaultTargetFramework)/$(NETCoreSdkPortableRuntimeIdentifier)/fslex.dll + $(ArtifactsDir)/bin/fsyacc/$(Configuration)/$(FSharpNetCoreProductDefaultTargetFramework)/$(NETCoreSdkPortableRuntimeIdentifier)/fsyacc.dll + + From ce73646bb9f59d7a693e862532f2a61021589413 Mon Sep 17 00:00:00 2001 From: KevinRansom Date: Mon, 8 Apr 2024 21:40:42 -0700 Subject: [PATCH 17/21] fsharpqa and ngen --- FSharpBuild.Directory.Build.targets | 1 - buildtools/AssemblyCheck/AssemblyCheck.fsproj | 1 - buildtools/fslex/fslex.fsproj | 1 - buildtools/fsyacc/fsyacc.fsproj | 1 - eng/targets/NGenBinaries.targets | 83 ------------------- src/FSharp.Core/FSharp.Core.fsproj | 1 - src/fsc/fsc.targets | 3 - src/fsi/fsi.targets | 3 - tests/fsharpqa/run.fsharpqa.test.fsx | 2 +- .../HostedCompilerServer.fsproj | 1 - 10 files changed, 1 insertion(+), 96 deletions(-) delete mode 100644 eng/targets/NGenBinaries.targets diff --git a/FSharpBuild.Directory.Build.targets b/FSharpBuild.Directory.Build.targets index 17802630dc6..d49de27dccc 100644 --- a/FSharpBuild.Directory.Build.targets +++ b/FSharpBuild.Directory.Build.targets @@ -2,7 +2,6 @@ - diff --git a/buildtools/AssemblyCheck/AssemblyCheck.fsproj b/buildtools/AssemblyCheck/AssemblyCheck.fsproj index 1ce9fc90359..6cfd3b1103f 100644 --- a/buildtools/AssemblyCheck/AssemblyCheck.fsproj +++ b/buildtools/AssemblyCheck/AssemblyCheck.fsproj @@ -4,7 +4,6 @@ Exe $(FSharpNetCoreProductTargetFramework) true - false diff --git a/buildtools/fslex/fslex.fsproj b/buildtools/fslex/fslex.fsproj index ed94f7acc62..03ed6a77a60 100644 --- a/buildtools/fslex/fslex.fsproj +++ b/buildtools/fslex/fslex.fsproj @@ -4,7 +4,6 @@ Exe $(FSharpNetCoreProductTargetFramework) true - false LatestMajor diff --git a/buildtools/fsyacc/fsyacc.fsproj b/buildtools/fsyacc/fsyacc.fsproj index 1fb14a82144..621a2f3c7ca 100644 --- a/buildtools/fsyacc/fsyacc.fsproj +++ b/buildtools/fsyacc/fsyacc.fsproj @@ -4,7 +4,6 @@ Exe $(FSharpNetCoreProductTargetFramework) true - false LatestMajor diff --git a/eng/targets/NGenBinaries.targets b/eng/targets/NGenBinaries.targets deleted file mode 100644 index e0529d3bb61..00000000000 --- a/eng/targets/NGenBinaries.targets +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - false - true - - - - - - - true - false - - - - - - - $(windir)\Microsoft.NET\Framework\v4.0.30319\ngen.exe - $(windir)\Microsoft.NET\Framework64\v4.0.30319\ngen.exe - $(windir)\Microsoft.NET\FrameworkArm64\v4.0.30319\ngen.exe - - - - - - - - - - - - - - - - - - - - $(WindowsSDK_ExecutablePath_x86)\sn.exe - $(WindowsSDK_ExecutablePath_x64)\sn.exe - $(WindowsSDK_ExecutablePath_Arm64)\sn.exe - - - - - - - - diff --git a/src/FSharp.Core/FSharp.Core.fsproj b/src/FSharp.Core/FSharp.Core.fsproj index 1c73811ea60..0df99701901 100644 --- a/src/FSharp.Core/FSharp.Core.fsproj +++ b/src/FSharp.Core/FSharp.Core.fsproj @@ -30,7 +30,6 @@ $(OtherFlags) --realsig- true - true true FSharp.Core $(FSCorePackageVersion) diff --git a/src/fsc/fsc.targets b/src/fsc/fsc.targets index 674e2ad50cb..3290d479188 100644 --- a/src/fsc/fsc.targets +++ b/src/fsc/fsc.targets @@ -8,9 +8,6 @@ $(NoWarn);44 $(NoWarn);75 true - true - true - false diff --git a/src/fsi/fsi.targets b/src/fsi/fsi.targets index c1003e51da3..c8b6884e31a 100644 --- a/src/fsi/fsi.targets +++ b/src/fsi/fsi.targets @@ -9,9 +9,6 @@ true $(OtherFlags) --warnon:1182 $(MSBuildThisFileDirectory)fsi.res - true - true - false diff --git a/tests/fsharpqa/run.fsharpqa.test.fsx b/tests/fsharpqa/run.fsharpqa.test.fsx index 0d87d742401..4c821e00d61 100644 --- a/tests/fsharpqa/run.fsharpqa.test.fsx +++ b/tests/fsharpqa/run.fsharpqa.test.fsx @@ -22,7 +22,7 @@ let nugetCache = | null -> Path.Combine(System.Environment.GetEnvironmentVariable "USERPROFILE", ".nuget", "packages") | path -> path let rootFolder = Path.Combine(__SOURCE_DIRECTORY__, "..", "..") -let compilerBinFolder = Path.Combine(rootFolder, "artifacts", "bin", "fsc", releaseOrDebug, "net472") +let compilerBinFolder = Path.Combine(rootFolder, "artifacts", "bin", "fsc", releaseOrDebug, "net8.0") setEnvVar "CSC_PIPE" (Path.Combine(nugetCache, "Microsoft.Net.Compilers", "4.3.0-1.22220.8", "tools", "csc.exe")) setEnvVar "FSC" (Path.Combine(compilerBinFolder, "fsc.exe")) setEnvVar "FSCOREDLLPATH" (Path.Combine(compilerBinFolder, "FSharp.Core.dll")) diff --git a/tests/fsharpqa/testenv/src/HostedCompilerServer/HostedCompilerServer.fsproj b/tests/fsharpqa/testenv/src/HostedCompilerServer/HostedCompilerServer.fsproj index f67562799e0..b7781a00d54 100644 --- a/tests/fsharpqa/testenv/src/HostedCompilerServer/HostedCompilerServer.fsproj +++ b/tests/fsharpqa/testenv/src/HostedCompilerServer/HostedCompilerServer.fsproj @@ -11,7 +11,6 @@ $(NoWarn);44 AnyCPU true - true From d90187f4c18e77469d731110413acb4981535fba Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Thu, 11 Apr 2024 15:26:50 -0700 Subject: [PATCH 18/21] Reqork -norealsig --- Directory.Build.props | 6 ++++++ eng/Build.ps1 | 12 ++++++------ eng/build.sh | 10 +++++----- src/Compiler/FSharp.Compiler.Service.fsproj | 5 ----- src/Directory.Build.targets | 2 +- src/FSharp.Build/FSharp.Build.fsproj | 1 - .../FSharp.Compiler.Interactive.Settings.fsproj | 1 - src/FSharp.Core/FSharp.Core.fsproj | 7 +++++-- .../FSharp.DependencyManager.Nuget.fsproj | 1 - src/fsc/fsc.targets | 1 - src/fsi/fsi.targets | 1 - tests/Directory.Build.props | 1 - vsintegration/Templates.Directory.Build.props | 1 - 13 files changed, 23 insertions(+), 26 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index a1de5a16503..7854750b554 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -22,6 +22,12 @@ true + + + $(OtherFlags) --realsig- + $(OtherFlags) --realsig+ + + diff --git a/eng/Build.ps1 b/eng/Build.ps1 index 3b2ba51a770..7f394f8618f 100644 --- a/eng/Build.ps1 +++ b/eng/Build.ps1 @@ -69,7 +69,7 @@ param ( [switch]$sourceBuild, [switch]$skipBuild, [switch]$compressAllMetadata, - [switch]$norealsig, + [switch]$buildnorealsig, [switch]$verifypackageshipstatus = $false, [parameter(ValueFromRemainingArguments = $true)][string[]]$properties) @@ -132,7 +132,7 @@ function Print-Usage() { Write-Host " -sourceBuild Simulate building for source-build." Write-Host " -skipbuild Skip building product" Write-Host " -compressAllMetadata Build product with compressed metadata" - Write-Host " -norealsig Build product with realsig- (default use realsig+)" + Write-Host " -buildnorealsig Build product with realsig- (default use realsig+, where necessary)" Write-Host " -verifypackageshipstatus Verify whether the packages we are building have already shipped to nuget" Write-Host "" Write-Host "Command line arguments starting with '/p:' are passed through to MSBuild." @@ -212,11 +212,11 @@ function Process-Arguments() { $script:compressAllMetadata = $True; } - if ($norealsig) { - $script:realsig = $False; + if ($buildnorealsig) { + $script:buildnorealsig = $True; } else { - $script:realsig = $True; + $script:buildnorealsig = $False; } if ($verifypackageshipstatus) { $script:verifypackageshipstatus = $True; @@ -296,7 +296,7 @@ function BuildSolution([string] $solutionName, $nopack) { /p:TestTargetFrameworks=$testTargetFrameworks ` /p:DotNetBuildFromSource=$sourceBuild ` /p:CompressAllMetadata=$CompressAllMetadata ` - /p:TestingLegacyInternalSignature=$realsig ` + /p:BuildNoRealsig=$buildnorealsig ` /v:$verbosity ` $suppressExtensionDeployment ` @properties diff --git a/eng/build.sh b/eng/build.sh index 3129154258e..886eb598c1e 100755 --- a/eng/build.sh +++ b/eng/build.sh @@ -34,7 +34,7 @@ usage() echo " --skipBuild Do not run the build" echo " --prepareMachine Prepare machine for CI run, clean up processes after build" echo " --sourceBuild Simulate building for source-build" - echo " --norealsig Build product with realsig- (default use realsig+)" + echo " --buildnorealsig Build product with realsig- (default use realsig+ where necessary)" echo " --tfm Override the default target framework" echo "" echo "Command line arguments starting with '/p:' are passed through to MSBuild." @@ -69,7 +69,7 @@ skip_analyzers=false skip_build=false prepare_machine=false source_build=false -realsig=true +buildnorealsig=false properties="" docker=false @@ -154,8 +154,8 @@ while [[ $# > 0 ]]; do --sourcebuild) source_build=true ;; - --norealsig) - realsig=false + --buildnorealsig) + buildnorealsig=true ;; --tfm) tfm=$2 @@ -302,7 +302,7 @@ function BuildSolution { /p:QuietRestore=$quiet_restore \ /p:QuietRestoreBinaryLog="$binary_log" \ /p:ArcadeBuildFromSource=$source_build \ - /p:TestingLegacyInternalSignature=$realsig \ + /p:BuildNoRealsig=$buildnorealsig \ $properties fi } diff --git a/src/Compiler/FSharp.Compiler.Service.fsproj b/src/Compiler/FSharp.Compiler.Service.fsproj index 38e9613f807..63428be3f11 100644 --- a/src/Compiler/FSharp.Compiler.Service.fsproj +++ b/src/Compiler/FSharp.Compiler.Service.fsproj @@ -35,11 +35,6 @@ false - - $(OtherFlags) --realsig- - $(OtherFlags) --realsig+ - - FSharp.Compiler.Service FSharp.Compiler.Service.nuspec diff --git a/src/Directory.Build.targets b/src/Directory.Build.targets index 068f4dc3c51..5937c5678c8 100644 --- a/src/Directory.Build.targets +++ b/src/Directory.Build.targets @@ -1,4 +1,4 @@ - + diff --git a/src/FSharp.Build/FSharp.Build.fsproj b/src/FSharp.Build/FSharp.Build.fsproj index 7ee08e2b4ba..70f2f534c30 100644 --- a/src/FSharp.Build/FSharp.Build.fsproj +++ b/src/FSharp.Build/FSharp.Build.fsproj @@ -21,7 +21,6 @@ true false true - $(OtherFlags) --realsig+ diff --git a/src/FSharp.Compiler.Interactive.Settings/FSharp.Compiler.Interactive.Settings.fsproj b/src/FSharp.Compiler.Interactive.Settings/FSharp.Compiler.Interactive.Settings.fsproj index 33be88b4006..85814ac6e5f 100644 --- a/src/FSharp.Compiler.Interactive.Settings/FSharp.Compiler.Interactive.Settings.fsproj +++ b/src/FSharp.Compiler.Interactive.Settings/FSharp.Compiler.Interactive.Settings.fsproj @@ -15,7 +15,6 @@ true false true - $(OtherFlags) --realsig+ diff --git a/src/FSharp.Core/FSharp.Core.fsproj b/src/FSharp.Core/FSharp.Core.fsproj index 0df99701901..87ff82c4f84 100644 --- a/src/FSharp.Core/FSharp.Core.fsproj +++ b/src/FSharp.Core/FSharp.Core.fsproj @@ -26,8 +26,6 @@ $(OtherFlags) --nowarn:3513 $(OtherFlags) --compiling-fslib --compiling-fslib-40 --maxerrors:100 --extraoptimizationloops:1 - - $(OtherFlags) --realsig- true true @@ -40,6 +38,11 @@ Debug;Release;Proto + + + $(OtherFlags) --realsig- + + false diff --git a/src/FSharp.DependencyManager.Nuget/FSharp.DependencyManager.Nuget.fsproj b/src/FSharp.DependencyManager.Nuget/FSharp.DependencyManager.Nuget.fsproj index 8eba697ced2..7b5aad10dba 100644 --- a/src/FSharp.DependencyManager.Nuget/FSharp.DependencyManager.Nuget.fsproj +++ b/src/FSharp.DependencyManager.Nuget/FSharp.DependencyManager.Nuget.fsproj @@ -18,7 +18,6 @@ true false true - $(OtherFlags) --realsig+ diff --git a/src/fsc/fsc.targets b/src/fsc/fsc.targets index 3290d479188..1c67ceb393a 100644 --- a/src/fsc/fsc.targets +++ b/src/fsc/fsc.targets @@ -15,7 +15,6 @@ true true true - $(OtherFlags) --realsig+ diff --git a/src/fsi/fsi.targets b/src/fsi/fsi.targets index c8b6884e31a..1fb29b4bff6 100644 --- a/src/fsi/fsi.targets +++ b/src/fsi/fsi.targets @@ -20,7 +20,6 @@ true true true - $(OtherFlags) --realsig+ diff --git a/tests/Directory.Build.props b/tests/Directory.Build.props index 8e2955f96be..06697bc35ed 100644 --- a/tests/Directory.Build.props +++ b/tests/Directory.Build.props @@ -16,7 +16,6 @@ false false true - $(OtherFlags) --realsig+ diff --git a/vsintegration/Templates.Directory.Build.props b/vsintegration/Templates.Directory.Build.props index 1711f6522f6..4ba654b8fac 100644 --- a/vsintegration/Templates.Directory.Build.props +++ b/vsintegration/Templates.Directory.Build.props @@ -35,7 +35,6 @@ true false false - $(OtherFlags) --realsig+ From fa209c38444c3a349826951063201f7986fa3422 Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Thu, 11 Apr 2024 18:56:02 -0700 Subject: [PATCH 19/21] update yaml --- azure-pipelines-PR.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/azure-pipelines-PR.yml b/azure-pipelines-PR.yml index 8700092a985..41e3188e64d 100644 --- a/azure-pipelines-PR.yml +++ b/azure-pipelines-PR.yml @@ -357,7 +357,7 @@ stages: - checkout: self clean: true - - script: eng\CIBuild.cmd -compressallmetadata -norealsig -testCoreclr -configuration Release + - script: eng\CIBuild.cmd -compressallmetadata -buildnorealsig -testCoreclr -configuration Release env: NativeToolsOnMachine: true displayName: Build @@ -385,7 +385,7 @@ stages: - checkout: self clean: true - - script: eng\CIBuild.cmd -compressallmetadata -norealsig -testDesktop -configuration Release + - script: eng\CIBuild.cmd -compressallmetadata -buildnorealsig -testDesktop -configuration Release env: NativeToolsOnMachine: true displayName: Build From ca366283b68c88b3fbd88300678a43f160ae676b Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Fri, 26 Apr 2024 10:48:47 -0700 Subject: [PATCH 20/21] revert realsig changes --- eng/Build.ps1 | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/eng/Build.ps1 b/eng/Build.ps1 index 7f394f8618f..a41cba55a47 100644 --- a/eng/Build.ps1 +++ b/eng/Build.ps1 @@ -213,10 +213,12 @@ function Process-Arguments() { } if ($buildnorealsig) { - $script:buildnorealsig = $True; + $script:buildnorealsig = $True + $env:FSHARP_REALSIG="false" } else { - $script:buildnorealsig = $False; + $script:buildnorealsig = $False + $env:FSHARP_REALSIG="true" } if ($verifypackageshipstatus) { $script:verifypackageshipstatus = $True; From 9349fd21a250f86907abfe1f9954d93fc95cbaf2 Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Tue, 7 May 2024 11:13:22 -0700 Subject: [PATCH 21/21] SourceBuild prebuilt baseline --- eng/SourceBuildPrebuiltBaseline.xml | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/eng/SourceBuildPrebuiltBaseline.xml b/eng/SourceBuildPrebuiltBaseline.xml index 2763bb6664a..bd4b7f794d0 100644 --- a/eng/SourceBuildPrebuiltBaseline.xml +++ b/eng/SourceBuildPrebuiltBaseline.xml @@ -16,12 +16,9 @@ - - - - - - + + +