From 531e2994c649b352f9c6c53f88be7cb4c20aa254 Mon Sep 17 00:00:00 2001 From: Hans Wennborg <hans@hanshq.net> Date: Thu, 13 Apr 2017 17:42:45 +0000 Subject: [PATCH] Warning-free clang-format plugin install for VS 15.0 With the new release of VS, it's required that all plugins migrate to the new VSIX manifest format. The new format is backwards compatible with all versions newer that Visual Studio 2012, so this migration effectively drops support for older versions of the IDE. It's also required that these new extensions are built with Visual Studio 2017, so unfortunately it was necessary to migrate the project and solution. Also removed COM references to EnvDTE and Microsoft.VisualStudio.TextManager.Interop from the csproj, as they seem to both be unnecessary and would trigger build warnings because of changes to GAC. Patch by Hugo Puhlmann! Differential Revision: https://reviews.llvm.org/D31740 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@300225 91177308-0d34-0410-b5e6-96231b3b80d8 --- .../ClangFormat/ClangFormat.csproj | 52 +++---------------- .../ClangFormat/packages.config | 1 - .../source.extension.vsixmanifest.in | 52 ++++++------------- 3 files changed, 24 insertions(+), 81 deletions(-) diff --git a/tools/clang-format-vs/ClangFormat/ClangFormat.csproj b/tools/clang-format-vs/ClangFormat/ClangFormat.csproj index db34a689d5d..c83c413a565 100644 --- a/tools/clang-format-vs/ClangFormat/ClangFormat.csproj +++ b/tools/clang-format-vs/ClangFormat/ClangFormat.csproj @@ -59,8 +59,10 @@ </PropertyGroup> <ItemGroup> <Reference Include="envdte, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> - <HintPath>..\packages\VSSDK.DTE.7.0.3\lib\net20\envdte.dll</HintPath> - <EmbedInteropTypes>False</EmbedInteropTypes> + <EmbedInteropTypes>True</EmbedInteropTypes> + </Reference> + <Reference Include="envdte80, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <EmbedInteropTypes>True</EmbedInteropTypes> </Reference> <Reference Include="Microsoft.CSharp" /> <Reference Include="Microsoft.VisualStudio.CoreUtility, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> @@ -116,10 +118,6 @@ <HintPath>..\packages\VSSDK.Text.10.0.4\lib\net40\Microsoft.VisualStudio.Text.UI.Wpf.dll</HintPath> <Private>False</Private> </Reference> - <Reference Include="Microsoft.VisualStudio.TextManager.Interop"> - <HintPath>..\packages\VSSDK.TextManager.Interop.7.0.4\lib\net20\Microsoft.VisualStudio.TextManager.Interop.dll</HintPath> - <Private>True</Private> - </Reference> <Reference Include="Microsoft.VisualStudio.TextManager.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <Private>False</Private> </Reference> @@ -146,42 +144,6 @@ <Reference Include="WindowsBase" /> </ItemGroup> <ItemGroup> - <COMReference Include="EnvDTE"> - <Guid>{80CC9F66-E7D8-4DDD-85B6-D9E6CD0E93E2}</Guid> - <VersionMajor>8</VersionMajor> - <VersionMinor>0</VersionMinor> - <Lcid>0</Lcid> - <WrapperTool>primary</WrapperTool> - <Isolated>False</Isolated> - <EmbedInteropTypes>False</EmbedInteropTypes> - </COMReference> - <COMReference Include="EnvDTE100"> - <Guid>{26AD1324-4B7C-44BC-84F8-B86AED45729F}</Guid> - <VersionMajor>10</VersionMajor> - <VersionMinor>0</VersionMinor> - <Lcid>0</Lcid> - <WrapperTool>primary</WrapperTool> - <Isolated>False</Isolated> - <EmbedInteropTypes>False</EmbedInteropTypes> - </COMReference> - <COMReference Include="EnvDTE80"> - <Guid>{1A31287A-4D7D-413E-8E32-3B374931BD89}</Guid> - <VersionMajor>8</VersionMajor> - <VersionMinor>0</VersionMinor> - <Lcid>0</Lcid> - <WrapperTool>primary</WrapperTool> - <Isolated>False</Isolated> - <EmbedInteropTypes>False</EmbedInteropTypes> - </COMReference> - <COMReference Include="EnvDTE90"> - <Guid>{2CE2370E-D744-4936-A090-3FFFE667B0E1}</Guid> - <VersionMajor>9</VersionMajor> - <VersionMinor>0</VersionMinor> - <Lcid>0</Lcid> - <WrapperTool>primary</WrapperTool> - <Isolated>False</Isolated> - <EmbedInteropTypes>False</EmbedInteropTypes> - </COMReference> <COMReference Include="Microsoft.VisualStudio.CommandBars"> <Guid>{1CBA492E-7263-47BB-87FE-639000619B15}</Guid> <VersionMajor>8</VersionMajor> @@ -230,7 +192,9 @@ </ItemGroup> <ItemGroup> <None Include="Key.snk" /> - <None Include="packages.config" /> + <None Include="packages.config"> + <SubType>Designer</SubType> + </None> <None Include="source.extension.vsixmanifest"> <SubType>Designer</SubType> </None> @@ -294,4 +258,4 @@ <Target Name="AfterBuild"> </Target> --> -</Project> \ No newline at end of file +</Project> diff --git a/tools/clang-format-vs/ClangFormat/packages.config b/tools/clang-format-vs/ClangFormat/packages.config index 38f64ed3a61..07dc281178f 100644 --- a/tools/clang-format-vs/ClangFormat/packages.config +++ b/tools/clang-format-vs/ClangFormat/packages.config @@ -2,7 +2,6 @@ <packages> <package id="VSSDK.CoreUtility" version="10.0.4" targetFramework="net40" /> <package id="VSSDK.CoreUtility.10" version="10.0.4" targetFramework="net40" /> - <package id="VSSDK.DTE" version="7.0.3" targetFramework="net40" /> <package id="VSSDK.Editor" version="10.0.4" targetFramework="net40" /> <package id="VSSDK.Editor.10" version="10.0.4" targetFramework="net40" /> <package id="VSSDK.IDE" version="7.0.4" targetFramework="net40" /> diff --git a/tools/clang-format-vs/source.extension.vsixmanifest.in b/tools/clang-format-vs/source.extension.vsixmanifest.in index 55440e1426b..c0545e68716 100644 --- a/tools/clang-format-vs/source.extension.vsixmanifest.in +++ b/tools/clang-format-vs/source.extension.vsixmanifest.in @@ -1,39 +1,19 @@ <?xml version="1.0" encoding="utf-8"?> -<Vsix Version="1.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2010"> - <Identifier Id="20dbc914-1c7a-4992-b236-ef58b37850eb"> - <Name>ClangFormat</Name> - <Author>LLVM</Author> - <Version>@CLANG_FORMAT_VS_VERSION@</Version> +<PackageManifest Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2011" xmlns:d="http://schemas.microsoft.com/developer/vsx-schema-design/2011"> + <Metadata> + <Identity Id="20dbc914-1c7a-4992-b236-ef58b37850eb" Version="@CLANG_FORMAT_VS_VERSION@" Language="en-US" Publisher="LLVM"/> + <DisplayName>ClangFormat</DisplayName> <Description xml:space="preserve">A tool to format C/C++/Obj-C code.</Description> - <Locale>1033</Locale> - <MoreInfoUrl>http://clang.llvm.org/docs/ClangFormat.html</MoreInfoUrl> + <MoreInfo>http://clang.llvm.org/docs/ClangFormat.html</MoreInfo> <License>license.txt</License> - <InstalledByMsi>false</InstalledByMsi> - <SupportedProducts> - <VisualStudio Version="10.0"> - <Edition>Pro</Edition> - </VisualStudio> - <VisualStudio Version="11.0"> - <Edition>Pro</Edition> - </VisualStudio> - <VisualStudio Version="12.0"> - <Edition>Pro</Edition> - </VisualStudio> - <VisualStudio Version="14.0"> - <Edition>Pro</Edition> - </VisualStudio> - <VisualStudio Version="15.0"> - <Edition>Pro</Edition> - </VisualStudio> - </SupportedProducts> - <SupportedFrameworkRuntimeEdition MinVersion="4.0" MaxVersion="4.0" /> - </Identifier> - <References> - <Reference Id="Microsoft.VisualStudio.MPF" MinVersion="10.0"> - <Name>Visual Studio MPF</Name> - </Reference> - </References> - <Content> - <VsPackage>|%CurrentProject%;PkgdefProjectOutputGroup|</VsPackage> - </Content> -</Vsix> + </Metadata> + <Installation InstalledByMsi="false"> + <InstallationTarget Id="Microsoft.VisualStudio.Pro" Version="[11.0, 15.0]" /> + </Installation> + <Dependencies> + <Dependency Id="Microsoft.VisualStudio.MPF" MinVersion="11.0" DisplayName="Visual Studio MPF" /> + </Dependencies> + <Prerequisites> + <Prerequisite Id="Microsoft.VisualStudio.Component.CoreEditor" Version="[11.0,)" DisplayName="Visual Studio core editor" /> + </Prerequisites> +</PackageManifest> -- GitLab