Skip to content
This repository was archived by the owner on Dec 23, 2024. It is now read-only.

Commit baae065

Browse files
KevinRansomnosami
authored andcommitted
Make FSharp.Build build netstandard2.0 (dotnet#10626)
* Make FSharp.Build build netstandard2.0 * typo * fixes * temp * display environment windows * feedback * test fails
1 parent e96c357 commit baae065

File tree

9 files changed

+32
-16
lines changed

9 files changed

+32
-16
lines changed

eng/Build.ps1

+3
Original file line numberDiff line numberDiff line change
@@ -426,6 +426,9 @@ try {
426426

427427
Push-Location $RepoRoot
428428

429+
Get-ChildItem ENV: | Sort-Object Name
430+
Write-Host ""
431+
429432
if ($ci) {
430433
Prepare-TempDir
431434
EnablePreviewSdks

proto.proj

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
<ItemGroup>
99
<Projects Include="src\fsharp\FSharp.Build\FSharp.Build.fsproj">
10-
<AdditionalProperties Condition="'$(OS)' == 'Unix'">TargetFramework=netcoreapp3.1</AdditionalProperties>
10+
<AdditionalProperties>TargetFramework=netstandard2.0</AdditionalProperties>
1111
</Projects>
1212
<Projects Include="src\fsharp\fsc\fsc.fsproj">
1313
<AdditionalProperties Condition="'$(OS)' == 'Unix'">TargetFramework=netcoreapp3.1</AdditionalProperties>

setup/Swix/Microsoft.FSharp.Compiler.MSBuild/Microsoft.FSharp.Compiler.MSBuild.csproj

+12-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
<_Line>
4646
<![CDATA[
4747
folder "InstallDir:Common7\IDE\CommonExtensions\Microsoft\FSharp\%(_XlfLanguages.Identity)"
48-
file source="$(ArtifactsBinDir)FSharp.Build\$(Configuration)\$(TargetFramework)\%(_XlfLanguages.Identity)\FSharp.Build.resources.dll"
48+
file source="$(ArtifactsBinDir)FSharp.Build\$(Configuration)\netstandard2.0\%(_XlfLanguages.Identity)\FSharp.Build.resources.dll"
4949
file source="$(ArtifactsBinDir)FSharp.Compiler.Interactive.Settings\$(Configuration)\$(TargetFramework)\%(_XlfLanguages.Identity)\FSharp.Compiler.Interactive.Settings.resources.dll"
5050
file source="$(ArtifactsBinDir)FSharp.Compiler.Private\$(Configuration)\$(TargetFramework)\%(_XlfLanguages.Identity)\FSharp.Compiler.Private.resources.dll"
5151
file source="$(ArtifactsBinDir)FSharp.Core\$(Configuration)\netstandard2.0\%(_XlfLanguages.Identity)\FSharp.Core.resources.dll"
@@ -91,12 +91,16 @@ folder "InstallDir:Common7\IDE\CommonExtensions\Microsoft\FSharp"
9191
file source="$(BinariesFolder)\FSharp.Compiler.Interactive.Settings\$(Configuration)\$(TargetFramework)\FSharp.Compiler.Interactive.Settings.dll" vs.file.ngen=yes vs.file.ngenArchitecture=All vs.file.ngenPriority=2
9292
file source="$(BinariesFolder)\FSharp.Compiler.Private\$(Configuration)\$(TargetFramework)\FSharp.Compiler.Private.dll" vs.file.ngen=yes vs.file.ngenArchitecture=All vs.file.ngenPriority=2
9393
file source="$(BinariesFolder)\FSharp.Compiler.Private\$(Configuration)\$(TargetFramework)\System.Buffers.dll"
94+
file source="$(BinariesFolder)\FSharp.Compiler.Private\$(Configuration)\$(TargetFramework)\System.Collections.Immutable.dll"
9495
file source="$(BinariesFolder)\FSharp.Compiler.Private\$(Configuration)\$(TargetFramework)\System.Memory.dll"
9596
file source="$(BinariesFolder)\FSharp.Compiler.Private\$(Configuration)\$(TargetFramework)\System.Numerics.Vectors.dll"
9697
file source="$(BinariesFolder)\FSharp.Compiler.Private\$(Configuration)\$(TargetFramework)\System.Reflection.Metadata.dll"
9798
file source="$(BinariesFolder)\FSharp.Compiler.Private\$(Configuration)\$(TargetFramework)\System.Resources.Extensions.dll"
9899
file source="$(BinariesFolder)\FSharp.Compiler.Private\$(Configuration)\$(TargetFramework)\System.Runtime.CompilerServices.Unsafe.dll"
99100
file source="$(BinariesFolder)\FSharp.Compiler.Private\$(Configuration)\$(TargetFramework)\System.Threading.Tasks.Dataflow.dll"
101+
file source="$(BinariesFolder)\FSharp.Compiler.Private\$(Configuration)\$(TargetFramework)\Microsoft.Build.Framework.dll"
102+
file source="$(BinariesFolder)\FSharp.Compiler.Private\$(Configuration)\$(TargetFramework)\Microsoft.Build.Tasks.Core.dll"
103+
file source="$(BinariesFolder)\FSharp.Compiler.Private\$(Configuration)\$(TargetFramework)\Microsoft.Build.Utilities.Core.dll"
100104
file source="$(BinariesFolder)\FSharp.Compiler.Server.Shared\$(Configuration)\$(TargetFramework)\FSharp.Compiler.Server.Shared.dll" vs.file.ngen=yes vs.file.ngenArchitecture=All vs.file.ngenPriority=2
101105
file source="$(BinariesFolder)\FSharp.Core\$(Configuration)\netstandard2.0\FSharp.Core.dll" vs.file.ngen=yes vs.file.ngenArchitecture=All vs.file.ngenPriority=2
102106
file source="$(BinariesFolder)\FSharp.Core\$(Configuration)\netstandard2.0\FSharp.Core.xml"
@@ -113,6 +117,13 @@ folder "InstallDir:Common7\IDE\CommonExtensions\Microsoft\FSharp"
113117
file source="$(BinariesFolder)\FSharp.Build\$(Configuration)\$(TargetFramework)\Microsoft.FSharp.NetSdk.targets"
114118
file source="$(BinariesFolder)\FSharp.Build\$(Configuration)\$(TargetFramework)\Microsoft.FSharp.Overrides.NetSdk.targets"
115119
file source="$(BinariesFolder)\FSharp.Build\$(Configuration)\$(TargetFramework)\Microsoft.FSharp.Targets"
120+
file source="$(BinariesFolder)\FSharp.Build\$(Configuration)\netstandard2.0\FSharp.Build.dll" vs.file.ngen=no vs.file.ngenArchitecture=All vs.file.ngenPriority=2
121+
file source="$(BinariesFolder)\FSharp.Build\$(Configuration)\netstandard2.0\Microsoft.Portable.FSharp.Targets"
122+
file source="$(BinariesFolder)\FSharp.Build\$(Configuration)\netstandard2.0\Microsoft.FSharp.NetSdk.props"
123+
file source="$(BinariesFolder)\FSharp.Build\$(Configuration)\netstandard2.0\Microsoft.FSharp.NetSdk.targets"
124+
file source="$(BinariesFolder)\FSharp.Build\$(Configuration)\netstandard2.0\Microsoft.FSharp.Overrides.NetSdk.targets"
125+
file source="$(BinariesFolder)\FSharp.Build\$(Configuration)\netstandard2.0\Microsoft.FSharp.Targets"
126+
file source="$(BinariesFolder)\Microsoft.DotNet.DependencyManager\$(Configuration)\net472\Microsoft.DotNet.DependencyManager.dll" vs.file.ngen=no vs.file.ngenArchitecture=All vs.file.ngenPriority=2
116127
117128
@(_BuiltSwrLines)
118129
]]>

src/fsharp/FSharp.Build/FSharp.Build.fsproj

+4
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,16 @@
1212
<TargetFrameworks Condition="'$(OS)' == 'Unix'">netcoreapp3.0</TargetFrameworks>
1313
<TargetFrameworks Condition="'$(ProtoTargetFramework)' == ''">net472;netcoreapp3.1</TargetFrameworks>
1414
<TargetFrameworks Condition="'$(OS)' == 'Unix'">netcoreapp3.1</TargetFrameworks>
15+
<TargetFramework Condition="'$(Configuration)' != 'Proto'">netstandard2.0</TargetFramework>
16+
<TargetFrameworks Condition="'$(Configuration)' == 'Proto'">netstandard2.0</TargetFrameworks>
1517
<AssemblyName>FSharp.Build</AssemblyName>
1618
<NoWarn>$(NoWarn);45;55;62;75;1204</NoWarn>
1719
<AllowCrossTargeting>true</AllowCrossTargeting>
1820
<OtherFlags>$(OtherFlags) --maxerrors:20 --extraoptimizationloops:1</OtherFlags>
1921
<NGenBinary>true</NGenBinary>
2022
<DefineConstants>$(DefineConstants);LOCALIZATION_FSBUILD</DefineConstants>
23+
<NoWarn>NU1701;FS0075</NoWarn>
24+
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
2125
</PropertyGroup>
2226

2327
<ItemGroup>

src/fsharp/Microsoft.FSharp.Compiler/Microsoft.FSharp.Compiler.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<AdditionalProperties>TargetFramework=netcoreapp3.1</AdditionalProperties>
1818
</ProjectReference>
1919
<ProjectReference Include="..\FSharp.Build\FSharp.Build.fsproj">
20-
<AdditionalProperties>TargetFramework=netcoreapp3.1</AdditionalProperties>
20+
<AdditionalProperties>TargetFramework=netstandard2.0</AdditionalProperties>
2121
</ProjectReference>
2222
<ProjectReference Include="..\FSharp.Compiler.Interactive.Settings\FSharp.Compiler.Interactive.Settings.fsproj">
2323
<AdditionalProperties>TargetFramework=netstandard2.0</AdditionalProperties>

src/fsharp/Microsoft.FSharp.Compiler/Microsoft.FSharp.Compiler.nuspec

+7-7
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
<file src="FSharp.Core\$Configuration$\netstandard2.0\FSharp.Core.dll" target="lib\netcoreapp3.1" />
5252
<file src="FSharp.Core\$Configuration$\netstandard2.0\FSharp.Core.xml" target="lib\netcoreapp3.1" />
5353
<file src="FSharp.Compiler.Private\$Configuration$\netstandard2.0\FSharp.Compiler.Private.dll" target="lib\netcoreapp3.1" />
54-
<file src="FSharp.Build\$Configuration$\netcoreapp3.1\FSharp.Build.dll" target="lib\netcoreapp3.1" />
54+
<file src="FSharp.Build\$Configuration$\netstandard2.0\FSharp.Build.dll" target="lib\netcoreapp3.1" />
5555
<file src="FSharp.DependencyManager.Nuget\$configuration$\netstandard2.0\FSharp.DependencyManager.Nuget.dll"
5656
target="lib\netcoreapp3.1" />
5757
<file src="Microsoft.DotNet.DependencyManager\$configuration$\netstandard2.0\Microsoft.DotNet.DependencyManager.dll"
@@ -61,19 +61,19 @@
6161

6262
<!-- additional files -->
6363
<file src="fsc\$Configuration$\netcoreapp3.1\default.win32manifest" target="contentFiles\any\any" />
64-
<file src="FSharp.Build\$Configuration$\netcoreapp3.1\Microsoft.FSharp.Targets" target="contentFiles\any\any" />
65-
<file src="FSharp.Build\$Configuration$\netcoreapp3.1\Microsoft.Portable.FSharp.Targets" target="contentFiles\any\any" />
66-
<file src="FSharp.Build\$Configuration$\netcoreapp3.1\Microsoft.FSharp.NetSdk.props" target="contentFiles\any\any" />
67-
<file src="FSharp.Build\$Configuration$\netcoreapp3.1\Microsoft.FSharp.NetSdk.targets" target="contentFiles\any\any" />
68-
<file src="FSharp.Build\$Configuration$\netcoreapp3.1\Microsoft.FSharp.Overrides.NetSdk.targets" target="contentFiles\any\any" />
64+
<file src="FSharp.Build\$Configuration$\netstandard2.0\Microsoft.FSharp.Targets" target="contentFiles\any\any" />
65+
<file src="FSharp.Build\$Configuration$\netstandard2.0\Microsoft.Portable.FSharp.Targets" target="contentFiles\any\any" />
66+
<file src="FSharp.Build\$Configuration$\netstandard2.0\Microsoft.FSharp.NetSdk.props" target="contentFiles\any\any" />
67+
<file src="FSharp.Build\$Configuration$\netstandard2.0\Microsoft.FSharp.NetSdk.targets" target="contentFiles\any\any" />
68+
<file src="FSharp.Build\$Configuration$\netstandard2.0\Microsoft.FSharp.Overrides.NetSdk.targets" target="contentFiles\any\any" />
6969

7070
<!-- resources -->
7171
<file src="FSharp.Core\$Configuration$\netstandard2.0\**\FSharp.Core.resources.dll" target="lib\netcoreapp3.1" />
7272
<file src="FSharp.Compiler.Private\$Configuration$\netstandard2.0\**\FSharp.Compiler.Private.resources.dll"
7373
target="lib\netcoreapp3.1" />
7474
<file src="FSharp.Compiler.Interactive.Settings\$Configuration$\netstandard2.0\**\FSharp.Compiler.Interactive.Settings.resources.dll"
7575
target="lib\netcoreapp3.1" />
76-
<file src="FSharp.Build\$Configuration$\netcoreapp3.1\**\FSharp.Build.resources.dll" target="lib\netcoreapp3.1" />
76+
<file src="FSharp.Build\$Configuration$\netstandard2.0\**\FSharp.Build.resources.dll" target="lib\netcoreapp3.1" />
7777
<file src="FSharp.DependencyManager.Nuget\$configuration$\netstandard2.0\**\FSharp.DependencyManager.Nuget.resources.dll"
7878
target="lib\netcoreapp3.1" />
7979
<file src="Microsoft.DotNet.DependencyManager\$Configuration$\netstandard2.0\**\Microsoft.DotNet.DependencyManager.resources.dll"

tests/FSharp.Test.Utilities/TestFramework.fs

+2-4
Original file line numberDiff line numberDiff line change
@@ -199,18 +199,16 @@ let requireFile dir path =
199199

200200
let config configurationName envVars =
201201
let SCRIPT_ROOT = __SOURCE_DIRECTORY__
202+
let fsharpCoreArchitecture = "netstandard2.0"
203+
let fsharpBuildArchitecture = "netstandard2.0"
202204
#if NET472
203205
let fscArchitecture = "net472"
204206
let fsiArchitecture = "net472"
205-
let fsharpCoreArchitecture = "netstandard2.0"
206-
let fsharpBuildArchitecture = "net472"
207207
let fsharpCompilerInteractiveSettingsArchitecture = "net472"
208208
let peverifyArchitecture = "net472"
209209
#else
210210
let fscArchitecture = "netcoreapp3.1"
211211
let fsiArchitecture = "netcoreapp3.1"
212-
let fsharpCoreArchitecture = "netstandard2.0"
213-
let fsharpBuildArchitecture = "netcoreapp3.1"
214212
let fsharpCompilerInteractiveSettingsArchitecture = "netstandard2.0"
215213
let peverifyArchitecture = "netcoreapp3.1"
216214
#endif

tests/fsharp/SDKTests/tests/Test.props

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<TargetFrameworkIdentifier Condition="'$(TargetFrameworkIdentifier)' == ''">.NETFramework</TargetFrameworkIdentifier>
99

1010
<Configuration Condition="'$(Configuration)' == ''">Release</Configuration>
11-
<TargetsDirectory>$(MSBuildThisFileDirectory)..\..\..\..\artifacts\bin\FSharp.Build\$(Configuration)\net472</TargetsDirectory>
11+
<TargetsDirectory>$(MSBuildThisFileDirectory)..\..\..\..\artifacts\bin\FSharp.Build\$(Configuration)\netstandard2.0</TargetsDirectory>
1212

1313
<!-- these properties don't really matter, but they're necessary to make MSBuild happy -->
1414
<Platform Condition="'$(Platform)' == ''">AnyCPU</Platform>

tests/fsharp/tests.fs

+1-1
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,7 @@ module CoreTests =
240240
[<Test>]
241241
let ``SDKTests`` () =
242242
let cfg = testConfig' "SDKTests"
243-
exec cfg cfg.DotNetExe ("msbuild " + Path.Combine(cfg.Directory, "AllSdkTargetsTests.proj"))
243+
exec cfg cfg.DotNetExe ("msbuild " + Path.Combine(cfg.Directory, "AllSdkTargetsTests.proj") + " /p:Configuration=" + cfg.BUILD_CONFIG)
244244

245245
#if !NETCOREAPP
246246
[<Test>]

0 commit comments

Comments
 (0)