Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update master to VS2017 RC2 #1996

Merged
merged 3 commits into from
Dec 13, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

didn't you guys promise VS2017 would have C# and VB also as optional components?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In RC1 F# was checked by default in ".NET desktop development" group. I cannot install RC2 since the installer does not work behind the proxy, so I cannot check if it's changed.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nope it was not checked, but I don't know if I'm on RC2 since I'm only seeing "RC" everywhere. Internal version seems to ve 15.0.26009.0

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

26009 is RC2.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@forki No, nobody promised that C# and VB would be optional.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oh I can certainly find a couple of these quotes from VS2015 release phase.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

all along the lines: "we made that for F# now, but in vnext all languages will be optional because our installer will be so awesome and modular".

Copy link
Contributor

@cartermp cartermp Dec 13, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not aware of any such quotes, but you're certainly free to raise that issue with appropriate folks. We have no say in this, though.

Something to note is that you could technically follow these same instructions for the "Web" workload, and be just as successful (as it's the .NET Web workload, and F# is also in the same place as .NET Desktop). It's also present in Data Storage and Processing, Xamarin, and Data Science (and the Individual Components tab, but all components are there).

- 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