From 0c8d4da2cfaf52566c458dfb0356e347fa1aab11 Mon Sep 17 00:00:00 2001 From: "Brett V. Forsgren" Date: Wed, 30 Nov 2016 11:18:56 -0800 Subject: [PATCH 1/3] update vsix package authoring to use the latest tools --- build.cmd | 7 +- setup/FSharp.Setup.props | 2 + .../Swix/Microsoft.FSharp.Vsix.Core/Files.swr | 16 ---- .../Microsoft.FSharp.Vsix.Core.swixproj | 37 --------- setup/fsharp-setup-build.proj | 77 ++++++++++--------- setup/packages.config | 2 +- src/FSharpSource.Settings.targets | 9 ++- .../Source.extension.vsixmanifest | 2 +- .../VisualFSharpDesktop.csproj | 3 + .../Source.extension.vsixmanifest | 2 +- .../VisualFSharpFull/VisualFSharpFull.csproj | 3 + .../Source.extension.vsixmanifest | 2 +- .../VisualFSharpOpenSource.csproj | 3 + .../Source.extension.vsixmanifest | 2 +- .../VisualFSharpWeb/VisualFSharpWeb.csproj | 3 + vsintegration/packages.config | 12 +-- 16 files changed, 76 insertions(+), 106 deletions(-) delete mode 100644 setup/Swix/Microsoft.FSharp.Vsix.Core/Files.swr delete mode 100644 setup/Swix/Microsoft.FSharp.Vsix.Core/Microsoft.FSharp.Vsix.Core.swixproj diff --git a/build.cmd b/build.cmd index 4cacde62324..823b0f0b5f1 100644 --- a/build.cmd +++ b/build.cmd @@ -349,14 +349,15 @@ echo INCLUDE_TEST_TAGS=%INCLUDE_TEST_TAGS% echo. echo ---------------- Done with arguments, starting preparation ----------------- +set BuildToolsPackage=Microsoft.VSSDK.BuildTools.15.0.25929-RC2 if '%VSSDKInstall%'=='' ( - set VSSDKInstall=%~dp0packages\Microsoft.VSSDK.BuildTools.15.0.25907-RC2\tools\vssdk + set VSSDKInstall=%~dp0packages\%BuildToolsPackage%\tools\vssdk ) if '%VSSDKToolsPath%'=='' ( - set VSSDKToolsPath=%~dp0packages\Microsoft.VSSDK.BuildTools.15.0.25907-RC2\tools\vssdk\bin + set VSSDKToolsPath=%~dp0packages\%BuildToolsPackage%\tools\vssdk\bin ) if '%VSSDKIncludes%'=='' ( - set VSSDKIncludes=%~dp0packages\Microsoft.VSSDK.BuildTools.15.0.25907-RC2\tools\vssdk\inc + set VSSDKIncludes=%~dp0packages\%BuildToolsPackage%\tools\vssdk\inc ) if '%RestorePackages%'=='' ( diff --git a/setup/FSharp.Setup.props b/setup/FSharp.Setup.props index 17ec131f3a6..727a8a7411c 100644 --- a/setup/FSharp.Setup.props +++ b/setup/FSharp.Setup.props @@ -26,6 +26,8 @@ $(SetupRootFolder)\..\$(Configuration) + $(BinariesDir)\$(TargetFramework)\bin + $(BinariesDir)\insertion obj\$(Configuration)\ $(BinariesDir)\setup $(BinariesDir)\setup\$(Lang) diff --git a/setup/Swix/Microsoft.FSharp.Vsix.Core/Files.swr b/setup/Swix/Microsoft.FSharp.Vsix.Core/Files.swr deleted file mode 100644 index b4c642e6e82..00000000000 --- a/setup/Swix/Microsoft.FSharp.Vsix.Core/Files.swr +++ /dev/null @@ -1,16 +0,0 @@ -use vs - -package name=Microsoft.FSharp.VSIX.$(VSSku).Core - version=$(FSharpPackageVersion) - vs.package.type=vsix - vs.package.vsixId=VisualFSharp - vs.package.installSize=32108544 - -vs.dependencies - vs.dependency id=Microsoft.VisualStudio.MinShell - -vs.payloads - vs.payload source="$(BinariesFolder)\net40\bin\VisualFSharp$(VSSku).vsix" - -vs.projectClassifier extension=.fsproj - factoryGuid={F2A71F9B-5D33-465A-A702-920D77279786} diff --git a/setup/Swix/Microsoft.FSharp.Vsix.Core/Microsoft.FSharp.Vsix.Core.swixproj b/setup/Swix/Microsoft.FSharp.Vsix.Core/Microsoft.FSharp.Vsix.Core.swixproj deleted file mode 100644 index eaec6717052..00000000000 --- a/setup/Swix/Microsoft.FSharp.Vsix.Core/Microsoft.FSharp.Vsix.Core.swixproj +++ /dev/null @@ -1,37 +0,0 @@ - - - - - ..\..\..\src - neutral - false - true - Debug - $(FSharpSourcesRoot)\..\$(Configuration) - $(BinariesFolder)\insertion - Microsoft.FSharp.VSIX.$(VSSku).Core - $(MSBuildThisFileDirectory)obj - manifest - - - - - - $(PackagePreprocessorDefinitions);BinariesFolder=$(BinariesFolder) - $(PackagePreprocessorDefinitions);FSharpPackageVersion=$(FSharpPackageVersion) - $(PackagePreprocessorDefinitions);VSSku=$(VSSku) - - - - - - - - - - - - - - - diff --git a/setup/fsharp-setup-build.proj b/setup/fsharp-setup-build.proj index efcd87ca542..fc9aea662fc 100644 --- a/setup/fsharp-setup-build.proj +++ b/setup/fsharp-setup-build.proj @@ -8,72 +8,69 @@ net40 Debug - + - - + + FSharp.Wix.Extensions\FSharp.Wix.Extensions.csproj - + - + Swix\Microsoft.FSharp.SDK.Core\Microsoft.FSharp.SDK.Core.swixproj + + ..\vsintegration\Vsix\VisualFSharpDesktop\VisualFSharpDesktop.csproj + + + ..\vsintegration\Vsix\VisualFSharpFull\VisualFSharpFull.csproj + + + ..\vsintegration\Vsix\VisualFSharpWeb\VisualFSharpWeb.csproj + - + - - - - - Swix\Microsoft.FSharp.Vsix.Core\Microsoft.FSharp.Vsix.Core.swixproj - Full - - - - Swix\Microsoft.FSharp.Vsix.Core\Microsoft.FSharp.Vsix.Core.swixproj - Desktop - - - - Swix\Microsoft.FSharp.Vsix.Core\Microsoft.FSharp.Vsix.Core.swixproj - Web - - - + + + AdditionalMetadata="ProjectPath=Swix\Microsoft.FSharp.Vsix.Resources\Microsoft.FSharp.Vsix.Resources.swixproj;VSSku=Desktop"> - + + AdditionalMetadata="ProjectPath=Swix\Microsoft.FSharp.Vsix.Resources\Microsoft.FSharp.Vsix.Resources.swixproj;VSSku=Full"> - + - + Swix\Microsoft.FSharp.Dependencies\Microsoft.FSharp.Dependencies.swixproj - - - Swix\Microsoft.FSharp.vsmanproj - + + + + + + + + + @@ -82,11 +79,20 @@ + + + + + + - + @@ -96,4 +102,3 @@ DestinationFiles="@(SetupLocalizationResources->'$(OutputPath)\resources\%(RecursiveDir)%(Filename)%(Extension)')" /> - diff --git a/setup/packages.config b/setup/packages.config index 31a035f9e75..1a0f8530e56 100644 --- a/setup/packages.config +++ b/setup/packages.config @@ -7,7 +7,7 @@ - + diff --git a/src/FSharpSource.Settings.targets b/src/FSharpSource.Settings.targets index 455aea71f66..d959f3b212e 100644 --- a/src/FSharpSource.Settings.targets +++ b/src/FSharpSource.Settings.targets @@ -32,6 +32,7 @@ false + Microsoft.VSSDK.BuildTools.15.0.25929-RC2 obj\$(Configuration)\$(TargetFramework)\ @@ -44,10 +45,10 @@ true true true - $(MSBuildThisFileDirectory)..\packages\Microsoft.VSSDK.BuildTools.15.0.25907-RC2\tools\vssdk - $(MSBuildThisFileDirectory)..\packages\Microsoft.VSSDK.BuildTools.15.0.25907-RC2\tools\vssdk\bin - $(MSBuildThisFileDirectory)..\packages\Microsoft.VSSDK.BuildTools.15.0.25907-RC2\tools\vssdk\inc - $(MSBuildThisFileDirectory)..\packages\Microsoft.VSSDK.BuildTools.15.0.25907-RC2\tools\vssdk\schemas\VSIXManifestSchema.xsd + $(MSBuildThisFileDirectory)..\packages\$(VSSDK_BUILDTOOLS_VERSION)\tools\vssdk + $(MSBuildThisFileDirectory)..\packages\$(VSSDK_BUILDTOOLS_VERSION)\tools\vssdk\bin + $(MSBuildThisFileDirectory)..\packages\$(VSSDK_BUILDTOOLS_VERSION)\tools\vssdk\inc + $(MSBuildThisFileDirectory)..\packages\$(VSSDK_BUILDTOOLS_VERSION)\tools\vssdk\schemas\VSIXManifestSchema.xsd diff --git a/vsintegration/Vsix/VisualFSharpDesktop/Source.extension.vsixmanifest b/vsintegration/Vsix/VisualFSharpDesktop/Source.extension.vsixmanifest index b2329968893..fae8d019c1a 100644 --- a/vsintegration/Vsix/VisualFSharpDesktop/Source.extension.vsixmanifest +++ b/vsintegration/Vsix/VisualFSharpDesktop/Source.extension.vsixmanifest @@ -5,7 +5,7 @@ Visual F# Tools Deploy Visual F# Tools templates to Visual Studio - ..\CommonExtensions\Microsoft\FSharp + Microsoft.FSharp.VSIX.Desktop.Core diff --git a/vsintegration/Vsix/VisualFSharpDesktop/VisualFSharpDesktop.csproj b/vsintegration/Vsix/VisualFSharpDesktop/VisualFSharpDesktop.csproj index 33706c9df7f..ab706723fae 100644 --- a/vsintegration/Vsix/VisualFSharpDesktop/VisualFSharpDesktop.csproj +++ b/vsintegration/Vsix/VisualFSharpDesktop/VisualFSharpDesktop.csproj @@ -36,6 +36,9 @@ false false true + true + CommonExtensions + Microsoft\FSharp None Debug AnyCPU diff --git a/vsintegration/Vsix/VisualFSharpFull/Source.extension.vsixmanifest b/vsintegration/Vsix/VisualFSharpFull/Source.extension.vsixmanifest index a8b43fe0247..866df449366 100644 --- a/vsintegration/Vsix/VisualFSharpFull/Source.extension.vsixmanifest +++ b/vsintegration/Vsix/VisualFSharpFull/Source.extension.vsixmanifest @@ -5,7 +5,7 @@ Visual F# Tools Deploy Visual F# Tools templates to Visual Studio - ..\CommonExtensions\Microsoft\FSharp + Microsoft.FSharp.VSIX.Full.Core diff --git a/vsintegration/Vsix/VisualFSharpFull/VisualFSharpFull.csproj b/vsintegration/Vsix/VisualFSharpFull/VisualFSharpFull.csproj index e35bf2bf091..6b684326f0a 100644 --- a/vsintegration/Vsix/VisualFSharpFull/VisualFSharpFull.csproj +++ b/vsintegration/Vsix/VisualFSharpFull/VisualFSharpFull.csproj @@ -36,6 +36,9 @@ false false true + true + CommonExtensions + Microsoft\FSharp None Debug AnyCPU diff --git a/vsintegration/Vsix/VisualFSharpOpenSource/Source.extension.vsixmanifest b/vsintegration/Vsix/VisualFSharpOpenSource/Source.extension.vsixmanifest index 9bd2254a1c3..b69f5036a68 100644 --- a/vsintegration/Vsix/VisualFSharpOpenSource/Source.extension.vsixmanifest +++ b/vsintegration/Vsix/VisualFSharpOpenSource/Source.extension.vsixmanifest @@ -5,7 +5,7 @@ Visual F# Tools Deploy Visual F# Tools templates to Visual Studio - ..\CommonExtensions\Microsoft\FSharp + Microsoft.FSharp.VSIX.OpenSource.Core diff --git a/vsintegration/Vsix/VisualFSharpOpenSource/VisualFSharpOpenSource.csproj b/vsintegration/Vsix/VisualFSharpOpenSource/VisualFSharpOpenSource.csproj index e369537a11e..877174b5efd 100644 --- a/vsintegration/Vsix/VisualFSharpOpenSource/VisualFSharpOpenSource.csproj +++ b/vsintegration/Vsix/VisualFSharpOpenSource/VisualFSharpOpenSource.csproj @@ -36,6 +36,9 @@ false false true + true + CommonExtensions + Microsoft\FSharp None Debug AnyCPU diff --git a/vsintegration/Vsix/VisualFSharpWeb/Source.extension.vsixmanifest b/vsintegration/Vsix/VisualFSharpWeb/Source.extension.vsixmanifest index f41ce096f36..9fe714add17 100644 --- a/vsintegration/Vsix/VisualFSharpWeb/Source.extension.vsixmanifest +++ b/vsintegration/Vsix/VisualFSharpWeb/Source.extension.vsixmanifest @@ -5,7 +5,7 @@ Visual F# Tools Deploy Visual F# Tools templates to Visual Studio - ..\CommonExtensions\Microsoft\FSharp + Microsoft.FSharp.VSIX.Web.Core diff --git a/vsintegration/Vsix/VisualFSharpWeb/VisualFSharpWeb.csproj b/vsintegration/Vsix/VisualFSharpWeb/VisualFSharpWeb.csproj index f5dc6cd3211..987fb20d406 100644 --- a/vsintegration/Vsix/VisualFSharpWeb/VisualFSharpWeb.csproj +++ b/vsintegration/Vsix/VisualFSharpWeb/VisualFSharpWeb.csproj @@ -36,6 +36,9 @@ false false true + true + CommonExtensions + Microsoft\FSharp None Debug AnyCPU diff --git a/vsintegration/packages.config b/vsintegration/packages.config index 6d829d4dc5a..d26fb62f711 100644 --- a/vsintegration/packages.config +++ b/vsintegration/packages.config @@ -7,7 +7,7 @@ - + @@ -16,12 +16,14 @@ - + + - + + - - + + From b6060e51cb0eb84a5aacca09f19453c88ff9d2d6 Mon Sep 17 00:00:00 2001 From: Don Syme Date: Thu, 8 Dec 2016 03:02:42 +0000 Subject: [PATCH 2/3] Fix build Build was failing, I think this is the right fix --- packages.config | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/packages.config b/packages.config index 27646b372cc..edbb0db4acd 100644 --- a/packages.config +++ b/packages.config @@ -6,7 +6,6 @@ - @@ -30,8 +29,8 @@ - - + + From 6a159febca1dd35a955d5d57121e67c58afee683 Mon Sep 17 00:00:00 2001 From: "Brett V. Forsgren" Date: Mon, 12 Dec 2016 12:41:27 -0800 Subject: [PATCH 3/3] update docs to refer to VS 2017 RC2 (#1998) --- DEVGUIDE.md | 11 +++++------ README.md | 9 ++++----- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/DEVGUIDE.md b/DEVGUIDE.md index f825ef05dce..29e9cb68e2c 100644 --- a/DEVGUIDE.md +++ b/DEVGUIDE.md @@ -105,8 +105,7 @@ Where you should set proper proxy address, user name and password. # The Visual F# IDE Tools (Windows Only) -To build and test Visual F# IDE Tools, you must use [Visual Studio "vNext" (aka "Dev15")](https://www.visualstudio.com/en-us/downloads/visual-studio-next-downloads-vs.aspx). This is the one after Visual Studio 2015 (aka "Dev 14"). You must also install Visual Studio SDK (also called _Visual Studio Extensibility SDK_ on the Visual Studio installer) before building Visual F# IDE Tools. -Please ensure that the Visual Studio SDK version is matched with your current Visual Studio to ensure successful builds. For example: Visual Studio 2015 Update 1 requires Visual Studio 2015 SDK Update 1. Any installation of Visual Studio 2015 and later provides Visual Studio SDK as part of the installation of Visual Studio 2015 as feature installation. +To build and test Visual F# IDE Tools, you must use the latest version of [Visual Studio 2017 RC](https://www.visualstudio.com/vs/visual-studio-2017-rc/#downloadvs). See the section titled "Development tools" in the [readme](README.md). build.cmd vs -- build the Visual F# IDE Tools (see below) build.cmd vs test -- build Visual F# IDE Tools, run all tests (see below) @@ -116,22 +115,22 @@ Use ``VisualFSharp.sln`` if you're building the Visual F# IDE Tools. ## [Optional] Install the Visual F# IDE Tools (Windows Only) -At time of writing, the Visual F# IDE Tools can only be installed into Visual Studio "Next" releases. +At time of writing, the Visual F# IDE Tools can only be installed into the latest Visual Studio 2017 RC releases. The new builds of the Visual F# IDE Tools can no longer be installed into Visual Studio 2015. -You can install Visual Studio "Next" from https://www.visualstudio.com/en-us/downloads/visual-studio-next-downloads-vs.aspx. +You can install Visual Studio 2017 RC from https://www.visualstudio.com/vs/visual-studio-2017-rc/#downloadvs. **Note:** This step will install a VSIX extension into Visual Studio "Next" that changes the Visual F# IDE Tools components installed in that VS installation. You can revert this step by disabling or uninstalling the addin. For **Debug**, uninstall then reinstall: - VSIXInstaller.exe /a /u:"VisualFSharp" + VSIXInstaller.exe /a /u:"VisualFSharp" VSIXInstaller.exe /a debug\net40\bin\VisualFSharpOpenSource.vsix For **Release**, uninstall then reinstall: - VSIXInstaller.exe /a /u:"VisualFSharp" + VSIXInstaller.exe /a /u:"VisualFSharp" VSIXInstaller.exe /a release\net40\bin\VisualFSharpOpenSource.vsix Restart Visual Studio, it should now be running your freshly-built Visual F# IDE Tools with updated F# Interactive. diff --git a/README.md b/README.md index c35926f2cd2..a917d2bacd0 100644 --- a/README.md +++ b/README.md @@ -48,11 +48,10 @@ For F# Compiler on OSX and Linux (see .travis.yml for build steps) For Visual F# IDE Tools 4.1 development (Windows) -- [Visual Studio 15](https://www.visualstudio.com/en-us/downloads/visual-studio-next-downloads-vs.aspx) - - Select Visual C++ / Common Tools For Visual C++ - - Visual F# - - Visual Studio Extensibility Tools -- [Visual Studio 15 SDK](https://www.visualstudio.com/en-us/downloads/visual-studio-next-downloads-vs.aspx) +- [Visual Studio 2017 RC](https://www.visualstudio.com/vs/visual-studio-2017-rc/#downloadvs) + - Under the "Windows" workloads, select ".NET desktop development". + - Select "F# language suport" under the optional components. + - Under the "Other Toolsets" workloads, select "Visual Studio extension development". ####Additional frameworks