Skip to content

Commit 88e5f8e

Browse files
authored
Merge pull request #888 from baronfel/anonymous-records-in-fcs
Merge in visualfsharp master, including better FCS support for Anonymous records
2 parents 379e1c1 + 1257ce8 commit 88e5f8e

File tree

244 files changed

+3963
-3483
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

244 files changed

+3963
-3483
lines changed

.vsts-pr.yaml

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,11 @@ jobs:
44
vmImage: ubuntu-16.04
55
timeoutInMinutes: 90
66
strategy:
7-
maxParallel: 2
7+
maxParallel: 3
88
matrix:
99
dotnet_sdk:
1010
_command: make
1111
_args: Configuration=release
12-
# disabled until it can be properly fixed
1312
release_fcs:
1413
_command: ./fcs/build.sh
1514
_args: Build
@@ -23,6 +22,29 @@ jobs:
2322
continueOnError: true
2423
condition: failed()
2524

25+
- job: MacOS
26+
pool:
27+
vmImage: macOS-10.13
28+
timeoutInMinutes: 90
29+
strategy:
30+
maxParallel: 3
31+
matrix:
32+
dotnet_sdk:
33+
_command: make
34+
_args: Configuration=release
35+
release_fcs:
36+
_command: ./fcs/build.sh
37+
_args: Build
38+
steps:
39+
- script: $(_command) $(_args)
40+
- task: PublishBuildArtifacts@1
41+
inputs:
42+
PathtoPublish: '$(Build.SourcesDirectory)/artifacts/TestResults'
43+
ArtifactName: 'MacOS $(_command) $(_args)'
44+
publishLocation: Container
45+
continueOnError: true
46+
condition: failed()
47+
2648
- job: Windows
2749
pool:
2850
vmImage: vs2017-win2016

FSharpBuild.Directory.Build.props

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,22 +25,38 @@
2525

2626
<!-- nuget -->
2727
<PropertyGroup>
28+
<!-- Point to artifacts folder as an additional nuget package source -->
29+
<RestoreAdditionalProjectSources Condition = "Exists('$(ArtifactsPackagesDir)') and '$(RestoreAdditionalProjectSources)' != ''">$(RestoreAdditionalProjectSources);$(ArtifactsPackagesDir)</RestoreAdditionalProjectSources>
30+
<RestoreAdditionalProjectSources Condition = "Exists('$(ArtifactsPackagesDir)') and '$(RestoreAdditionalProjectSources)' == ''">$(ArtifactsPackagesDir)</RestoreAdditionalProjectSources>
31+
2832
<!-- default NuGet package restore location -->
2933
<NuGetPackageRoot Condition="'$(NuGetPackageRoot)' == ''">$(NUGET_PACKAGES)</NuGetPackageRoot>
3034
<NuGetPackageRoot Condition="'$(NuGetPackageRoot)' == '' AND '$(OS)' == 'Windows_NT'">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
3135
<NuGetPackageRoot Condition="'$(NuGetPackageRoot)' == '' AND '$(OS)' != 'Windows_NT'">$(HOME)/.nuget/packages/</NuGetPackageRoot>
36+
3237
<!-- ensure there is a trailing slash -->
3338
<NuGetPackageRoot Condition="!HasTrailingSlash('$(NuGetPackageRoot)') AND '$(OS)' == 'Windows_NT'">$(NuGetPackageRoot)\</NuGetPackageRoot>
3439
<NuGetPackageRoot Condition="!HasTrailingSlash('$(NuGetPackageRoot)') AND '$(OS)' != 'Windows_NT'">$(NuGetPackageRoot)/</NuGetPackageRoot>
40+
3541
<!-- ensure all NuGet packages come from the `$(NuGetPackageRoot)` variable -->
3642
<DisableImplicitNuGetFallbackFolder>true</DisableImplicitNuGetFallbackFolder>
3743
</PropertyGroup>
3844

3945
<!-- mono -->
4046
<PropertyGroup Condition="'$(OS)' == 'Unix'">
47+
<MonoRoot Condition="'$(MonoRoot)' == '' and $([MSBuild]::IsOsPlatform('Linux'))">/usr</MonoRoot>
48+
<MonoRoot Condition="'$(MonoRoot)' == '' and $([MSBuild]::IsOsPlatform('OSX'))">/Library/Frameworks/Mono.framework/Versions/Current</MonoRoot>
49+
<MonoLibFolder>$(MonoRoot)/lib/mono</MonoLibFolder>
4150
<MonoPackaging Condition="$(TargetFramework.StartsWith('net4'))">true</MonoPackaging>
42-
<FrameworkPathOverride Condition="'$(TargetFramework)' == 'net45'">/usr/lib/mono/4.5-api</FrameworkPathOverride>
43-
<FrameworkPathOverride Condition="'$(TargetFramework)' == 'net46'">/usr/lib/mono/4.6-api</FrameworkPathOverride>
51+
<FrameworkPathOverride Condition="'$(TargetFramework)' == 'net45'">$(MonoLibFolder)/4.5-api</FrameworkPathOverride>
52+
<FrameworkPathOverride Condition="'$(TargetFramework)' == 'net451'">$(MonoLibFolder)/4.5.1-api</FrameworkPathOverride>
53+
<FrameworkPathOverride Condition="'$(TargetFramework)' == 'net452'">$(MonoLibFolder)/4.5.2-api</FrameworkPathOverride>
54+
<FrameworkPathOverride Condition="'$(TargetFramework)' == 'net46'">$(MonoLibFolder)/4.6-api</FrameworkPathOverride>
55+
<FrameworkPathOverride Condition="'$(TargetFramework)' == 'net461'">$(MonoLibFolder)/4.6.1-api</FrameworkPathOverride>
56+
<FrameworkPathOverride Condition="'$(TargetFramework)' == 'net462'">$(MonoLibFolder)/4.6.2-api</FrameworkPathOverride>
57+
<FrameworkPathOverride Condition="'$(TargetFramework)' == 'net47'">$(MonoLibFolder)/4.7-api</FrameworkPathOverride>
58+
<FrameworkPathOverride Condition="'$(TargetFramework)' == 'net471'">$(MonoLibFolder)/4.7.1-api</FrameworkPathOverride>
59+
<FrameworkPathOverride Condition="'$(TargetFramework)' == 'net472'">$(MonoLibFolder)/4.7.2-api</FrameworkPathOverride>
4460
</PropertyGroup>
4561

4662
<!-- signing -->
@@ -51,6 +67,7 @@
5167
<StrongNames>true</StrongNames>
5268
<DelaySign>true</DelaySign>
5369
</PropertyGroup>
70+
5471
<PropertyGroup Condition="'$(MonoPackaging)' == 'true'">
5572
<AssemblyOriginatorKeyFile>$(FSharpSourcesRoot)\fsharp\test.snk</AssemblyOriginatorKeyFile>
5673
<DelaySign>false</DelaySign>

benchmarks/CompilerServiceBenchmarks/Program.fs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
open System.IO
33
open BenchmarkDotNet.Attributes
44
open BenchmarkDotNet.Running
5-
open Microsoft.FSharp.Compiler.ErrorLogger
6-
open Microsoft.FSharp.Compiler.SourceCodeServices
5+
open FSharp.Compiler.ErrorLogger
6+
open FSharp.Compiler.SourceCodeServices
77
open System.Text
88

99
[<ClrJob(baseline = true)>]

build/targets/AssemblyVersions.props

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@
2121
<_Build_Number>$(BUILD_BUILDNUMBER.Substring(9))</_Build_Number>
2222
<Build_FileVersion>$(_Build_Year).$(_Build_Month).$(_Build_Day).$(_Build_Number)</Build_FileVersion>
2323

24-
<FSCoreMajorVersion>4.5</FSCoreMajorVersion>
24+
<FSLanguageVersion>4.5</FSLanguageVersion>
25+
<FSCoreMajorVersion>$(FSLanguageVersion)</FSCoreMajorVersion>
2526
<FSCorePackageVersion>$(FSCoreMajorVersion).5</FSCorePackageVersion>
2627
<FSCoreVersion>$(FSCoreMajorVersion).0.0</FSCoreVersion>
2728

build/targets/ConvertPortablePdbs.targets

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,18 @@
77
<Target Name="ConvertPortablePdbs"
88
AfterTargets="AfterBuild"
99
Condition="'$(OS)' != 'Unix' AND
10+
'$(SkipPDBConversion)' != 'true' AND
1011
Exists('$(TargetPath)') AND
1112
('$(DebugType)' == 'portable' OR '$(DebugType)' == 'embedded') AND
12-
$(TargetFramework.StartsWith('net4')) AND
13+
$(TargetFramework.StartsWith('net')) AND
1314
'$(Configuration)' != 'Proto'">
1415
<PropertyGroup>
16+
<ConvertedPdbsDirectory>$(SymStoreDirectory)\$(TargetFramework)</ConvertedPdbsDirectory>
1517
<PdbConverterExe>$(NuGetPackageRoot)Pdb2Pdb\$(Pdb2PdbPackageVersion)\tools\Pdb2Pdb.exe</PdbConverterExe>
16-
<PdbConverterArgs>"$(TargetPath)" /out "$(SymStoreDirectory)\$(TargetName).pdb" /srcsvrvar SRC_INDEX=public</PdbConverterArgs>
18+
<PdbConverterArgs>"$(TargetPath)" /out "$(ConvertedPdbsDirectory)\$(TargetName).pdb" /srcsvrvar SRC_INDEX=public</PdbConverterArgs>
1719
</PropertyGroup>
1820

19-
<MakeDir Directories="$(SymStoreDirectory)" />
21+
<MakeDir Directories="$(ConvertedPdbsDirectory)" />
2022
<Exec Command='"$(PdbConverterExe)" $(PdbConverterArgs)' />
2123
</Target>
2224

fcs/FSharp.Compiler.Service.ProjectCracker/ProjectCracker.fs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
namespace Microsoft.FSharp.Compiler.SourceCodeServices
1+
namespace FSharp.Compiler.SourceCodeServices
22

33
#if !NETSTANDARD1_6
44
open System.Runtime.Serialization.Json
@@ -69,7 +69,7 @@ type ProjectCracker =
6969
yield v
7070
|]
7171

72-
let ret, opts = Microsoft.FSharp.Compiler.SourceCodeServices.ProjectCrackerTool.ProjectCrackerTool.crackOpen arguments
72+
let ret, opts = FSharp.Compiler.SourceCodeServices.ProjectCrackerTool.ProjectCrackerTool.crackOpen arguments
7373
ignore ret
7474
#else
7575
let arguments = new StringBuilder()

fcs/FSharp.Compiler.Service.ProjectCrackerTool/Program.fs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
namespace Microsoft.FSharp.Compiler.SourceCodeServices.ProjectCrackerTool
1+
namespace FSharp.Compiler.SourceCodeServices.ProjectCrackerTool
22

33
open System
44
open System.Reflection

fcs/FSharp.Compiler.Service.ProjectCrackerTool/ProjectCrackerOptions.fs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
namespace Microsoft.FSharp.Compiler.SourceCodeServices.ProjectCrackerTool
1+
namespace FSharp.Compiler.SourceCodeServices.ProjectCrackerTool
22

33
[<CLIMutable>]
44
type ProjectOptions =

fcs/FSharp.Compiler.Service.ProjectCrackerTool/ProjectCrackerTool.fs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
namespace Microsoft.FSharp.Compiler.SourceCodeServices.ProjectCrackerTool
1+
namespace FSharp.Compiler.SourceCodeServices.ProjectCrackerTool
22

33
open System
44
open System.IO
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<RunSettings>
3+
<!-- Configurations that affect the Test Framework -->
4+
<RunConfiguration>
5+
<MaxCpuCount>1</MaxCpuCount>
6+
</RunConfiguration>
7+
8+
</RunSettings>

0 commit comments

Comments
 (0)