Attempt to make FCS solution build without arcade and with the SDK specified in global.json (#14677)

This commit is contained in:
Vlad Zarytovskii 2023-03-28 13:37:52 +02:00 коммит произвёл GitHub
Родитель 448da58ccb
Коммит ad5b7a731f
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
21 изменённых файлов: 187 добавлений и 67 удалений

Просмотреть файл

@ -12,8 +12,7 @@ vsintegration/*
!vsintegration/tests/FSharp.Editor.Tests
artifacts/
# Explicitly unformatted implementation files
# Explicitly unformatted implementation
src/Compiler/Checking/AccessibilityLogic.fs
src/Compiler/Checking/AttributeChecking.fs
src/Compiler/Checking/AugmentWithHashCompare.fs

1
.gitignore поставляемый
Просмотреть файл

@ -68,6 +68,7 @@ ossreadme*.txt
*.fsproj.user
*.vbproj.user
*.sln.DotSettings.user
*.props.user
launchSettings.json
*.log
*.jrs

Просмотреть файл

@ -1,17 +1,38 @@
<Project>
<Import Project="FSharpBuild.Directory.Build.props" Condition = " '$(FSharpTestCompilerVersion)' == '' "/>
<Import Project="FSharpTests.Directory.Build.props" Condition = " '$(FSharpTestCompilerVersion)' != '' "/>
<!--
<PropertyGroup>
<RepoRoot Condition="'$(RepoRoot)' == ''">$(MSBuildThisFileDirectory)</RepoRoot>
</PropertyGroup>
<!--
When developers load the FSharp.Compiler.Service solution we set FSHARPCORE_USE_PACKAGE to true if it hasn't already been set to a value.
This option ensures that building and testing uses the specified FSharp.Core nuget package instead of the local
FSharp.Core project.
-->
<PropertyGroup Condition="'$(FSHARPCORE_USE_PACKAGE)' == ''">
<FSHARPCORE_USE_PACKAGE Condition="'$(SolutionName)' == 'FSharp.Compiler.Service'">true</FSHARPCORE_USE_PACKAGE>
We also disable arcade and reset certain artifacts and compiler paths to use default ones
All settings below can be overriden via CLI switches if needed. -->
<PropertyGroup Condition="'$(SolutionName)' == 'FSharp.Compiler.Service' and '$(BUILDING_USING_DOTNET)' != 'false'">
<BUILDING_USING_DOTNET Condition="'$(BUILDING_USING_DOTNET)' == ''">true</BUILDING_USING_DOTNET>
</PropertyGroup>
<Import Project="$(RepoRoot)/Directory.Build.props.user" Condition = "Exists('$(RepoRoot)/Directory.Build.props.user')" />
<PropertyGroup Condition="'$(BUILDING_USING_DOTNET)' == 'true'">
<DisableAutoSetFscCompilerPath>false</DisableAutoSetFscCompilerPath>
<FSHARPCORE_USE_PACKAGE Condition="'$(FSHARPCORE_USE_PACKAGE)' == ''">true</FSHARPCORE_USE_PACKAGE>
<DISABLE_ARCADE Condition="'$(DISABLE_ARCADE)' == ''">true</DISABLE_ARCADE>
<ArtifactsDir>$(MSBuildThisFileDirectory)artifacts/</ArtifactsDir>
<OutputPath>$(ArtifactsDir)/bin/$(MSBuildProjectName)/$(Configuration)/</OutputPath>
<IntermediateOutputPath>$(ArtifactsDir)obj/$(MSBuildProjectName)/$(Configuration)/</IntermediateOutputPath>
<FsLexPath>$(ArtifactsDir)/bin/fslex/$(Configuration)/net7.0/fslex.dll</FsLexPath>
<FsYaccPath>$(ArtifactsDir)/bin/fsyacc/$(Configuration)/net7.0/fsyacc.dll</FsYaccPath>
<OtherFlags>$(OtherFlags) --test:ParallelCheckingWithSignatureFilesOn</OtherFlags>
</PropertyGroup>
<Import Project="$(MSBuildThisFileDirectory)/eng/Versions.props" Condition="'$(DISABLE_ARCADE)' == 'true'"/>
<Import Project="FSharpBuild.Directory.Build.props" Condition = " '$(FSharpTestCompilerVersion)' == '' "/>
<Import Project="FSharpTests.Directory.Build.props" Condition = " '$(FSharpTestCompilerVersion)' != '' "/>
<ItemGroup>
<!-- If there is a README.md next to a project file, include it (for easier access in the IDE) -->
<None Include="README.md" Condition="Exists('README.md')" />

Просмотреть файл

@ -29,17 +29,36 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Benchmarks", "Benchmarks",
tests\benchmarks\FCSBenchmarks\SmokeTestAllBenchmarks.ps1 = tests\benchmarks\FCSBenchmarks\SmokeTestAllBenchmarks.ps1
EndProjectSection
EndProject
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "HistoricalBenchmark", "tests\benchmarks\FCSBenchmarks\BenchmarkComparison\HistoricalBenchmark.fsproj", "{35F5F1C5-AE4F-4B5A-8D94-1AF708724FD5}"
Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "HistoricalBenchmark", "tests\benchmarks\FCSBenchmarks\BenchmarkComparison\HistoricalBenchmark.fsproj", "{35F5F1C5-AE4F-4B5A-8D94-1AF708724FD5}"
EndProject
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "FSharp.Compiler.Benchmarks", "tests\benchmarks\FCSBenchmarks\CompilerServiceBenchmarks\FSharp.Compiler.Benchmarks.fsproj", "{C1950E28-1CB7-4DEC-BB3A-8A0443A17282}"
Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "FSharp.Compiler.Benchmarks", "tests\benchmarks\FCSBenchmarks\CompilerServiceBenchmarks\FSharp.Compiler.Benchmarks.fsproj", "{C1950E28-1CB7-4DEC-BB3A-8A0443A17282}"
EndProject
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "HistoricalBenchmark.Runner", "tests\benchmarks\FCSBenchmarks\BenchmarkComparison\HistoricalBenchmark.Runner\HistoricalBenchmark.Runner.fsproj", "{07CD957A-3C31-4F75-A735-16CE72E1BD71}"
Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "HistoricalBenchmark.Runner", "tests\benchmarks\FCSBenchmarks\BenchmarkComparison\HistoricalBenchmark.Runner\HistoricalBenchmark.Runner.fsproj", "{07CD957A-3C31-4F75-A735-16CE72E1BD71}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{DD4D4A7E-D519-4409-89DA-16DCA3EF80AA}"
ProjectSection(SolutionItems) = preProject
src\Compiler\FSComp.txt = src\Compiler\FSComp.txt
Directory.Build.props = Directory.Build.props
Directory.Build.targets = Directory.Build.targets
global.json = global.json
EndProjectSection
EndProject
Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "fsc", "src\fsc\fscProject\fsc.fsproj", "{A6995088-3C1D-42BC-B3DD-72B1EEAB23F4}"
EndProject
Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "fsi", "src\fsi\fsiProject\fsi.fsproj", "{9858ED8A-3889-4B89-BF31-3105B594CB45}"
EndProject
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "fslex", "buildtools\fslex\fslex.fsproj", "{E7D145CD-ACE4-492D-B9A1-1B4F8560BB3B}"
EndProject
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "fsyacc", "buildtools\fsyacc\fsyacc.fsproj", "{D63BBEE6-DA15-44B6-95DC-CCC50737A441}"
EndProject
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "AssemblyCheck", "buildtools\AssemblyCheck\AssemblyCheck.fsproj", "{D7428217-FC36-4754-9AC1-85402C0940EF}"
EndProject
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "FSharp.Build", "src\FSharp.Build\FSharp.Build.fsproj", "{F7A87089-C02E-4EF1-B9AE-6C4EC6407BD1}"
EndProject
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "FSharp.Core", "src\FSharp.Core\FSharp.Core.fsproj", "{6A61305F-9C5A-4FC1-869A-2CFFBA45A328}"
EndProject
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "FSharp.Compiler.Interactive.Settings", "src\FSharp.Compiler.Interactive.Settings\FSharp.Compiler.Interactive.Settings.fsproj", "{AF887C2E-640D-4CD6-A0BD-88AE1517797D}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@ -86,6 +105,38 @@ Global
{07CD957A-3C31-4F75-A735-16CE72E1BD71}.Debug|Any CPU.Build.0 = Debug|Any CPU
{07CD957A-3C31-4F75-A735-16CE72E1BD71}.Release|Any CPU.ActiveCfg = Release|Any CPU
{07CD957A-3C31-4F75-A735-16CE72E1BD71}.Release|Any CPU.Build.0 = Release|Any CPU
{A6995088-3C1D-42BC-B3DD-72B1EEAB23F4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A6995088-3C1D-42BC-B3DD-72B1EEAB23F4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A6995088-3C1D-42BC-B3DD-72B1EEAB23F4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A6995088-3C1D-42BC-B3DD-72B1EEAB23F4}.Release|Any CPU.Build.0 = Release|Any CPU
{9858ED8A-3889-4B89-BF31-3105B594CB45}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9858ED8A-3889-4B89-BF31-3105B594CB45}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9858ED8A-3889-4B89-BF31-3105B594CB45}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9858ED8A-3889-4B89-BF31-3105B594CB45}.Release|Any CPU.Build.0 = Release|Any CPU
{E7D145CD-ACE4-492D-B9A1-1B4F8560BB3B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E7D145CD-ACE4-492D-B9A1-1B4F8560BB3B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E7D145CD-ACE4-492D-B9A1-1B4F8560BB3B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E7D145CD-ACE4-492D-B9A1-1B4F8560BB3B}.Release|Any CPU.Build.0 = Release|Any CPU
{D63BBEE6-DA15-44B6-95DC-CCC50737A441}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D63BBEE6-DA15-44B6-95DC-CCC50737A441}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D63BBEE6-DA15-44B6-95DC-CCC50737A441}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D63BBEE6-DA15-44B6-95DC-CCC50737A441}.Release|Any CPU.Build.0 = Release|Any CPU
{D7428217-FC36-4754-9AC1-85402C0940EF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D7428217-FC36-4754-9AC1-85402C0940EF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D7428217-FC36-4754-9AC1-85402C0940EF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D7428217-FC36-4754-9AC1-85402C0940EF}.Release|Any CPU.Build.0 = Release|Any CPU
{F7A87089-C02E-4EF1-B9AE-6C4EC6407BD1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F7A87089-C02E-4EF1-B9AE-6C4EC6407BD1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F7A87089-C02E-4EF1-B9AE-6C4EC6407BD1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F7A87089-C02E-4EF1-B9AE-6C4EC6407BD1}.Release|Any CPU.Build.0 = Release|Any CPU
{6A61305F-9C5A-4FC1-869A-2CFFBA45A328}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6A61305F-9C5A-4FC1-869A-2CFFBA45A328}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6A61305F-9C5A-4FC1-869A-2CFFBA45A328}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6A61305F-9C5A-4FC1-869A-2CFFBA45A328}.Release|Any CPU.Build.0 = Release|Any CPU
{AF887C2E-640D-4CD6-A0BD-88AE1517797D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{AF887C2E-640D-4CD6-A0BD-88AE1517797D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AF887C2E-640D-4CD6-A0BD-88AE1517797D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{AF887C2E-640D-4CD6-A0BD-88AE1517797D}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

Просмотреть файл

@ -1,7 +1,7 @@
<Project>
<Import Project="Sdk.props" Sdk="Microsoft.DotNet.Arcade.Sdk" />
<Import Project="eng\targets\Settings.props" />
<Import Project="Sdk.props" Sdk="Microsoft.DotNet.Arcade.Sdk" Condition="'$(DISABLE_ARCADE)' != 'true'"/>
<Import Project="eng\targets\Settings.props" Condition="'$(DISABLE_ARCADE)' != 'true'"/>
<PropertyGroup>
<BUILD_IN_FSHARP_REPOSITORY>true</BUILD_IN_FSHARP_REPOSITORY>
@ -13,6 +13,10 @@
<DisableAutoSetFscCompilerPath>true</DisableAutoSetFscCompilerPath>
</PropertyGroup>
<PropertyGroup Condition="'$(BUILDING_USING_DOTNET)' == 'true'">
<DisableAutoSetFscCompilerPath>false</DisableAutoSetFscCompilerPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Proto'">
<FSCoreVersion>$(FSCoreShippedVersion)</FSCoreVersion>
</PropertyGroup>

Просмотреть файл

@ -1,9 +1,9 @@
<Project>
<Import Project="Sdk.targets" Sdk="Microsoft.DotNet.Arcade.Sdk" />
<Import Project="eng\targets\Imports.targets" />
<Import Project="eng\targets\NGenBinaries.targets" />
<Import Project="eng\targets\NuGet.targets" />
<Import Project="Sdk.targets" Sdk="Microsoft.DotNet.Arcade.Sdk" Condition="'$(DISABLE_ARCADE)' != 'true'"/>
<Import Project="eng\targets\Imports.targets" Condition="'$(DISABLE_ARCADE)' != 'true'"/>
<Import Project="eng\targets\NGenBinaries.targets" Condition="'$(DISABLE_ARCADE)' != 'true'"/>
<Import Project="eng\targets\NuGet.targets" Condition="'$(DISABLE_ARCADE)' != 'true'"/>
<Import Project="FSharp.Profiles.props" />
<PropertyGroup>

Просмотреть файл

@ -524,7 +524,7 @@ stages:
# Run Build with Fsharp Experimental Features
# Possible change: --times:$(Build.SourcesDirectory)/artifacts/log/Release/compiler_timing.csv
# Plain build Windows
# Plain FCS build Windows
- job: Plain_Build_Windows
pool:
name: $(DncEngPublicBuildPool)
@ -535,8 +535,6 @@ stages:
steps:
- checkout: self
clean: true
- script: .\Build.cmd
displayName: Initial build
- script: dotnet --list-sdks
displayName: Report dotnet SDK versions
- task: UseDotNet@2
@ -547,17 +545,13 @@ stages:
includePreviewVersions: true
workingDirectory: $(Build.SourcesDirectory)
installationPath: $(Agent.ToolsDirectory)/dotnet
- script: dotnet build .\FSharp.sln /bl:\"artifacts/log/$(_BuildConfig)/RegularBuild.binlog\"
env:
DOTNET_ROLL_FORWARD_TO_PRERELEASE: 1
displayName: Regular rebuild of FSharp.sln
- script: dotnet build .\FSharp.Compiler.Service.sln /bl:\"artifacts/log/$(_BuildConfig)/ServiceRegularBuild.binlog\"
workingDirectory: $(Build.SourcesDirectory)
env:
DOTNET_ROLL_FORWARD_TO_PRERELEASE: 1
displayName: Regular rebuild of FSharp.Compiler.Service.sln
continueOnError: true
condition: always()
# Plain build Linux
# Plain FCS build Linux
- job: Plain_Build_Linux
pool:
vmImage: $(UbuntuMachineQueueName)
@ -567,8 +561,6 @@ stages:
steps:
- checkout: self
clean: true
- script: ./build.sh
displayName: Initial build
- script: dotnet --list-sdks
displayName: Report dotnet SDK versions
- task: UseDotNet@2
@ -579,17 +571,13 @@ stages:
includePreviewVersions: true
workingDirectory: $(Build.SourcesDirectory)
installationPath: $(Agent.ToolsDirectory)/dotnet
- script: dotnet build ./FSharp.sln /bl:\"artifacts/log/$(_BuildConfig)/RegularBuild.binlog\"
env:
DOTNET_ROLL_FORWARD_TO_PRERELEASE: 1
displayName: Regular rebuild of FSharp.sln
- script: dotnet build ./FSharp.Compiler.Service.sln /bl:\"artifacts/log/$(_BuildConfig)/ServiceRegularBuild.binlog\"
workingDirectory: $(Build.SourcesDirectory)
env:
DOTNET_ROLL_FORWARD_TO_PRERELEASE: 1
displayName: Regular rebuild of FSharp.Compiler.Service.sln
continueOnError: true
condition: always()
# Plain build Mac
# Plain FCS build Mac
- job: Plain_Build_MacOS
pool:
vmImage: macos-11
@ -599,8 +587,6 @@ stages:
steps:
- checkout: self
clean: true
- script: ./build.sh
displayName: Initial build
- script: dotnet --list-sdks
displayName: Report dotnet SDK versions
- task: UseDotNet@2
@ -611,15 +597,11 @@ stages:
includePreviewVersions: true
workingDirectory: $(Build.SourcesDirectory)
installationPath: $(Agent.ToolsDirectory)/dotnet
- script: dotnet build ./FSharp.sln /bl:\"artifacts/log/$(_BuildConfig)/RegularBuild.binlog\"
env:
DOTNET_ROLL_FORWARD_TO_PRERELEASE: 1
displayName: Regular rebuild of FSharp.sln
- script: dotnet build ./FSharp.Compiler.Service.sln /bl:\"artifacts/log/$(_BuildConfig)/ServiceRegularBuild.binlog\"
workingDirectory: $(Build.SourcesDirectory)
env:
DOTNET_ROLL_FORWARD_TO_PRERELEASE: 1
displayName: Regular rebuild of FSharp.Compiler.Service.sln
continueOnError: true
condition: always()
# Test trimming on Windows
- job: Build_And_Test_Trimming_Windows

Просмотреть файл

@ -14,8 +14,12 @@
</Content>
</ItemGroup>
<ItemGroup>
<ItemGroup Condition="'$(FSHARPCORE_USE_PACKAGE)' != 'true'">
<ProjectReference Include="$(MSBuildThisFileDirectory)..\..\src\FSharp.Core\FSharp.Core.fsproj" />
</ItemGroup>
<ItemGroup Condition="'$(FSHARPCORE_USE_PACKAGE)' == 'true'">
<PackageReference Include="FSharp.Core" Version="$(FSharpCoreShippedPackageVersionValue)" />
</ItemGroup>
</Project>

Просмотреть файл

@ -3,6 +3,7 @@
<PropertyGroup>
<Configuration Condition="'$(Configuration)' == ''">Debug</Configuration>
<DisableCompilerRedirection>true</DisableCompilerRedirection>
<NoWarn>$(NoWarn);NU1504</NoWarn>
</PropertyGroup>
<ItemGroup>

Просмотреть файл

@ -21,8 +21,12 @@
<Compile Include="fslex.fs" />
</ItemGroup>
<ItemGroup>
<ItemGroup Condition="'$(FSHARPCORE_USE_PACKAGE)' != 'true'">
<ProjectReference Include="$(MSBuildThisFileDirectory)..\..\src\FSharp.Core\FSharp.Core.fsproj" />
</ItemGroup>
<ItemGroup Condition="'$(FSHARPCORE_USE_PACKAGE)' == 'true'">
<PackageReference Include="FSharp.Core" Version="$(FSharpCoreShippedPackageVersionValue)" />
</ItemGroup>
</Project>

Просмотреть файл

@ -21,8 +21,12 @@
<Compile Include="fsyacc.fs" />
</ItemGroup>
<ItemGroup>
<ItemGroup Condition="'$(FSHARPCORE_USE_PACKAGE)' != 'true'">
<ProjectReference Include="$(MSBuildThisFileDirectory)..\..\src\FSharp.Core\FSharp.Core.fsproj" />
</ItemGroup>
<ItemGroup Condition="'$(FSHARPCORE_USE_PACKAGE)' == 'true'">
<PackageReference Include="FSharp.Core" Version="$(FSharpCoreShippedPackageVersionValue)" />
</ItemGroup>
</Project>

Просмотреть файл

@ -82,6 +82,14 @@
https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public/nuget/v3/index.json;
https://pkgs.dev.azure.com/azure-public/vside/_packaging/vssdk/nuget/v3/index.json;
https://pkgs.dev.azure.com/azure-public/vside/_packaging/vs-impl/nuget/v3/index.json;
https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eng/nuget/v3/index.json;
https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json;
https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet7/nuget/v3/index.json;
https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet7-transport/nuget/v3/index.json;
https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public/nuget/v3/index.json;
https://pkgs.dev.azure.com/azure-public/vside/_packaging/vssdk-archived/nuget/v3/index.json;
https://pkgs.dev.azure.com/azure-public/vside/_packaging/vs-impl-archived/nuget/v3/index.json;
</RestoreSources>
<!-- System.* packages -->
<!-- If a System.* package is stuck on version 4.3.x, targets .NET Standard 1.x and hasn't been
@ -186,7 +194,7 @@
<MicrosoftNETCoreAppRefVersion>3.1.0</MicrosoftNETCoreAppRefVersion>
<MicrosoftNETCoreILDAsmVersion>5.0.0-preview.7.20364.11</MicrosoftNETCoreILDAsmVersion>
<MicrosoftNETCoreILAsmVersion>5.0.0-preview.7.20364.11</MicrosoftNETCoreILAsmVersion>
<MicrosoftNETTestSdkVersion>16.11.0</MicrosoftNETTestSdkVersion>
<MicrosoftNETTestSdkVersion>17.4.0</MicrosoftNETTestSdkVersion>
<NewtonsoftJsonVersion>13.0.2</NewtonsoftJsonVersion>
<NUnitVersion>3.13.2</NUnitVersion>
<NUnit3TestAdapterVersion>4.1.0</NUnit3TestAdapterVersion>

Просмотреть файл

@ -39,7 +39,7 @@ function Run-Build([string]$rootDir, [string]$logFileName) {
$stopWatch.Stop()
Write-Host "Cleaning took $($stopWatch.Elapsed)"
$solution = Join-Path $rootDir "FSharp.Compiler.Service.sln"
$solution = Join-Path $rootDir "Microsoft.FSharp.Compiler.sln"
if ($logFileName -eq "") {
$logFileName = [IO.Path]::GetFileNameWithoutExtension($projectFilePath)
@ -74,6 +74,7 @@ function Run-Build([string]$rootDir, [string]$logFileName) {
/p:BootstrapBuildPath=$bootstrapDir `
/p:RunAnalyzers=false `
/p:RunAnalyzersDuringBuild=false `
/p:BUILDING_USING_DOTNET=false `
/bl:$logFilePath
Stop-Processes

Просмотреть файл

@ -32,11 +32,6 @@
<CompressMetadata Condition="'$(CompressAllMetadata)' != 'true'">false</CompressMetadata>
</PropertyGroup>
<PropertyGroup>
<FsYaccOutputFolder>$(IntermediateOutputPath)$(TargetFramework)\</FsYaccOutputFolder>
<FsLexOutputFolder>$(IntermediateOutputPath)$(TargetFramework)\</FsLexOutputFolder>
</PropertyGroup>
<PropertyGroup>
<PackageId>FSharp.Compiler.Service</PackageId>
<NuspecFile>FSharp.Compiler.Service.nuspec</NuspecFile>
@ -493,6 +488,22 @@
</None>
</ItemGroup>
<ItemGroup Condition="'$(BUILDING_USING_DOTNET)' == 'true'">
<!-- We are setting TFM explicitly here, since we are only using fslexyacc's dlls in msbuild -->
<ProjectReference Include="$(RepoRoot)\buildtools\fslex\fslex.fsproj" ReferenceOutputAssembly="False">
<SetTargetFramework>TargetFramework=net7.0</SetTargetFramework>
<ExcludeAssets>compile</ExcludeAssets>
</ProjectReference>
<ProjectReference Include="$(RepoRoot)\buildtools\fsyacc\fsyacc.fsproj" ReferenceOutputAssembly="False">
<SetTargetFramework>TargetFramework=net7.0</SetTargetFramework>
<ExcludeAssets>compile</ExcludeAssets>
</ProjectReference>
<ProjectReference Include="$(RepoRoot)\buildtools\AssemblyCheck\AssemblyCheck.fsproj" ReferenceOutputAssembly="False">
<SetTargetFramework>TargetFramework=net7.0</SetTargetFramework>
<ExcludeAssets>compile</ExcludeAssets>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="$(MSBuildThisFileDirectory)..\FSharp.DependencyManager.Nuget\FSharp.DependencyManager.Nuget.fsproj" />
</ItemGroup>

Просмотреть файл

@ -12,9 +12,7 @@
<DefineConstants>$(DefineConstants);LOCALIZATION_FSBUILD</DefineConstants>
<NoWarn>NU1701;FS0075</NoWarn>
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
<LangVersion>5.0</LangVersion> <!-- FSharp.Build may run in Visual Studio with older FSharp.Cores so don't use unshipped features -->
<LangVersion>6.0</LangVersion>
<LangVersion>6.0</LangVersion> <!-- FSharp.Build may run in Visual Studio with older FSharp.Cores so don't use unshipped features -->
<LangVersion>7.0</LangVersion> <!-- FSharp.Build may run in Visual Studio with older FSharp.Cores so don't use unshipped features -->
<Configurations>Debug;Release;Proto</Configurations> <!-- FSharp.Build may run in Visual Studio with older FSharp.Cores so don't use unshipped features -->
</PropertyGroup>
@ -22,7 +20,11 @@
<PropertyGroup Condition="'$(Configuration)' != 'Proto'">
<CompressMetadata Condition="'$(CompressAllMetadata)' != 'true'">false</CompressMetadata>
<NoOptimizationData>true</NoOptimizationData>
<CompressMetadata Condition="'$(CompressAllMetadata)' != 'true'">false</CompressMetadata>
</PropertyGroup>
<PropertyGroup Condition="'$(BUILDING_USING_DOTNET)' == 'true'">
<OutputPath>$(ArtifactsDir)/bin/$(MSBuildProjectName)/$(Configuration)/</OutputPath>
<IntermediateOutputPath>$(ArtifactsDir)obj/$(MSBuildProjectName)/$(Configuration)/</IntermediateOutputPath>
</PropertyGroup>
<ItemGroup>
@ -63,10 +65,14 @@
<None Include="Microsoft.FSharp.Overrides.NetSdk.targets" CopyToOutputDirectory="PreserveNewest" />
</ItemGroup>
<ItemGroup Condition="">
<ItemGroup Condition="'$(FSHARPCORE_USE_PACKAGE)' != 'true'">
<ProjectReference Include="$(MSBuildThisFileDirectory)..\FSharp.Core\FSharp.Core.fsproj" />
</ItemGroup>
<ItemGroup Condition="'$(FSHARPCORE_USE_PACKAGE)' == 'true'">
<PackageReference Include="FSharp.Core" Version="$(FSharpCoreShippedPackageVersionValue)" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Build.Framework" Version="$(MicrosoftBuildFrameworkVersion)" />
<PackageReference Include="Microsoft.Build.Tasks.Core" Version="$(MicrosoftBuildTasksCoreVersion)" />

Просмотреть файл

@ -14,6 +14,12 @@
<CompressMetadata Condition="'$(CompressAllMetadata)' != 'true'">false</CompressMetadata>
</PropertyGroup>
<!-- If building FCS solution directly, set paths explicitly -->
<PropertyGroup Condition="'$(BUILDING_USING_DOTNET)' == 'true'">
<OutputPath>$(ArtifactsDir)/bin/$(MSBuildProjectName)/$(Configuration)/</OutputPath>
<IntermediateOutputPath>$(ArtifactsDir)obj/$(MSBuildProjectName)/$(Configuration)/</IntermediateOutputPath>
</PropertyGroup>
<ItemGroup>
<InternalsVisibleTo Include="fsi" />
<InternalsVisibleTo Include="fsiAnyCpu" />

Просмотреть файл

@ -44,6 +44,12 @@
<CompressMetadata Condition="'$(CompressAllMetadata)' != 'true'">false</CompressMetadata>
</PropertyGroup>
<!-- When we build FCS solution and we include FSCore as reference, set path explicitly -->
<PropertyGroup Condition="'$(BUILDING_USING_DOTNET)' == 'true'">
<OutputPath>$(ArtifactsDir)/bin/$(MSBuildProjectName)/$(Configuration)/</OutputPath>
<IntermediateOutputPath>$(ArtifactsDir)obj/$(MSBuildProjectName)/$(Configuration)/</IntermediateOutputPath>
</PropertyGroup>
<ItemGroup>
<EmbeddedResource Update="FSCore.resx">
<GenerateSource>true</GenerateSource>

Просмотреть файл

@ -7,4 +7,9 @@
<DebugType>portable</DebugType>
</PropertyGroup>
<!-- Do it the same way .NET Interactive does it, when skipping arcade, we should include test SDK explicitly -->
<ItemGroup Condition="($(MSBuildProjectName.EndsWith('.Tests')) OR $(MSBuildProjectName.EndsWith('.ComponentTests')) OR $(MSBuildProjectName.EndsWith('.UnitTests'))) AND '$(DISABLE_ARCADE)' == 'true'">
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="$(MicrosoftNETTestSdkVersion)" />
</ItemGroup>
</Project>

Просмотреть файл

@ -4,7 +4,7 @@
<PropertyGroup>
<TargetFrameworks>net472;net7.0</TargetFrameworks>
<TargetFrameworks Condition="'$(OS)' == 'Unix'">net7.0</TargetFrameworks>
<TargetFrameworks Condition="'$(OS)' == 'Unix' or '$(BUILDING_USING_DOTNET)' == 'true'">net7.0</TargetFrameworks>
<OutputType>Library</OutputType>
<GenerateProgramFile>false</GenerateProgramFile>
<DisableImplicitFSharpCoreReference>true</DisableImplicitFSharpCoreReference>
@ -19,8 +19,6 @@
<DefineConstants Condition="'$(Configuration)'=='debug'">$(DefineConstants);DEBUG</DefineConstants>
<!-- allow testing of static methods in interfaces on .NET 6 -->
<EnablePreviewFeatures>true</EnablePreviewFeatures>
<!-- allow testing of static methods in interfaces on .NET 6 -->
</PropertyGroup>
<ItemGroup>

Просмотреть файл

@ -4,7 +4,7 @@
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFrameworks>net472;net7.0</TargetFrameworks>
<TargetFrameworks Condition="'$(OS)' == 'Unix'">net7.0</TargetFrameworks>
<TargetFrameworks Condition="'$(OS)' == 'Unix' or '$(BUILDING_USING_DOTNET)' == 'true'">net7.0</TargetFrameworks>
<!-- Workaround to get rid of:
error NU1505: Duplicate 'PackageDownload' items found.
Remove the duplicate items or use the Update functionality to ensure a consistent restore behavior.

Просмотреть файл

@ -2,7 +2,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks Condition="'$(OS)' != 'Unix'">net472;net7.0</TargetFrameworks>
<TargetFrameworks Condition="'$(OS)' == 'Unix'">net7.0</TargetFrameworks>
<TargetFrameworks Condition="'$(OS)' == 'Unix' or '$(BUILDING_USING_DOTNET)' == 'true'">net7.0</TargetFrameworks>
<RuntimeIdentifiers>win-x86;win-x64;linux-x64;osx-x64</RuntimeIdentifiers>
<AssetTargetFallback>$(AssetTargetFallback);portable-net45+win8+wp8+wpa81</AssetTargetFallback>
<ReferenceVsAssemblies>true</ReferenceVsAssemblies>
@ -36,13 +36,21 @@
<ProjectReference Include="$(FSharpSourcesRoot)\Compiler\FSharp.Compiler.Service.fsproj" />
</ItemGroup>
<ItemGroup Condition="'$(SolutionName)' != 'FSharp.Compiler.Service'">
<ItemGroup Condition="'$(FSHARPCORE_USE_PACKAGE)' != 'true'">
<ProjectReference Include="$(FSharpSourcesRoot)\FSharp.Core\FSharp.Core.fsproj" />
</ItemGroup>
<ItemGroup Condition="'$(FSHARPCORE_USE_PACKAGE)' == 'true'">
<PackageReference Include="FSharp.Core" Version="$(FSharpCoreShippedPackageVersionValue)" />
</ItemGroup>
<ItemGroup Condition="'$(BUILDING_USING_DOTNET)' == 'true'">
<!-- CompilerAssert dependencies.
Make sure they are getting built with the Utilities. -->
<ProjectReference Include="$(FSharpSourcesRoot)\FSharp.Core\FSharp.Core.fsproj" />
<ProjectReference Include="$(FSharpSourcesRoot)\FSharp.Build\FSharp.Build.fsproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="NUnit" Version="$(NUnitVersion)" /> <!-- TODO: This should be removed once all NUnit frameworks are migrated to xUnit -->
<PackageReference Include="xunit" Version="$(XUnitVersion)" />