From af6d33421d0fdf8110ce881baea79ab3c296b76d Mon Sep 17 00:00:00 2001 From: Don Syme Date: Thu, 23 Jul 2020 19:23:22 +0100 Subject: [PATCH 1/3] indented text writer is in netstandard2.0 --- FSharp.Profiles.props | 1 - src/fsharp/service/ServiceInterfaceStubGenerator.fs | 2 -- src/fsharp/service/ServiceInterfaceStubGenerator.fsi | 2 -- 3 files changed, 5 deletions(-) diff --git a/FSharp.Profiles.props b/FSharp.Profiles.props index 65cfa205e6..1249e274c4 100644 --- a/FSharp.Profiles.props +++ b/FSharp.Profiles.props @@ -17,7 +17,6 @@ $(DefineConstants);FX_NO_SYSTEM_CONFIGURATION $(DefineConstants);FX_NO_WIN_REGISTRY $(DefineConstants);FX_NO_WINFORMS - $(DefineConstants);FX_NO_INDENTED_TEXT_WRITER $(DefineConstants);FX_RESHAPED_REFEMIT $(DefineConstants);FX_RESHAPED_MSBUILD $(OtherFlags) --simpleresolution diff --git a/src/fsharp/service/ServiceInterfaceStubGenerator.fs b/src/fsharp/service/ServiceInterfaceStubGenerator.fs index 21ba5f77eb..cb2c48c206 100644 --- a/src/fsharp/service/ServiceInterfaceStubGenerator.fs +++ b/src/fsharp/service/ServiceInterfaceStubGenerator.fs @@ -12,7 +12,6 @@ open FSharp.Compiler.SourceCodeServices open FSharp.Compiler.SyntaxTree open FSharp.Compiler.SyntaxTreeOps -#if !FX_NO_INDENTED_TEXT_WRITER [] module internal CodeGenerationUtils = open System.IO @@ -927,4 +926,3 @@ module InterfaceStubGenerator = None | ParsedInput.ImplFile input -> walkImplFileInput input -#endif diff --git a/src/fsharp/service/ServiceInterfaceStubGenerator.fsi b/src/fsharp/service/ServiceInterfaceStubGenerator.fsi index 6f4ed525f5..b68c6e02a7 100644 --- a/src/fsharp/service/ServiceInterfaceStubGenerator.fsi +++ b/src/fsharp/service/ServiceInterfaceStubGenerator.fsi @@ -6,7 +6,6 @@ open FSharp.Compiler.Range open FSharp.Compiler.SourceCodeServices open FSharp.Compiler.SyntaxTree -#if !FX_NO_INDENTED_TEXT_WRITER /// Capture information about an interface in ASTs [] type InterfaceData = @@ -38,4 +37,3 @@ module InterfaceStubGenerator = /// Find corresponding interface declaration at a given position val tryFindInterfaceDeclaration: pos -> parsedInput: ParsedInput -> InterfaceData option -#endif From e7156ea43bd84ac5348c54f845bd846d9b2fece4 Mon Sep 17 00:00:00 2001 From: Don Syme Date: Thu, 23 Jul 2020 19:41:02 +0100 Subject: [PATCH 2/3] allow local netstandard 2.0 FCP --- .../FSharp.Compiler.Private.fsproj | 23 +++---------------- src/fsharp/fsc/fsc.fsproj | 19 +++++++++++++++ 2 files changed, 22 insertions(+), 20 deletions(-) diff --git a/src/fsharp/FSharp.Compiler.Private/FSharp.Compiler.Private.fsproj b/src/fsharp/FSharp.Compiler.Private/FSharp.Compiler.Private.fsproj index 83511648f7..0736491e37 100644 --- a/src/fsharp/FSharp.Compiler.Private/FSharp.Compiler.Private.fsproj +++ b/src/fsharp/FSharp.Compiler.Private/FSharp.Compiler.Private.fsproj @@ -4,6 +4,9 @@ Library + net472;netstandard2.0 netstandard2.0 FSharp.Compiler.Private @@ -16,26 +19,6 @@ true - - - $(BaseOutputPath)\$(Configuration)\$(TargetFramework) - - - - - - - - - - - - - - - - - diff --git a/src/fsharp/fsc/fsc.fsproj b/src/fsharp/fsc/fsc.fsproj index 776cddc785..0a6796ce92 100644 --- a/src/fsharp/fsc/fsc.fsproj +++ b/src/fsharp/fsc/fsc.fsproj @@ -47,4 +47,23 @@ + + + $(BaseOutputPath)\$(Configuration)\$(TargetFramework) + + + + + + + + + + + + + + + + From b67142ac45452b4861e1f647d807c19d6587fed8 Mon Sep 17 00:00:00 2001 From: Don Syme Date: Thu, 23 Jul 2020 21:06:28 +0100 Subject: [PATCH 3/3] benign changes to help with using .NET Standard FCP.dll --- .../Microsoft.FSharp.Compiler.MSBuild.csproj | 26 +++++++++---------- src/buildtools/AssemblyCheck/AssemblyCheck.fs | 5 +++- src/fsharp/fsc/fsc.fsproj | 1 + 3 files changed, 18 insertions(+), 14 deletions(-) diff --git a/setup/Swix/Microsoft.FSharp.Compiler.MSBuild/Microsoft.FSharp.Compiler.MSBuild.csproj b/setup/Swix/Microsoft.FSharp.Compiler.MSBuild/Microsoft.FSharp.Compiler.MSBuild.csproj index ee8dbb0061..3f4e1cc96c 100644 --- a/setup/Swix/Microsoft.FSharp.Compiler.MSBuild/Microsoft.FSharp.Compiler.MSBuild.csproj +++ b/setup/Swix/Microsoft.FSharp.Compiler.MSBuild/Microsoft.FSharp.Compiler.MSBuild.csproj @@ -84,31 +84,31 @@ vs.dependencies folder "InstallDir:Common7\IDE\CommonExtensions\Microsoft\FSharp" file source="$(BinariesFolder)\fsc\$(Configuration)\$(TargetFramework)\fsc.exe" vs.file.ngen=yes vs.file.ngenArchitecture=All vs.file.ngenPriority=2 vs.file.ngenApplication="[installDir]\Common7\IDE\CommonExtensions\Microsoft\FSharp\fsc.exe" file source="$(BinariesFolder)\fsc\$(Configuration)\$(TargetFramework)\fsc.exe.config" + file source="$(BinariesFolder)\fsc\$(Configuration)\$(TargetFramework)\Microsoft.Build.dll" + file source="$(BinariesFolder)\fsc\$(Configuration)\$(TargetFramework)\Microsoft.Build.Framework.dll" + file source="$(BinariesFolder)\fsc\$(Configuration)\$(TargetFramework)\Microsoft.Build.Tasks.Core.dll" + file source="$(BinariesFolder)\fsc\$(Configuration)\$(TargetFramework)\Microsoft.Build.Utilities.Core.dll" + file source="$(BinariesFolder)\fsc\$(Configuration)\$(TargetFramework)\System.Collections.Immutable.dll" + file source="$(BinariesFolder)\fsc\$(Configuration)\$(TargetFramework)\System.Buffers.dll" + file source="$(BinariesFolder)\fsc\$(Configuration)\$(TargetFramework)\System.Memory.dll" + file source="$(BinariesFolder)\fsc\$(Configuration)\$(TargetFramework)\System.Numerics.Vectors.dll" + file source="$(BinariesFolder)\fsc\$(Configuration)\$(TargetFramework)\System.Reflection.Metadata.dll" + file source="$(BinariesFolder)\fsc\$(Configuration)\$(TargetFramework)\System.Reflection.TypeExtensions.dll" + file source="$(BinariesFolder)\fsc\$(Configuration)\$(TargetFramework)\System.Resources.Extensions.dll" + file source="$(BinariesFolder)\fsc\$(Configuration)\$(TargetFramework)\System.Runtime.CompilerServices.Unsafe.dll" + file source="$(BinariesFolder)\fsc\$(Configuration)\$(TargetFramework)\System.Threading.Tasks.Dataflow.dll" file source="$(BinariesFolder)\fsi\$(Configuration)\$(TargetFramework)\fsi.exe" vs.file.ngen=yes vs.file.ngenArchitecture=X86 vs.file.ngenPriority=2 vs.file.ngenApplication="[installDir]\Common7\IDE\CommonExtensions\Microsoft\FSharp\fsi.exe" file source="$(BinariesFolder)\fsi\$(Configuration)\$(TargetFramework)\fsi.exe.config" file source="$(BinariesFolder)\fsiAnyCpu\$(Configuration)\$(TargetFramework)\fsiAnyCpu.exe" vs.file.ngen=yes vs.file.ngenArchitecture=X64 vs.file.ngenPriority=2 vs.file.ngenApplication="[installDir]\Common7\IDE\CommonExtensions\Microsoft\FSharp\fsiAnyCpu.exe" file source="$(BinariesFolder)\fsiAnyCpu\$(Configuration)\$(TargetFramework)\fsiAnyCpu.exe.config" 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 file source="$(BinariesFolder)\FSharp.Compiler.Private\$(Configuration)\$(TargetFramework)\FSharp.Compiler.Private.dll" vs.file.ngen=yes vs.file.ngenArchitecture=All vs.file.ngenPriority=2 - file source="$(BinariesFolder)\FSharp.Compiler.Private\$(Configuration)\$(TargetFramework)\System.Buffers.dll" - file source="$(BinariesFolder)\FSharp.Compiler.Private\$(Configuration)\$(TargetFramework)\System.Memory.dll" - file source="$(BinariesFolder)\FSharp.Compiler.Private\$(Configuration)\$(TargetFramework)\System.Numerics.Vectors.dll" - file source="$(BinariesFolder)\FSharp.Compiler.Private\$(Configuration)\$(TargetFramework)\System.Reflection.Metadata.dll" - file source="$(BinariesFolder)\FSharp.Compiler.Private\$(Configuration)\$(TargetFramework)\System.Resources.Extensions.dll" - file source="$(BinariesFolder)\FSharp.Compiler.Private\$(Configuration)\$(TargetFramework)\System.Runtime.CompilerServices.Unsafe.dll" - file source="$(BinariesFolder)\FSharp.Compiler.Private\$(Configuration)\$(TargetFramework)\System.Threading.Tasks.Dataflow.dll" - 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 file source="$(BinariesFolder)\FSharp.Core\$(Configuration)\net45\FSharp.Core.dll" vs.file.ngen=yes vs.file.ngenArchitecture=All vs.file.ngenPriority=2 file source="$(BinariesFolder)\FSharp.Core\$(Configuration)\net45\FSharp.Core.optdata" file source="$(BinariesFolder)\FSharp.Core\$(Configuration)\net45\FSharp.Core.sigdata" file source="$(BinariesFolder)\FSharp.Build\$(Configuration)\$(TargetFramework)\FSharp.Build.dll" vs.file.ngen=yes vs.file.ngenArchitecture=All vs.file.ngenPriority=2 file source="$(BinariesFolder)\Microsoft.DotNet.DependencyManager\$(Configuration)\net472\Microsoft.DotNet.DependencyManager.dll" vs.file.ngen=yes vs.file.ngenArchitecture=All vs.file.ngenPriority=2 - file source="$(BinariesFolder)\FSharp.Build\$(Configuration)\$(TargetFramework)\Microsoft.Build.dll" - file source="$(BinariesFolder)\FSharp.Build\$(Configuration)\$(TargetFramework)\Microsoft.Build.Framework.dll" - file source="$(BinariesFolder)\FSharp.Build\$(Configuration)\$(TargetFramework)\Microsoft.Build.Tasks.Core.dll" - file source="$(BinariesFolder)\FSharp.Build\$(Configuration)\$(TargetFramework)\Microsoft.Build.Utilities.Core.dll" file source="$(BinariesFolder)\FSharp.Build\$(Configuration)\$(TargetFramework)\Microsoft.Portable.FSharp.Targets" - file source="$(BinariesFolder)\FSharp.Build\$(Configuration)\$(TargetFramework)\System.Collections.Immutable.dll" file source="$(BinariesFolder)\FSharp.Build\$(Configuration)\$(TargetFramework)\Microsoft.FSharp.NetSdk.props" file source="$(BinariesFolder)\FSharp.Build\$(Configuration)\$(TargetFramework)\Microsoft.FSharp.NetSdk.targets" file source="$(BinariesFolder)\FSharp.Build\$(Configuration)\$(TargetFramework)\Microsoft.FSharp.Overrides.NetSdk.targets" diff --git a/src/buildtools/AssemblyCheck/AssemblyCheck.fs b/src/buildtools/AssemblyCheck/AssemblyCheck.fs index 9eb04a3087..4b8b80e0c0 100644 --- a/src/buildtools/AssemblyCheck/AssemblyCheck.fs +++ b/src/buildtools/AssemblyCheck/AssemblyCheck.fs @@ -77,7 +77,10 @@ module AssemblyCheck = fsharpAssemblies |> List.filter (fun p -> not (p.Contains(@"\FSharpSdk\"))) |> List.filter (fun a -> - let fileProductVersion = FileVersionInfo.GetVersionInfo(a).ProductVersion + let fileProductVersion = + let v = FileVersionInfo.GetVersionInfo(a).ProductVersion + if isNull v then String.Empty else v + not (commitHashPattern.IsMatch(fileProductVersion) || devVersionPattern.IsMatch(fileProductVersion))) if failedCommitHash.Length > 0 then diff --git a/src/fsharp/fsc/fsc.fsproj b/src/fsharp/fsc/fsc.fsproj index 0a6796ce92..a59c677b02 100644 --- a/src/fsharp/fsc/fsc.fsproj +++ b/src/fsharp/fsc/fsc.fsproj @@ -61,6 +61,7 @@ +