Skip to content

Commit b394211

Browse files
committed
integrate visualfsharp master
2 parents 99b1568 + ee938a7 commit b394211

File tree

104 files changed

+4426
-3104
lines changed

Some content is hidden

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

104 files changed

+4426
-3104
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,8 @@ scripts/*.patch
6363
/tests/fsharpqa/Source/CodeGen/EmittedIL/StaticInit/StaticInit_Module01.dll
6464
/tests/fsharpqa/Source/CodeGen/EmittedIL/StaticInit/StaticInit_Module01.pdb
6565
/tests/Xnet40-fsharpqa-suite-failures.log.*
66+
/tests/fsharp/typeProviders/splitAssemblyTools/provider.dll
67+
/tests/fsharp/typeProviders/splitAssemblyTypeproviders/provider.dll
6668
/vsintegration/src/service/FsPkgs/FSharp.Project/FS/FSharp.ProjectSystem.FSharp.fsi
6769
/vsintegration/src/service/FsPkgs/FSharp.Project/FS/ctofiles/
6870
/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Utils.dll

PublishToBlob.proj

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@
1616
<Import Project="$(MSBuildThisFileDirectory)packages\$(FeedTasksPackage).$(FeedTasksPackageVersion)\build\$(FeedTasksPackage).targets" />
1717

1818
<ItemGroup>
19-
<NuGetPackages Include="$(MSBuildThisFileDirectory)artifacts\Microsoft.FSharp.Compiler.*.nupkg" />
19+
<!-- this should pick up both *.nupkg and *.symbols.nupkg -->
20+
<NuGetPackages Include="$(MSBuildThisFileDirectory)$(Configuration)\artifacts\Microsoft.FSharp.Compiler.*.nupkg" />
2021
</ItemGroup>
2122

2223
<Target Name="Build">

fcs/FSharp.Compiler.Service.MSBuild.v12/FSharp.Compiler.Service.MSBuild.v12.fsproj

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@
2626
</Compile>
2727
</ItemGroup>
2828
<ItemGroup>
29+
<Reference Include="System.Runtime" />
30+
<Reference Include="System.IO" />
2931
<PackageReference Include="FSharp.Core" Version="4.1.*" />
3032
<ProjectReference Include="..\FSharp.Compiler.Service\FSharp.Compiler.Service.fsproj" />
3133
<Reference Include="Microsoft.Build.Framework, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
@@ -48,5 +50,18 @@
4850
<HintPath>$(FSharpSourcesRoot)\..\fcs\dependencies\MSBuild.v12.0\Microsoft.Build.Tasks.v12.0.dll</HintPath>
4951
<Private>false</Private>
5052
</Reference>
53+
<!-- we build the nuget against FSHarp.Core 4.4.0.0 instead of our latest to allow use in wider range of F# tools -->
54+
<Reference Include="FSharp.Core">
55+
<HintPath>$(FSharpSourcesRoot)\..\packages\Microsoft.Portable.FSharp.Core.$(FSharpCoreFrozenPortablePackageVersion)\lib\profiles\net40\FSharp.Core.dll</HintPath>
56+
<Private>false</Private>
57+
</Reference>
58+
</ItemGroup>
59+
<ItemGroup>
60+
<ProjectReference Include="..\FSharp.Compiler.Service\FSharp.Compiler.Service.fsproj">
61+
<Name>FSharp.Compiler.Service</Name>
62+
<Project>{2e4d67b4-522d-4cf7-97e4-ba940f0b18f3}</Project>
63+
<Private>True</Private>
64+
</ProjectReference>
65+
<ProjectReference Include="..\FSharp.Compiler.Service\FSharp.Compiler.Service.fsproj" />
5166
</ItemGroup>
5267
</Project>

fcs/FSharp.Compiler.Service.ProjectCracker/FSharp.Compiler.Service.ProjectCracker.fsproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@
2828
<Content Include="..\..\release\fcs\net45\FSharp.Compiler.Service.ProjectCrackerTool.exe.config" PackagePath="utilities\net45" />
2929
</ItemGroup>
3030
<ItemGroup>
31+
<Reference Include="System.Runtime" />
32+
<Reference Include="System.IO" />
3133
<PackageReference Include="FSharp.Core" Version="4.1.*" />
3234
<ProjectReference Include="..\FSharp.Compiler.Service\FSharp.Compiler.Service.fsproj" />
3335
</ItemGroup>

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ module Utils =
3838

3939
logMap := Map.add opts.ProjectFile opts.LogOutput !logMap
4040
{ ProjectFileName = opts.ProjectFile
41+
ProjectId = None
4142
SourceFiles = sourceFiles
4243
OtherOptions = otherOptions
4344
ReferencedProjects = referencedProjects()

fcs/FSharp.Compiler.Service.ProjectCrackerTool/FSharp.Compiler.Service.ProjectCrackerTool.fsproj

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,13 @@
2121
<Compile Include="Program.fs" />
2222
<None Include="App.config" />
2323
<None Include="FSharp.Compiler.Service.ProjectCracker.targets" />
24+
<None Include="paket.references" />
25+
<Reference Include="System.Runtime" />
26+
<Reference Include="System.IO" />
27+
<Reference Include="FSharp.Core">
28+
<HintPath>$(FSharpSourcesRoot)\..\packages\Microsoft.Portable.FSharp.Core.$(FSharpCoreFrozenPortablePackageVersion)\lib\profiles\net40\FSharp.Core.dll</HintPath>
29+
<Private>false</Private>
30+
</Reference>
2431
<PackageReference Include="FSharp.Core" Version="4.1.*" />
2532
<Reference Include="Microsoft.Build.Framework, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
2633
<HintPath>$(FSharpSourcesRoot)\..\fcs\dependencies\MSBuild.v12.0\Microsoft.Build.Framework.dll</HintPath>

fcs/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,8 @@
8080
</ItemGroup>
8181
<ItemGroup Condition="'$(TargetFramework)' == 'net46'">
8282
<Reference Include="mscorlib" />
83+
<Reference Include="System.Runtime" />
84+
<Reference Include="System.IO" />
8385
<Reference Include="System" />
8486
<Reference Include="System.Numerics" />
8587
<Reference Include="System.Windows.Forms" />
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
net4*/
2+
netstandard*/

fcs/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<Project Sdk="Microsoft.NET.Sdk">
1+
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
33
<FSharpSourcesRoot>$(MSBuildProjectDirectory)\..\..\src</FSharpSourcesRoot>
44
</PropertyGroup>
@@ -63,6 +63,12 @@
6363
<OtherFlags>--module Microsoft.FSharp.Compiler.Parser --open Microsoft.FSharp.Compiler --internal --lexlib Internal.Utilities.Text.Lexing --parslib Internal.Utilities.Text.Parsing</OtherFlags>
6464
<Link>pars.fsy</Link>
6565
</FsYacc>
66+
<Compile Include="$(FSharpSourcesRoot)/fsharp/Logger.fsi">
67+
<Link>Logger.fsi</Link>
68+
</Compile>
69+
<Compile Include="$(FSharpSourcesRoot)/fsharp/Logger.fs">
70+
<Link>Logger.fs</Link>
71+
</Compile>
6672
<Compile Include="$(FSharpSourcesRoot)/utils/reshapedreflection.fs">
6773
<Link>Reshaped/reshapedreflection.fs</Link>
6874
</Compile>
@@ -631,8 +637,6 @@
631637
<PackageReference Include="FSharp.Core" Version="4.1.*" />
632638
<PackageReference Include="System.Collections.Immutable" Version="1.3.1" />
633639
<PackageReference Include="System.Reflection.Metadata" Version="1.4.2" />
634-
<PackageReference Include="Microsoft.DiaSymReader.PortablePdb" Version="1.2.0" />
635-
<PackageReference Include="Microsoft.DiaSymReader" Version="1.1.0" />
636640
</ItemGroup>
637641
<ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0'">
638642
<PackageReference Include="System.Diagnostics.Process" Version="4.1.0" />
@@ -643,14 +647,14 @@
643647
<PackageReference Include="System.Security.Cryptography.Algorithms" Version="4.3.0" />
644648
</ItemGroup>
645649
<ItemGroup Condition="'$(TargetFramework)' == 'net45'">
646-
<Reference Include="System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
647-
<Reference Include="System.IO, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
650+
<Reference Include="System.Runtime" />
651+
<Reference Include="System.IO" />
648652
<Reference Include="ISymWrapper, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
649653
<Reference Include="System.ValueTuple">
650654
<HintPath>$(FSharpSourcesRoot)\..\packages\System.ValueTuple.4.4.0\lib\netstandard1.0\System.ValueTuple.dll</HintPath>
651655
</Reference>
652656
</ItemGroup>
653657
<Import Project="$(FSharpSourcesRoot)\scripts\fssrgen.targets" Condition="'$(TargetFramework)' != ''" />
654658
<Import Project="$(FSharpSourcesRoot)\..\packages\FsLexYacc.7.0.6\build\FsLexYacc.targets" Condition="'$(TargetFramework)' != '' AND Exists('$(FSharpSourcesRoot)\..\packages\FsLexYacc.7.0.6\build\FsLexYacc.targets')" />
655-
<Target Name="GenerateCode" AfterTargets="Restore" BeforeTargets="BeforeBuild" DependsOnTargets="CallFsLex;CallFsYacc;ProcessFsSrGen" Condition="'$(TargetFramework)' != ''"></Target>
659+
<Target Name="GenerateCode" AfterTargets="Restore" BeforeTargets="BeforeBuild" DependsOnTargets="CallFsLex;CallFsYacc;ProcessFsSrGen" Condition="'$(TargetFramework)' != ''"></Target>
656660
</Project>

fcs/README.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11

22

3-
# The FSharp.Compiler.Service components and nuget package
3+
# The FSharp.Compiler.Service components and NuGet package
44

5-
This directory contains the build, packaging, test and documentation-generation logic for the nuget package ``FSharp.Compiler.Service``. The source for this nuget
5+
This directory contains the build, packaging, test and documentation-generation logic for the NuGet package ``FSharp.Compiler.Service``. The source for this NuGet
66
package is in ``..\src``.
77

8-
Basically we are packaging up the compiler as a DLL and publishing it as a nuget package.
8+
Basically we are packaging up the compiler as a DLL and publishing it as a NuGet package.
99

1010
## FSharp.Compiler.Service v. FSharp.Compiler.Private
1111

1212
There are subtle differences between FSharp.Compiler.Service and FSharp.Compiler.Private (shipped with the Visual F# Tools)
1313

1414
- FCS has a public API
1515
- FCS is built against **.NET 4.5** and **FSharp.Core 4.0.0.0** to give broader reach
16-
- FCS has a Nuget package
16+
- FCS has a NuGet package
1717
- FCS has a .NET Standard 1.6 version in the nuget package
1818
- FCS testing also tests the "Project Cracker" (see below)
1919
- FCS doesn't add the System.ValueTuple.dll reference by default, see ``#if COMPILER_SERVICE_AS_DLL`` in compiler codebase
@@ -57,17 +57,17 @@ which does things like:
5757

5858
### Manual push of packages
5959

60-
Yu can push the packages if you have permissions, either automatically using ``build Release`` or manually
60+
You can push the packages if you have permissions, either automatically using ``build Release`` or manually
6161

6262
set APIKEY=...
63-
..\fsharp\.nuget\nuget.exe push %HOMEDRIVE%%HOMEPATH%\Downloads\FSharp.Compiler.Service.22.0.2.nupkg %APIKEY% -Source https://nuget.org
64-
..\fsharp\.nuget\nuget.exe push %HOMEDRIVE%%HOMEPATH%\Downloads\FSharp.Compiler.Service.MSBuild.v12.22.0.2.nupkg %APIKEY% -Source https://nuget.org
65-
..\fsharp\.nuget\nuget.exe push %HOMEDRIVE%%HOMEPATH%\Downloads\FSharp.Compiler.Service.ProjectCracker.22.0.2.nupkg %APIKEY% -Source https://nuget.org
63+
..\fsharp\.nuget\nuget.exe push %HOMEDRIVE%%HOMEPATH%\Downloads\FSharp.Compiler.Service.22.0.3.nupkg %APIKEY% -Source https://nuget.org
64+
..\fsharp\.nuget\nuget.exe push %HOMEDRIVE%%HOMEPATH%\Downloads\FSharp.Compiler.Service.MSBuild.v12.22.0.3.nupkg %APIKEY% -Source https://nuget.org
65+
..\fsharp\.nuget\nuget.exe push %HOMEDRIVE%%HOMEPATH%\Downloads\FSharp.Compiler.Service.ProjectCracker.22.0.3.nupkg %APIKEY% -Source https://nuget.org
6666

6767

6868
### Use of Paket and FAKE
6969

70-
Paket is only used to get fake and formating tools. Eventually we will likely remove this once we update the project files to .NET SDK 2.0.
70+
Paket is only used to get FAKE and FSharp.Formatting tools. Eventually we will likely remove this once we update the project files to .NET SDK 2.0.
7171

7272
FAKE is only used to run build.fsx. Eventually we will likely remove this once we update the project files to .NET SDK 2.0.
7373

@@ -83,7 +83,7 @@ Testing reuses the test files from ..\tests\service which were are also FCS test
8383
Output is in ``docs``. In the ``FSharp.Compiler.Service`` repo this is checked in and hosted as http://fsharp.github.io/FSharp.Compiler.Service.
8484

8585

86-
## The two other nuget packages
86+
## The two other NuGet packages
8787

8888
It also contains both the source, build, packaging and test logic for
8989

0 commit comments

Comments
 (0)