Skip to content

Commit

Permalink
Update master to VS2017 RC2 (#1996)
Browse files Browse the repository at this point in the history
* update vsix package authoring to use the latest tools

* Fix build

Build was failing, I think this is the right fix

* update docs to refer to VS 2017 RC2 (#1998)
  • Loading branch information
brettfo authored Dec 13, 2016
1 parent 60b2b94 commit b4e7eb5
Show file tree
Hide file tree
Showing 19 changed files with 87 additions and 120 deletions.
11 changes: 5 additions & 6 deletions DEVGUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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.
Expand Down
9 changes: 4 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
7 changes: 4 additions & 3 deletions build.cmd
Original file line number Diff line number Diff line change
Expand Up @@ -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%'=='' (
Expand Down
5 changes: 2 additions & 3 deletions packages.config
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
<!-- CodeGen-->
<package id="FsLexYacc" version="7.0.3" targetFramework="net46" />


<!-- Build infrastructure-->
<package id="MicroBuild.Core" version="0.2.0" />
<package id="MicroBuild.Core.Sentinel" version="1.0.0" />
Expand All @@ -30,8 +29,8 @@
<package id="VisualCppTools" version="14.0.24519-Pre"/>
<package id="Newtonsoft.Json" version="6.0.8"/>
<package id="Microsoft.FSharp.TupleSample" version="1.0.0-alpha-161121"/>
<package id="Microsoft.VSSDK.BuildTools" version="15.0.25907-RC2" />
<package id="Microsoft.VSSDK.BuildTools" version="15.0.25929-RC2" />

<!-- Annoyingly the build of FSharp.Compiler.Server.Shared references a Visual Studio-specific attribute -->
<!-- That DLL is logically part of the F# Compiler and F# Interactive but is shipped as part of the Visual F# IDE Tools -->
<package id="Microsoft.VisualStudio.Shell.14.0" version="14.3.25407" targetFramework="net46" />
Expand Down
2 changes: 2 additions & 0 deletions setup/FSharp.Setup.props
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@

<PropertyGroup>
<BinariesDir>$(SetupRootFolder)\..\$(Configuration)</BinariesDir>
<VsixBuildLocation>$(BinariesDir)\$(TargetFramework)\bin</VsixBuildLocation>
<InsertionDir>$(BinariesDir)\insertion</InsertionDir>
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
<OutputPath Condition="'$(Lang)' == ''">$(BinariesDir)\setup</OutputPath>
<OutputPath Condition="'$(Lang)' != ''">$(BinariesDir)\setup\$(Lang)</OutputPath>
Expand Down
16 changes: 0 additions & 16 deletions setup/Swix/Microsoft.FSharp.Vsix.Core/Files.swr

This file was deleted.

This file was deleted.

77 changes: 41 additions & 36 deletions setup/fsharp-setup-build.proj
Original file line number Diff line number Diff line change
Expand Up @@ -8,72 +8,69 @@
<TargetFramework Condition="'$(TargetFramework)'==''">net40</TargetFramework>
<Configuration Condition="'$(Configuration)' == ''">Debug</Configuration>
</PropertyGroup>

<Import Project="FSharp.Setup.props" />
<Target Name="CollectSetupProjects">

<Target Name="CollectSetupProjects">
<ItemGroup>
<WixSetupProjects Include="FSharp.Wix.Extensions.csproj">
<ProjectPath>FSharp.Wix.Extensions\FSharp.Wix.Extensions.csproj</ProjectPath>
</WixSetupProjects>
</ItemGroup>

<CreateItem Include="@(SetupLanguages)"
AdditionalMetadata="ProjectPath=FSharp.SDK\FSharp.SDK.wixproj">
<Output ItemName="WixSetupProjects" TaskParameter="Include"/>
</CreateItem>

<ItemGroup>
<SwixSetupProjects Include="Microsoft.FSharp.SDK.Core.swixproj">
<ProjectPath>Swix\Microsoft.FSharp.SDK.Core\Microsoft.FSharp.SDK.Core.swixproj</ProjectPath>
</SwixSetupProjects>
<VsixProjects Include="VisualFSharpDesktop.csproj">
<ProjectPath>..\vsintegration\Vsix\VisualFSharpDesktop\VisualFSharpDesktop.csproj</ProjectPath>
</VsixProjects>
<VsixProjects Include="VisualFSharpFull.csproj">
<ProjectPath>..\vsintegration\Vsix\VisualFSharpFull\VisualFSharpFull.csproj</ProjectPath>
</VsixProjects>
<VsixProjects Include="VisualFSharpWeb.csproj">
<ProjectPath>..\vsintegration\Vsix\VisualFSharpWeb\VisualFSharpWeb.csproj</ProjectPath>
</VsixProjects>
</ItemGroup>

<CreateItem Include="@(SetupLanguages)"
AdditionalMetadata="ProjectPath=Swix\Microsoft.FSharp.SDK.Resources\Microsoft.FSharp.SDK.Resources.swixproj">
<Output ItemName="SwixSetupProjects" TaskParameter="Include"/>
</CreateItem>

<ItemGroup>
<SwixSetupProjects Include="Microsoft.FSharp.Vsix.Core.swixproj">
<ProjectPath>Swix\Microsoft.FSharp.Vsix.Core\Microsoft.FSharp.Vsix.Core.swixproj</ProjectPath>
<VSSku>Full</VSSku>
</SwixSetupProjects>

<SwixSetupProjects Include="Microsoft.FSharp.Vsix.Core.swixproj">
<ProjectPath>Swix\Microsoft.FSharp.Vsix.Core\Microsoft.FSharp.Vsix.Core.swixproj</ProjectPath>
<VSSku>Desktop</VSSku>
</SwixSetupProjects>

<SwixSetupProjects Include="Microsoft.FSharp.Vsix.Core.swixproj">
<ProjectPath>Swix\Microsoft.FSharp.Vsix.Core\Microsoft.FSharp.Vsix.Core.swixproj</ProjectPath>
<VSSku>Web</VSSku>
</SwixSetupProjects>
</ItemGroup>

</CreateItem>

<CreateItem Include="@(SetupLanguages)"
AdditionalMetadata="ProjectPath=Swix\Microsoft.FSharp.Vsix.Resources\Microsoft.FSharp.Vsix.Resources.swixproj;VSSku=Full">
AdditionalMetadata="ProjectPath=Swix\Microsoft.FSharp.Vsix.Resources\Microsoft.FSharp.Vsix.Resources.swixproj;VSSku=Desktop">
<Output ItemName="SwixSetupProjects" TaskParameter="Include"/>
</CreateItem>

<CreateItem Include="@(SetupLanguages)"
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">
<Output ItemName="SwixSetupProjects" TaskParameter="Include"/>
</CreateItem>

<CreateItem Include="@(SetupLanguages)"
AdditionalMetadata="ProjectPath=Swix\Microsoft.FSharp.Vsix.Resources\Microsoft.FSharp.Vsix.Resources.swixproj;VSSku=Web">
<Output ItemName="SwixSetupProjects" TaskParameter="Include"/>
</CreateItem>

<ItemGroup>
<SwixSetupProjects Include="Microsoft.FSharp.Dependencies.swixproj">
<ProjectPath>Swix\Microsoft.FSharp.Dependencies\Microsoft.FSharp.Dependencies.swixproj</ProjectPath>
</SwixSetupProjects>

<SwixSetupProjects Include="Microsoft.FSharp.vsmanproj">
<ProjectPath>Swix\Microsoft.FSharp.vsmanproj</ProjectPath>
</SwixSetupProjects>
</ItemGroup>

<ItemGroup>
<InsertionItems Include="$(VsixBuildLocation)\VisualFSharpDesktop.vsix" />
<InsertionItems Include="$(VsixBuildLocation)\VisualFSharpFull.vsix" />
<InsertionItems Include="$(VsixBuildLocation)\VisualFSharpWeb.vsix" />
<InsertionItems Include="$(VsixBuildLocation)\Microsoft.FSharp.VSIX.Desktop.Core.json" />
<InsertionItems Include="$(VsixBuildLocation)\Microsoft.FSharp.VSIX.Full.Core.json" />
<InsertionItems Include="$(VsixBuildLocation)\Microsoft.FSharp.VSIX.Web.Core.json" />
</ItemGroup>
</Target>

Expand All @@ -82,11 +79,20 @@
<MSBuild Projects="%(WixSetupProjects.ProjectPath)"
Targets="Clean;Build"
Properties="LocaleCode=%(WixSetupProjects.LocaleCode);LocaleId=%(WixSetupProjects.LocaleId);LocaleParentCulture=%(WixSetupProjects.LocaleParentCulture);LocaleSpecificCulture=%(WixSetupProjects.LocaleSpecificCulture);IsLangPack=%(WixSetupProjects.IsLangPack);VSSku=%(WixSetupProjects.VSSku);FSharpPackageVersion=$(FSharpPackageVersion)"/>
<MSBuild Projects="%(VsixProjects.ProjectPath)"
Targets="Build"
Properties="IsLangPack=%(VsixProjects.IsLangPack);FSharpPackageVersion=$(FSharpPackageVersion);OutputPath=$(InsertionDir)"/>
<MSBuild Projects="%(SwixSetupProjects.ProjectPath)"
Targets="Build"
Properties="LocaleCode=%(SwixSetupProjects.LocaleCode);LocaleId=%(SwixSetupProjects.LocaleId);LocaleParentCulture=%(SwixSetupProjects.LocaleParentCulture);LocaleSpecificCulture=%(SwixSetupProjects.LocaleSpecificCulture);IsLangPack=%(SwixSetupProjects.IsLangPack);VSSku=%(SwixSetupProjects.VSSku);FSharpPackageVersion=$(FSharpPackageVersion)"/>

<!-- copy json stuff -->
<Copy SourceFiles="@(InsertionItems)" DestinationFolder="$(InsertionDir)" />

<MSBuild Projects="Swix\Microsoft.FSharp.vsmanproj"
Targets="Build" />
</Target>

<Target Name="CopyLocalizationResources" BeforeTargets="Build">
<ItemGroup>
<SetupLocalizationResources Include="resources\**\*.*" />
Expand All @@ -96,4 +102,3 @@
DestinationFiles="@(SetupLocalizationResources->'$(OutputPath)\resources\%(RecursiveDir)%(Filename)%(Extension)')" />
</Target>
</Project>

2 changes: 1 addition & 1 deletion setup/packages.config
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<package id="FsSrGen" version="2.0.0" targetFramework="net46" />
<package id="MicroBuild.Core" version="0.2.0" />
<package id="MicroBuild.Core.Sentinel" version="1.0.0" />
<package id="MicroBuild.Plugins.SwixBuild" version="1.0.71" />
<package id="MicroBuild.Plugins.SwixBuild" version="1.0.101" />
<package id="WiX.Toolset.2015" version="3.10.0.1503" />
<package id="Microsoft.VisualFSharp.Core.Redist" version="1.0.0" />
<package id="Microsoft.VisualStudio.Shell.14.0" version="14.3.25407" targetFramework="net46" />
Expand Down
9 changes: 5 additions & 4 deletions src/FSharpSource.Settings.targets
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
<WarningsAsErrors />

<FX_NO_LOADER Condition=" '$(FX_NO_LOADER)'==''">false</FX_NO_LOADER>
<VSSDK_BUILDTOOLS_VERSION>Microsoft.VSSDK.BuildTools.15.0.25929-RC2</VSSDK_BUILDTOOLS_VERSION>

<!-- Always qualify the IntermediateOutputPath by the TargetFramework if any exists -->
<IntermediateOutputPath>obj\$(Configuration)\$(TargetFramework)\</IntermediateOutputPath>
Expand All @@ -44,10 +45,10 @@
<UseSourceLink>true</UseSourceLink>
<UseGatherBinaries>true</UseGatherBinaries>
<AddVsSdkAttributesToSomeCoreComponents>true</AddVsSdkAttributesToSomeCoreComponents>
<VsSDKInstall>$(MSBuildThisFileDirectory)..\packages\Microsoft.VSSDK.BuildTools.15.0.25907-RC2\tools\vssdk</VsSDKInstall>
<VsSDKToolPath>$(MSBuildThisFileDirectory)..\packages\Microsoft.VSSDK.BuildTools.15.0.25907-RC2\tools\vssdk\bin</VsSDKToolPath>
<VsSDKIncludes>$(MSBuildThisFileDirectory)..\packages\Microsoft.VSSDK.BuildTools.15.0.25907-RC2\tools\vssdk\inc</VsSDKIncludes>
<VsixSchemaPath>$(MSBuildThisFileDirectory)..\packages\Microsoft.VSSDK.BuildTools.15.0.25907-RC2\tools\vssdk\schemas\VSIXManifestSchema.xsd</VsixSchemaPath>
<VsSDKInstall Condition=" '$(VsSDKInstall)' == '' ">$(MSBuildThisFileDirectory)..\packages\$(VSSDK_BUILDTOOLS_VERSION)\tools\vssdk</VsSDKInstall>
<VsSDKToolPath Condition=" '$(VsSDKToolPath)' == '' ">$(MSBuildThisFileDirectory)..\packages\$(VSSDK_BUILDTOOLS_VERSION)\tools\vssdk\bin</VsSDKToolPath>
<VsSDKIncludes Condition=" '$(VsSDKIncludes)' == '' ">$(MSBuildThisFileDirectory)..\packages\$(VSSDK_BUILDTOOLS_VERSION)\tools\vssdk\inc</VsSDKIncludes>
<VsixSchemaPath Condition=" '$(VsixSchemaPath)' == '' ">$(MSBuildThisFileDirectory)..\packages\$(VSSDK_BUILDTOOLS_VERSION)\tools\vssdk\schemas\VSIXManifestSchema.xsd</VsixSchemaPath>
</PropertyGroup>

<PropertyGroup Condition=" '$(ProjectLanguage)' == 'FSharp' ">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<Identity Id="VisualFSharp" Version="15.4.1.0" Language="en-US" Publisher="Microsoft.VisualFSharpTools" />
<DisplayName>Visual F# Tools</DisplayName>
<Description xml:space="preserve">Deploy Visual F# Tools templates to Visual Studio</Description>
<ShortcutPath>..\CommonExtensions\Microsoft\FSharp</ShortcutPath>
<PackageId>Microsoft.FSharp.VSIX.Desktop.Core</PackageId>
</Metadata>
<Installation>
<InstallationTarget Id="Microsoft.VisualStudio.VSWinDesktopExpress" Version="[15.0]" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,9 @@
<IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
<IsProductComponent>true</IsProductComponent>
<ExtensionInstallationRoot>CommonExtensions</ExtensionInstallationRoot>
<ExtensionInstallationFolder>Microsoft\FSharp</ExtensionInstallationFolder>
<ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>None</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<Identity Id="VisualFSharp" Version="15.4.1.0" Language="en-US" Publisher="Microsoft.VisualFSharpTools" />
<DisplayName>Visual F# Tools</DisplayName>
<Description xml:space="preserve">Deploy Visual F# Tools templates to Visual Studio</Description>
<ShortcutPath>..\CommonExtensions\Microsoft\FSharp</ShortcutPath>
<PackageId>Microsoft.FSharp.VSIX.Full.Core</PackageId>
</Metadata>
<Installation>
<InstallationTarget Id="Microsoft.VisualStudio.Pro" Version="[15.0]" />
Expand Down
3 changes: 3 additions & 0 deletions vsintegration/Vsix/VisualFSharpFull/VisualFSharpFull.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,9 @@
<IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
<IsProductComponent>true</IsProductComponent>
<ExtensionInstallationRoot>CommonExtensions</ExtensionInstallationRoot>
<ExtensionInstallationFolder>Microsoft\FSharp</ExtensionInstallationFolder>
<ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>None</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
Expand Down
Loading

0 comments on commit b4e7eb5

Please sign in to comment.