Skip to content

Commit 2caa428

Browse files
authored
update vsix package authoring to use the latest tools (#1903)
Update vsix generation to use latest tools.
1 parent 206ef80 commit 2caa428

16 files changed

+76
-106
lines changed

build.cmd

+4-3
Original file line numberDiff line numberDiff line change
@@ -349,14 +349,15 @@ echo INCLUDE_TEST_TAGS=%INCLUDE_TEST_TAGS%
349349
echo.
350350

351351
echo ---------------- Done with arguments, starting preparation -----------------
352+
set BuildToolsPackage=Microsoft.VSSDK.BuildTools.15.0.25929-RC2
352353
if '%VSSDKInstall%'=='' (
353-
set VSSDKInstall=%~dp0packages\Microsoft.VSSDK.BuildTools.15.0.25907-RC2\tools\vssdk
354+
set VSSDKInstall=%~dp0packages\%BuildToolsPackage%\tools\vssdk
354355
)
355356
if '%VSSDKToolsPath%'=='' (
356-
set VSSDKToolsPath=%~dp0packages\Microsoft.VSSDK.BuildTools.15.0.25907-RC2\tools\vssdk\bin
357+
set VSSDKToolsPath=%~dp0packages\%BuildToolsPackage%\tools\vssdk\bin
357358
)
358359
if '%VSSDKIncludes%'=='' (
359-
set VSSDKIncludes=%~dp0packages\Microsoft.VSSDK.BuildTools.15.0.25907-RC2\tools\vssdk\inc
360+
set VSSDKIncludes=%~dp0packages\%BuildToolsPackage%\tools\vssdk\inc
360361
)
361362

362363
if '%RestorePackages%'=='' (

setup/FSharp.Setup.props

+2
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@
2626

2727
<PropertyGroup>
2828
<BinariesDir>$(SetupRootFolder)\..\$(Configuration)</BinariesDir>
29+
<VsixBuildLocation>$(BinariesDir)\$(TargetFramework)\bin</VsixBuildLocation>
30+
<InsertionDir>$(BinariesDir)\insertion</InsertionDir>
2931
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
3032
<OutputPath Condition="'$(Lang)' == ''">$(BinariesDir)\setup</OutputPath>
3133
<OutputPath Condition="'$(Lang)' != ''">$(BinariesDir)\setup\$(Lang)</OutputPath>

setup/Swix/Microsoft.FSharp.Vsix.Core/Files.swr

-16
This file was deleted.

setup/Swix/Microsoft.FSharp.Vsix.Core/Microsoft.FSharp.Vsix.Core.swixproj

-37
This file was deleted.

setup/fsharp-setup-build.proj

+41-36
Original file line numberDiff line numberDiff line change
@@ -8,72 +8,69 @@
88
<TargetFramework Condition="'$(TargetFramework)'==''">net40</TargetFramework>
99
<Configuration Condition="'$(Configuration)' == ''">Debug</Configuration>
1010
</PropertyGroup>
11-
11+
1212
<Import Project="FSharp.Setup.props" />
13-
14-
<Target Name="CollectSetupProjects">
13+
14+
<Target Name="CollectSetupProjects">
1515
<ItemGroup>
1616
<WixSetupProjects Include="FSharp.Wix.Extensions.csproj">
1717
<ProjectPath>FSharp.Wix.Extensions\FSharp.Wix.Extensions.csproj</ProjectPath>
1818
</WixSetupProjects>
1919
</ItemGroup>
20-
20+
2121
<CreateItem Include="@(SetupLanguages)"
2222
AdditionalMetadata="ProjectPath=FSharp.SDK\FSharp.SDK.wixproj">
2323
<Output ItemName="WixSetupProjects" TaskParameter="Include"/>
2424
</CreateItem>
25-
25+
2626
<ItemGroup>
2727
<SwixSetupProjects Include="Microsoft.FSharp.SDK.Core.swixproj">
2828
<ProjectPath>Swix\Microsoft.FSharp.SDK.Core\Microsoft.FSharp.SDK.Core.swixproj</ProjectPath>
2929
</SwixSetupProjects>
30+
<VsixProjects Include="VisualFSharpDesktop.csproj">
31+
<ProjectPath>..\vsintegration\Vsix\VisualFSharpDesktop\VisualFSharpDesktop.csproj</ProjectPath>
32+
</VsixProjects>
33+
<VsixProjects Include="VisualFSharpFull.csproj">
34+
<ProjectPath>..\vsintegration\Vsix\VisualFSharpFull\VisualFSharpFull.csproj</ProjectPath>
35+
</VsixProjects>
36+
<VsixProjects Include="VisualFSharpWeb.csproj">
37+
<ProjectPath>..\vsintegration\Vsix\VisualFSharpWeb\VisualFSharpWeb.csproj</ProjectPath>
38+
</VsixProjects>
3039
</ItemGroup>
31-
40+
3241
<CreateItem Include="@(SetupLanguages)"
3342
AdditionalMetadata="ProjectPath=Swix\Microsoft.FSharp.SDK.Resources\Microsoft.FSharp.SDK.Resources.swixproj">
3443
<Output ItemName="SwixSetupProjects" TaskParameter="Include"/>
35-
</CreateItem>
36-
37-
<ItemGroup>
38-
<SwixSetupProjects Include="Microsoft.FSharp.Vsix.Core.swixproj">
39-
<ProjectPath>Swix\Microsoft.FSharp.Vsix.Core\Microsoft.FSharp.Vsix.Core.swixproj</ProjectPath>
40-
<VSSku>Full</VSSku>
41-
</SwixSetupProjects>
42-
43-
<SwixSetupProjects Include="Microsoft.FSharp.Vsix.Core.swixproj">
44-
<ProjectPath>Swix\Microsoft.FSharp.Vsix.Core\Microsoft.FSharp.Vsix.Core.swixproj</ProjectPath>
45-
<VSSku>Desktop</VSSku>
46-
</SwixSetupProjects>
47-
48-
<SwixSetupProjects Include="Microsoft.FSharp.Vsix.Core.swixproj">
49-
<ProjectPath>Swix\Microsoft.FSharp.Vsix.Core\Microsoft.FSharp.Vsix.Core.swixproj</ProjectPath>
50-
<VSSku>Web</VSSku>
51-
</SwixSetupProjects>
52-
</ItemGroup>
53-
44+
</CreateItem>
45+
5446
<CreateItem Include="@(SetupLanguages)"
55-
AdditionalMetadata="ProjectPath=Swix\Microsoft.FSharp.Vsix.Resources\Microsoft.FSharp.Vsix.Resources.swixproj;VSSku=Full">
47+
AdditionalMetadata="ProjectPath=Swix\Microsoft.FSharp.Vsix.Resources\Microsoft.FSharp.Vsix.Resources.swixproj;VSSku=Desktop">
5648
<Output ItemName="SwixSetupProjects" TaskParameter="Include"/>
5749
</CreateItem>
58-
50+
5951
<CreateItem Include="@(SetupLanguages)"
60-
AdditionalMetadata="ProjectPath=Swix\Microsoft.FSharp.Vsix.Resources\Microsoft.FSharp.Vsix.Resources.swixproj;VSSku=Desktop">
52+
AdditionalMetadata="ProjectPath=Swix\Microsoft.FSharp.Vsix.Resources\Microsoft.FSharp.Vsix.Resources.swixproj;VSSku=Full">
6153
<Output ItemName="SwixSetupProjects" TaskParameter="Include"/>
6254
</CreateItem>
63-
55+
6456
<CreateItem Include="@(SetupLanguages)"
6557
AdditionalMetadata="ProjectPath=Swix\Microsoft.FSharp.Vsix.Resources\Microsoft.FSharp.Vsix.Resources.swixproj;VSSku=Web">
6658
<Output ItemName="SwixSetupProjects" TaskParameter="Include"/>
6759
</CreateItem>
68-
60+
6961
<ItemGroup>
7062
<SwixSetupProjects Include="Microsoft.FSharp.Dependencies.swixproj">
7163
<ProjectPath>Swix\Microsoft.FSharp.Dependencies\Microsoft.FSharp.Dependencies.swixproj</ProjectPath>
7264
</SwixSetupProjects>
73-
74-
<SwixSetupProjects Include="Microsoft.FSharp.vsmanproj">
75-
<ProjectPath>Swix\Microsoft.FSharp.vsmanproj</ProjectPath>
76-
</SwixSetupProjects>
65+
</ItemGroup>
66+
67+
<ItemGroup>
68+
<InsertionItems Include="$(VsixBuildLocation)\VisualFSharpDesktop.vsix" />
69+
<InsertionItems Include="$(VsixBuildLocation)\VisualFSharpFull.vsix" />
70+
<InsertionItems Include="$(VsixBuildLocation)\VisualFSharpWeb.vsix" />
71+
<InsertionItems Include="$(VsixBuildLocation)\Microsoft.FSharp.VSIX.Desktop.Core.json" />
72+
<InsertionItems Include="$(VsixBuildLocation)\Microsoft.FSharp.VSIX.Full.Core.json" />
73+
<InsertionItems Include="$(VsixBuildLocation)\Microsoft.FSharp.VSIX.Web.Core.json" />
7774
</ItemGroup>
7875
</Target>
7976

@@ -82,11 +79,20 @@
8279
<MSBuild Projects="%(WixSetupProjects.ProjectPath)"
8380
Targets="Clean;Build"
8481
Properties="LocaleCode=%(WixSetupProjects.LocaleCode);LocaleId=%(WixSetupProjects.LocaleId);LocaleParentCulture=%(WixSetupProjects.LocaleParentCulture);LocaleSpecificCulture=%(WixSetupProjects.LocaleSpecificCulture);IsLangPack=%(WixSetupProjects.IsLangPack);VSSku=%(WixSetupProjects.VSSku);FSharpPackageVersion=$(FSharpPackageVersion)"/>
82+
<MSBuild Projects="%(VsixProjects.ProjectPath)"
83+
Targets="Build"
84+
Properties="IsLangPack=%(VsixProjects.IsLangPack);FSharpPackageVersion=$(FSharpPackageVersion);OutputPath=$(InsertionDir)"/>
8585
<MSBuild Projects="%(SwixSetupProjects.ProjectPath)"
8686
Targets="Build"
8787
Properties="LocaleCode=%(SwixSetupProjects.LocaleCode);LocaleId=%(SwixSetupProjects.LocaleId);LocaleParentCulture=%(SwixSetupProjects.LocaleParentCulture);LocaleSpecificCulture=%(SwixSetupProjects.LocaleSpecificCulture);IsLangPack=%(SwixSetupProjects.IsLangPack);VSSku=%(SwixSetupProjects.VSSku);FSharpPackageVersion=$(FSharpPackageVersion)"/>
88+
89+
<!-- copy json stuff -->
90+
<Copy SourceFiles="@(InsertionItems)" DestinationFolder="$(InsertionDir)" />
91+
92+
<MSBuild Projects="Swix\Microsoft.FSharp.vsmanproj"
93+
Targets="Build" />
8894
</Target>
89-
95+
9096
<Target Name="CopyLocalizationResources" BeforeTargets="Build">
9197
<ItemGroup>
9298
<SetupLocalizationResources Include="resources\**\*.*" />
@@ -96,4 +102,3 @@
96102
DestinationFiles="@(SetupLocalizationResources->'$(OutputPath)\resources\%(RecursiveDir)%(Filename)%(Extension)')" />
97103
</Target>
98104
</Project>
99-

setup/packages.config

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<package id="FsSrGen" version="2.0.0" targetFramework="net46" />
88
<package id="MicroBuild.Core" version="0.2.0" />
99
<package id="MicroBuild.Core.Sentinel" version="1.0.0" />
10-
<package id="MicroBuild.Plugins.SwixBuild" version="1.0.71" />
10+
<package id="MicroBuild.Plugins.SwixBuild" version="1.0.101" />
1111
<package id="WiX.Toolset.2015" version="3.10.0.1503" />
1212
<package id="Microsoft.VisualFSharp.Core.Redist" version="1.0.0" />
1313
<package id="Microsoft.VisualStudio.Shell.14.0" version="14.3.25407" targetFramework="net46" />

src/FSharpSource.Settings.targets

+5-4
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
<WarningsAsErrors />
3333

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

3637
<!-- Always qualify the IntermediateOutputPath by the TargetFramework if any exists -->
3738
<IntermediateOutputPath>obj\$(Configuration)\$(TargetFramework)\</IntermediateOutputPath>
@@ -44,10 +45,10 @@
4445
<UseSourceLink>true</UseSourceLink>
4546
<UseGatherBinaries>true</UseGatherBinaries>
4647
<AddVsSdkAttributesToSomeCoreComponents>true</AddVsSdkAttributesToSomeCoreComponents>
47-
<VsSDKInstall>$(MSBuildThisFileDirectory)..\packages\Microsoft.VSSDK.BuildTools.15.0.25907-RC2\tools\vssdk</VsSDKInstall>
48-
<VsSDKToolPath>$(MSBuildThisFileDirectory)..\packages\Microsoft.VSSDK.BuildTools.15.0.25907-RC2\tools\vssdk\bin</VsSDKToolPath>
49-
<VsSDKIncludes>$(MSBuildThisFileDirectory)..\packages\Microsoft.VSSDK.BuildTools.15.0.25907-RC2\tools\vssdk\inc</VsSDKIncludes>
50-
<VsixSchemaPath>$(MSBuildThisFileDirectory)..\packages\Microsoft.VSSDK.BuildTools.15.0.25907-RC2\tools\vssdk\schemas\VSIXManifestSchema.xsd</VsixSchemaPath>
48+
<VsSDKInstall Condition=" '$(VsSDKInstall)' == '' ">$(MSBuildThisFileDirectory)..\packages\$(VSSDK_BUILDTOOLS_VERSION)\tools\vssdk</VsSDKInstall>
49+
<VsSDKToolPath Condition=" '$(VsSDKToolPath)' == '' ">$(MSBuildThisFileDirectory)..\packages\$(VSSDK_BUILDTOOLS_VERSION)\tools\vssdk\bin</VsSDKToolPath>
50+
<VsSDKIncludes Condition=" '$(VsSDKIncludes)' == '' ">$(MSBuildThisFileDirectory)..\packages\$(VSSDK_BUILDTOOLS_VERSION)\tools\vssdk\inc</VsSDKIncludes>
51+
<VsixSchemaPath Condition=" '$(VsixSchemaPath)' == '' ">$(MSBuildThisFileDirectory)..\packages\$(VSSDK_BUILDTOOLS_VERSION)\tools\vssdk\schemas\VSIXManifestSchema.xsd</VsixSchemaPath>
5152
</PropertyGroup>
5253

5354
<PropertyGroup Condition=" '$(ProjectLanguage)' == 'FSharp' ">

vsintegration/Vsix/VisualFSharpDesktop/Source.extension.vsixmanifest

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<Identity Id="VisualFSharp" Version="15.4.1.0" Language="en-US" Publisher="Microsoft.VisualFSharpTools" />
66
<DisplayName>Visual F# Tools</DisplayName>
77
<Description xml:space="preserve">Deploy Visual F# Tools templates to Visual Studio</Description>
8-
<ShortcutPath>..\CommonExtensions\Microsoft\FSharp</ShortcutPath>
8+
<PackageId>Microsoft.FSharp.VSIX.Desktop.Core</PackageId>
99
</Metadata>
1010
<Installation>
1111
<InstallationTarget Id="Microsoft.VisualStudio.VSWinDesktopExpress" Version="[15.0]" />

vsintegration/Vsix/VisualFSharpDesktop/VisualFSharpDesktop.csproj

+3
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,9 @@
3636
<IsWebBootstrapper>false</IsWebBootstrapper>
3737
<UseApplicationTrust>false</UseApplicationTrust>
3838
<BootstrapperEnabled>true</BootstrapperEnabled>
39+
<IsProductComponent>true</IsProductComponent>
40+
<ExtensionInstallationRoot>CommonExtensions</ExtensionInstallationRoot>
41+
<ExtensionInstallationFolder>Microsoft\FSharp</ExtensionInstallationFolder>
3942
<ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>None</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
4043
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
4144
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>

vsintegration/Vsix/VisualFSharpFull/Source.extension.vsixmanifest

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<Identity Id="VisualFSharp" Version="15.4.1.0" Language="en-US" Publisher="Microsoft.VisualFSharpTools" />
66
<DisplayName>Visual F# Tools</DisplayName>
77
<Description xml:space="preserve">Deploy Visual F# Tools templates to Visual Studio</Description>
8-
<ShortcutPath>..\CommonExtensions\Microsoft\FSharp</ShortcutPath>
8+
<PackageId>Microsoft.FSharp.VSIX.Full.Core</PackageId>
99
</Metadata>
1010
<Installation>
1111
<InstallationTarget Id="Microsoft.VisualStudio.Pro" Version="[15.0]" />

vsintegration/Vsix/VisualFSharpFull/VisualFSharpFull.csproj

+3
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,9 @@
3636
<IsWebBootstrapper>false</IsWebBootstrapper>
3737
<UseApplicationTrust>false</UseApplicationTrust>
3838
<BootstrapperEnabled>true</BootstrapperEnabled>
39+
<IsProductComponent>true</IsProductComponent>
40+
<ExtensionInstallationRoot>CommonExtensions</ExtensionInstallationRoot>
41+
<ExtensionInstallationFolder>Microsoft\FSharp</ExtensionInstallationFolder>
3942
<ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>None</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
4043
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
4144
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>

vsintegration/Vsix/VisualFSharpOpenSource/Source.extension.vsixmanifest

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<Identity Id="VisualFSharp" Version="15.4.1.9055" Language="en-US" Publisher="Microsoft.VisualFSharpTools" />
66
<DisplayName>Visual F# Tools</DisplayName>
77
<Description xml:space="preserve">Deploy Visual F# Tools templates to Visual Studio</Description>
8-
<ShortcutPath>..\CommonExtensions\Microsoft\FSharp</ShortcutPath>
8+
<PackageId>Microsoft.FSharp.VSIX.OpenSource.Core</PackageId>
99
</Metadata>
1010
<Installation Experimental="true">
1111
<InstallationTarget Id="Microsoft.VisualStudio.Pro" Version="[15.0]" />

vsintegration/Vsix/VisualFSharpOpenSource/VisualFSharpOpenSource.csproj

+3
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,9 @@
3636
<IsWebBootstrapper>false</IsWebBootstrapper>
3737
<UseApplicationTrust>false</UseApplicationTrust>
3838
<BootstrapperEnabled>true</BootstrapperEnabled>
39+
<IsProductComponent>true</IsProductComponent>
40+
<ExtensionInstallationRoot>CommonExtensions</ExtensionInstallationRoot>
41+
<ExtensionInstallationFolder>Microsoft\FSharp</ExtensionInstallationFolder>
3942
<ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>None</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
4043
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
4144
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>

vsintegration/Vsix/VisualFSharpWeb/Source.extension.vsixmanifest

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<Identity Id="VisualFSharp" Version="15.4.1.0" Language="en-US" Publisher="Microsoft.VisualFSharpTools" />
66
<DisplayName>Visual F# Tools</DisplayName>
77
<Description xml:space="preserve">Deploy Visual F# Tools templates to Visual Studio</Description>
8-
<ShortcutPath>..\CommonExtensions\Microsoft\FSharp</ShortcutPath>
8+
<PackageId>Microsoft.FSharp.VSIX.Web.Core</PackageId>
99
</Metadata>
1010
<Installation>
1111
<InstallationTarget Id="Microsoft.VisualStudio.VWDExpress" Version="[15.0]" />

vsintegration/Vsix/VisualFSharpWeb/VisualFSharpWeb.csproj

+3
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,9 @@
3636
<IsWebBootstrapper>false</IsWebBootstrapper>
3737
<UseApplicationTrust>false</UseApplicationTrust>
3838
<BootstrapperEnabled>true</BootstrapperEnabled>
39+
<IsProductComponent>true</IsProductComponent>
40+
<ExtensionInstallationRoot>CommonExtensions</ExtensionInstallationRoot>
41+
<ExtensionInstallationFolder>Microsoft\FSharp</ExtensionInstallationFolder>
3942
<ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>None</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
4043
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
4144
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>

0 commit comments

Comments
 (0)