Skip to content

Commit

Permalink
update FCS dependencies (#6388)
Browse files Browse the repository at this point in the history
* update FCS dependencies

* update FCS dependencies

* fix up build

* code review
  • Loading branch information
dsyme authored and KevinRansom committed Mar 29, 2019
1 parent 4d33579 commit f1aee5f
Show file tree
Hide file tree
Showing 48 changed files with 100 additions and 97 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<Import Project="..\fcs.props" />
<Import Project="..\netfx.props" />
<PropertyGroup>
<TargetFrameworks>net45</TargetFrameworks>
<TargetFrameworks>net461</TargetFrameworks>
<DisableImplicitFSharpCoreReference>true</DisableImplicitFSharpCoreReference>
<DefineConstants>$(DefineConstants);CROSS_PLATFORM_COMPILER</DefineConstants>
<DefineConstants>$(DefineConstants);ENABLE_MONO_SUPPORT</DefineConstants>
Expand All @@ -28,7 +28,7 @@
<ItemGroup>
<Reference Include="System.Runtime" />
<Reference Include="System.IO" />
<PackageReference Include="FSharp.Core" Version="4.5.2" />
<PackageReference Include="FSharp.Core" Version="4.6.2" />
<ProjectReference Include="..\FSharp.Compiler.Service\FSharp.Compiler.Service.fsproj" />
<Reference Include="Microsoft.Build.Framework, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<HintPath>$(FSharpSourcesRoot)\..\fcs\dependencies\MSBuild.v12.0\Microsoft.Build.Framework.dll</HintPath>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<Import Project="..\fcs.props" />
<Import Project="..\netfx.props" />
<PropertyGroup>
<TargetFrameworks>net45</TargetFrameworks>
<TargetFrameworks>net461</TargetFrameworks>
<DisableImplicitFSharpCoreReference>true</DisableImplicitFSharpCoreReference>
</PropertyGroup>
<PropertyGroup>
Expand All @@ -20,14 +20,14 @@
<Link>ProjectCrackerOptions.fs</Link>
</Compile>
<Compile Include="ProjectCracker.fs" />
<Content Include="..\FSharp.Compiler.Service.ProjectCrackerTool\FSharp.Compiler.Service.ProjectCracker.targets" PackagePath="build\net45" />
<Content Include="$(ArtifactsBinDir)\fcs\net45\FSharp.Compiler.Service.ProjectCrackerTool.exe" PackagePath="utilities\net45" />
<Content Include="$(ArtifactsBinDir)\fcs\net45\FSharp.Compiler.Service.ProjectCrackerTool.exe.config" PackagePath="utilities\net45" />
<Content Include="..\FSharp.Compiler.Service.ProjectCrackerTool\FSharp.Compiler.Service.ProjectCracker.targets" PackagePath="build\net461" />
<Content Include="$(ArtifactsBinDir)\fcs\net461\FSharp.Compiler.Service.ProjectCrackerTool.exe" PackagePath="utilities\net461" />
<Content Include="$(ArtifactsBinDir)\fcs\net461\FSharp.Compiler.Service.ProjectCrackerTool.exe.config" PackagePath="utilities\net461" />
</ItemGroup>
<ItemGroup>
<Reference Include="System.Runtime" />
<Reference Include="System.IO" />
<PackageReference Include="FSharp.Core" Version="4.5.2" />
<PackageReference Include="FSharp.Core" Version="4.6.2" />
<ProjectReference Include="..\FSharp.Compiler.Service\FSharp.Compiler.Service.fsproj" />
</ItemGroup>
</Project>
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="ProjectCrackerToolCopy" AfterTargets="Build">
<Copy SourceFiles="$(MSBuildThisFileDirectory)\..\..\utilities\net45\FSharp.Compiler.Service.ProjectCrackerTool.exe" DestinationFolder="$(OutputPath)" />
<Copy SourceFiles="$(MSBuildThisFileDirectory)\..\..\utilities\net45\FSharp.Compiler.Service.ProjectCrackerTool.exe.config" DestinationFolder="$(OutputPath)" />
<Copy SourceFiles="$(MSBuildThisFileDirectory)\..\..\utilities\net461\FSharp.Compiler.Service.ProjectCrackerTool.exe" DestinationFolder="$(OutputPath)" />
<Copy SourceFiles="$(MSBuildThisFileDirectory)\..\..\utilities\net461\FSharp.Compiler.Service.ProjectCrackerTool.exe.config" DestinationFolder="$(OutputPath)" />
</Target>
</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<Import Project="..\netfx.props" />
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFrameworks>net45</TargetFrameworks>
<TargetFrameworks>net461</TargetFrameworks>
<DisableImplicitFSharpCoreReference>true</DisableImplicitFSharpCoreReference>
<DefineConstants>$(DefineConstants);CROSS_PLATFORM_COMPILER</DefineConstants>
<DefineConstants>$(DefineConstants);ENABLE_MONO_SUPPORT</DefineConstants>
Expand All @@ -23,7 +23,7 @@
<None Include="paket.references" />
<Reference Include="System.Runtime" />
<Reference Include="System.IO" />
<PackageReference Include="FSharp.Core" Version="4.5.2" />
<PackageReference Include="FSharp.Core" Version="4.6.2" />
<Reference Include="Microsoft.Build.Framework, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<HintPath>$(FSharpSourcesRoot)\..\fcs\dependencies\MSBuild.v12.0\Microsoft.Build.Framework.dll</HintPath>
<Private>false</Private>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\netfx.props" />
<PropertyGroup>
<TargetFrameworks>net45;netstandard2.0</TargetFrameworks>
<TargetFrameworks>net461;netstandard2.0</TargetFrameworks>
<IsPackable>false</IsPackable>
<NoWarn>$(NoWarn);0067;1591</NoWarn>
</PropertyGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<Import Project="..\fcs.props" />
<Import Project="..\netfx.props" />
<PropertyGroup>
<TargetFrameworks>net46;netcoreapp2.0</TargetFrameworks>
<TargetFrameworks>net461;netcoreapp2.0</TargetFrameworks>
<DisableImplicitFSharpCoreReference>true</DisableImplicitFSharpCoreReference>
<NoWarn>$(NoWarn);44;75;</NoWarn>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
Expand Down Expand Up @@ -78,15 +78,15 @@
<None Include="App.config" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="FSharp.Core" Version="4.5.2" />
<PackageReference Include="FSharp.Core" Version="4.6.2" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.6.0" />
<PackageReference Include="NUnit" Version="3.9.0" />
<PackageReference Include="NUnit3TestAdapter" Version="3.9.0" />
<PackageReference Include="NunitXml.TestLogger" Version="2.1.36" />
<PackageReference Include="Dotnet.ProjInfo" Version="0.20.0" />
<ProjectReference Include="..\FSharp.Compiler.Service\FSharp.Compiler.Service.fsproj" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'net46'">
<ItemGroup Condition="'$(TargetFramework)' == 'net461'">
<Reference Include="mscorlib" />
<Reference Include="System.Runtime" />
<Reference Include="System.IO" />
Expand Down
6 changes: 3 additions & 3 deletions fcs/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<Import Project="..\netfx.props" />
<Import Project="..\..\src\buildtools\buildtools.targets" />
<PropertyGroup>
<TargetFrameworks>net45;netstandard2.0</TargetFrameworks>
<TargetFrameworks>net461;netstandard2.0</TargetFrameworks>
<DisableImplicitFSharpCoreReference>true</DisableImplicitFSharpCoreReference>
<DefineConstants>$(DefineConstants);COMPILER_SERVICE_AS_DLL</DefineConstants>
<DefineConstants>$(DefineConstants);COMPILER</DefineConstants>
Expand Down Expand Up @@ -635,7 +635,7 @@
</Compile>
</ItemGroup>
<ItemGroup>
<PackageReference Include="FSharp.Core" Version="4.5.2" />
<PackageReference Include="FSharp.Core" Version="4.6.2" />
<PackageReference Include="System.Collections.Immutable" Version="1.5.0" />
<PackageReference Include="System.Reflection.Metadata" Version="1.6.0" />
</ItemGroup>
Expand All @@ -647,7 +647,7 @@
<PackageReference Include="System.Runtime.Loader" Version="4.0.0" />
<PackageReference Include="System.Security.Cryptography.Algorithms" Version="4.3.0" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'net45'">
<ItemGroup Condition="'$(TargetFramework)' == 'net461'">
<Reference Include="System.Runtime" />
<Reference Include="System.IO" />
<Reference Include="ISymWrapper, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
Expand Down
10 changes: 7 additions & 3 deletions fcs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,16 @@ Basically we are packaging up the compiler as a DLL and publishing it as a NuGet
There are subtle differences between FSharp.Compiler.Service and FSharp.Compiler.Private (shipped with the Visual F# Tools)

- FCS has a public API
- FCS is built against **.NET 4.5** and **FSharp.Core 4.0.0.0** to give broader reach

- FCS is built against **.NET 4.6.1** and **FSharp.Core NuGet 4.6.2** to give broader reach

- FCS has a NuGet package
- FCS has a .NET Standard 1.6 version in the nuget package

- FCS has a .NET Standard 2.0 version in the nuget package

- FCS testing also tests the "Project Cracker" (see below)
- FCS doesn't add the System.ValueTuple.dll reference by default, see ``#if COMPILER_SERVICE_AS_DLL`` in compiler codebase

- FCS doesn't add the System.ValueTuple.dll reference by default, see ``#if COMPILER_SERVICE_AS_DLL`` in compiler codebase

## Version Numbers

Expand Down
5 changes: 4 additions & 1 deletion fcs/RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
#### 23.0.1
* FSharp.Compiler.Service nuget now uses net461, netstandard2.0 and FSharp.Core 4.6.2

#### 22.0.3
* [Add entity.DeclaringEntity](https://github.com/Microsoft/visualfsharp/pull/4633), [FCS feature request](https://github.com/fsharp/FSharp.Compiler.Service/issues/830)

Expand All @@ -10,7 +13,7 @@

#### 21.0.1
* Use new .NET SDK project files
* FSharp.Compiler.Service nuget now uses net45 and netstandard2.0
* FSharp.Compiler.Service nuget now uses net461 and netstandard2.0
* FSharp.Compiler.Service netstandard2.0 now supports type providers

#### 19.0.1
Expand Down
2 changes: 1 addition & 1 deletion fcs/build.fsx
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ let dotnetExePath =
if File.Exists(pathToCli) then
pathToCli
else
DotNetCli.InstallDotNetSDK "2.1.504"
DotNetCli.InstallDotNetSDK "2.2.105"

let runDotnet workingDir args =
let result =
Expand Down
2 changes: 1 addition & 1 deletion fcs/docsrc/content/caches.fsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
(*** hide ***)
#I "../../../artifacts/bin/fcs/net45"
#I "../../../artifacts/bin/fcs/net461"
(**
Compiler Services: Notes on the FSharpChecker caches
=================================================
Expand Down
2 changes: 1 addition & 1 deletion fcs/docsrc/content/compiler.fsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
(*** hide ***)
#I "../../../artifacts/bin/fcs/net45"
#I "../../../artifacts/bin/fcs/net461"
(**
Hosted Compiler
===============
Expand Down
2 changes: 1 addition & 1 deletion fcs/docsrc/content/corelib.fsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
(*** hide ***)
#I "../../../artifacts/bin/fcs/net45"
#I "../../../artifacts/bin/fcs/net461"
(**
Compiler Services: Notes on FSharp.Core.dll
=================================================
Expand Down
2 changes: 1 addition & 1 deletion fcs/docsrc/content/editor.fsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
(*** hide ***)
#I "../../../artifacts/bin/fcs/net45"
#I "../../../artifacts/bin/fcs/net461"
(**
Compiler Services: Editor services
==================================
Expand Down
2 changes: 1 addition & 1 deletion fcs/docsrc/content/filesystem.fsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
(*** hide ***)
#I "../../../artifacts/bin/fcs/net45"
#I "../../../artifacts/bin/fcs/net461"
(**
Compiler Services: Virtualized File System
==========================================
Expand Down
2 changes: 1 addition & 1 deletion fcs/docsrc/content/interactive.fsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
(*** hide ***)
#I "../../../artifacts/bin/fcs/net45"
#I "../../../artifacts/bin/fcs/net461"
(**
Interactive Service: Embedding F# Interactive
=============================================
Expand Down
2 changes: 1 addition & 1 deletion fcs/docsrc/content/ja/compiler.fsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
(*** hide ***)
#I "../../../../artifacts/bin/fcs/net45"
#I "../../../../artifacts/bin/fcs/net461"
(**
コンパイラの組み込み
====================
Expand Down
2 changes: 1 addition & 1 deletion fcs/docsrc/content/ja/corelib.fsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
(*** hide ***)
#I "../../../../artifacts/bin/fcs/net45"
#I "../../../../artifacts/bin/fcs/net461"
(**
コンパイラサービス: FSharp.Core.dll についてのメモ
==================================================
Expand Down
2 changes: 1 addition & 1 deletion fcs/docsrc/content/ja/editor.fsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
(*** hide ***)
#I "../../../../artifacts/bin/fcs/net45"
#I "../../../../artifacts/bin/fcs/net461"
(**
コンパイラサービス: エディタサービス
====================================
Expand Down
2 changes: 1 addition & 1 deletion fcs/docsrc/content/ja/filesystem.fsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
(*** hide ***)
#I "../../../../artifacts/bin/fcs/net45"
#I "../../../../artifacts/bin/fcs/net461"
(**
コンパイラサービス: ファイルシステム仮想化
==========================================
Expand Down
2 changes: 1 addition & 1 deletion fcs/docsrc/content/ja/interactive.fsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
(*** hide ***)
#I "../../../../artifacts/bin/fcs/net45"
#I "../../../../artifacts/bin/fcs/net461"
(**
インタラクティブサービス: F# Interactiveの組み込み
==================================================
Expand Down
2 changes: 1 addition & 1 deletion fcs/docsrc/content/ja/project.fsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
(*** hide ***)
#I "../../../../artifacts/bin/fcs/net45"
#I "../../../../artifacts/bin/fcs/net461"
(**
コンパイラサービス: プロジェクトの分析
======================================
Expand Down
2 changes: 1 addition & 1 deletion fcs/docsrc/content/ja/symbols.fsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
(*** hide ***)
#I "../../../../artifacts/bin/fcs/net45"
#I "../../../../artifacts/bin/fcs/net461"
(**
コンパイラサービス: シンボルの処理
==================================
Expand Down
2 changes: 1 addition & 1 deletion fcs/docsrc/content/ja/tokenizer.fsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
(*** hide ***)
#I "../../../../artifacts/bin/fcs/net45"
#I "../../../../artifacts/bin/fcs/net461"
(**
コンパイラサービス:F#トークナイザを使用する
============================================
Expand Down
2 changes: 1 addition & 1 deletion fcs/docsrc/content/ja/untypedtree.fsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
(*** hide ***)
#I "../../../../artifacts/bin/fcs/net45"
#I "../../../../artifacts/bin/fcs/net461"
(**
コンパイラサービス:型無し構文木の処理
======================================
Expand Down
4 changes: 2 additions & 2 deletions fcs/docsrc/content/project.fsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
(*** hide ***)
#I "../../../artifacts/bin/fcs/net45"
#I "../../../artifacts/bin/fcs/net461"
(**
Compiler Services: Project Analysis
==================================
Expand Down Expand Up @@ -324,7 +324,7 @@ into the output folder of your application by the build process. If
you install using Paket or NuGet, then this will be configured for you
automatically. If not, you should reference the provided `.targets`
file manually in your application. This can be found in the NuGet
package at `build/net45/FSharp.Compiler.Service.ProjectCrackerTool.targets`.
package at `build/net461/FSharp.Compiler.Service.ProjectCrackerTool.targets`.
The reason for this split was so the analysis of an F# project
file is performed out of process, in order that the necessary assembly
Expand Down
2 changes: 1 addition & 1 deletion fcs/docsrc/content/queue.fsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
(*** hide ***)
#I "../../../artifacts/bin/fcs/net45"
#I "../../../artifacts/bin/fcs/net461"
(**
Compiler Services: Notes on the FSharpChecker operations queue
=================================================
Expand Down
10 changes: 5 additions & 5 deletions fcs/docsrc/content/react.fsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
(*** hide ***)
#I "../../../artifacts/bin/fcs/net45"
#I "../../../artifacts/bin/fcs/net461"
(**
Compiler Services: Reacting to Changes
============================================
Expand All @@ -19,7 +19,7 @@ referenced DLLs may change on disk, or referenced files may change.
The ``FSharpChecker`` component from FSharp.Compiler.Service does _not_ actively "listen"
to changes in the file system. However ``FSharpChecker`` _does_ repeatedly ask for
time stamps from the file system which it uses to decide if recomputation is needed.
FCS doesnt listen for changes directly - for example, it creates no ``FileWatcher`` object (and the
FCS doesn't listen for changes directly - for example, it creates no ``FileWatcher`` object (and the
``IFileSystem`` API has no ability to create such objects). This is partly for legacy reasons,
and partly because some hosts forbid the creation of FileWatcher objects.
Expand All @@ -33,7 +33,7 @@ stays up-to-date when changes are observed.
If you want to more actively listen for changes, then you should add watchers for the
files specified in the ``DependencyFiles`` property of ``FSharpCheckFileResults`` and ``FSharpCheckProjectResults``.
Heres what you need to do:
Heres what you need to do:
* When your client notices an CHANGE event on a DependencyFile, it should schedule a refresh call to perform the ParseAndCheckFileInProject (or other operation) again.
This will result in fresh FileSystem calls to compute time stamps.
Expand All @@ -42,8 +42,8 @@ Here
for all active projects in which the file occurs. This will result in fresh FileSystem calls to compute time
stamps, and fresh calls to compute whether files exist.
* Generally clients dont listen for DELETE events on files. Although it would be logically more consistent
to do so, in practice its very irritating for a "project clean" to invalidate all intellisense and
* Generally clients dont listen for DELETE events on files. Although it would be logically more consistent
to do so, in practice its very irritating for a "project clean" to invalidate all intellisense and
cause lots of red squiggles. Some source control tools also make a change by removing and adding files, which
is best noticed as a single change event.
Expand Down
2 changes: 1 addition & 1 deletion fcs/docsrc/content/symbols.fsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
(*** hide ***)
#I "../../../artifacts/bin/fcs/net45"
#I "../../../artifacts/bin/fcs/net461"
(**
Compiler Services: Working with symbols
============================================
Expand Down
2 changes: 1 addition & 1 deletion fcs/docsrc/content/tokenizer.fsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
(*** hide ***)
#I "../../../artifacts/bin/fcs/net45"
#I "../../../artifacts/bin/fcs/net461"
(**
Compiler Services: Using the F# tokenizer
=========================================
Expand Down
2 changes: 1 addition & 1 deletion fcs/docsrc/content/typedtree.fsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
(*** hide ***)
#I "../../../artifacts/bin/fcs/net45"
#I "../../../artifacts/bin/fcs/net461"
(**
Compiler Services: Processing typed expression tree
=================================================
Expand Down
2 changes: 1 addition & 1 deletion fcs/docsrc/content/untypedtree.fsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
(*** hide ***)
#I "../../../artifacts/bin/fcs/net45"
#I "../../../artifacts/bin/fcs/net461"
(**
Compiler Services: Processing untyped syntax tree
=================================================
Expand Down
2 changes: 1 addition & 1 deletion fcs/docsrc/tools/generate.fsx
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ open FSharp.MetadataFormat
let root = "."

// Paths with template/source/output locations
let bin = __SOURCE_DIRECTORY__ @@ "../../../release/fcs/net45"
let bin = __SOURCE_DIRECTORY__ @@ "../../../release/fcs/net461"
let content = __SOURCE_DIRECTORY__ @@ "../content"
let output = __SOURCE_DIRECTORY__ @@ "../../../docs"
let files = __SOURCE_DIRECTORY__ @@ "../files"
Expand Down

0 comments on commit f1aee5f

Please sign in to comment.