summaryrefslogtreecommitdiff
path: root/.packages/microsoft.dotnet.arcade.sdk/1.0.0-beta.19577.5/tools/VisualStudio.InsertionManifests.targets
diff options
context:
space:
mode:
Diffstat (limited to '.packages/microsoft.dotnet.arcade.sdk/1.0.0-beta.19577.5/tools/VisualStudio.InsertionManifests.targets')
-rwxr-xr-x.packages/microsoft.dotnet.arcade.sdk/1.0.0-beta.19577.5/tools/VisualStudio.InsertionManifests.targets42
1 files changed, 42 insertions, 0 deletions
diff --git a/.packages/microsoft.dotnet.arcade.sdk/1.0.0-beta.19577.5/tools/VisualStudio.InsertionManifests.targets b/.packages/microsoft.dotnet.arcade.sdk/1.0.0-beta.19577.5/tools/VisualStudio.InsertionManifests.targets
new file mode 100755
index 0000000000..e7c35b5a4a
--- /dev/null
+++ b/.packages/microsoft.dotnet.arcade.sdk/1.0.0-beta.19577.5/tools/VisualStudio.InsertionManifests.targets
@@ -0,0 +1,42 @@
+<!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. See the LICENSE file in the project root for more information. -->
+<Project>
+ <ItemGroup>
+ <_StubFiles Include="$(VisualStudioSetupIntermediateOutputPath)**\*.stub"/>
+ <_StubDirs Include="@(_StubFiles->'%(RecursiveDir)')"/>
+ </ItemGroup>
+
+ <!---
+ This target is invoked in a separate phase after all input VSIX files are signed.
+ This is important since the manifest contain hashes of the VSIX files.
+ -->
+ <Target Name="GenerateVisualStudioInsertionManifests"
+ AfterTargets="Pack"
+ Outputs="%(_StubDirs.Identity)"
+ Condition="'@(_StubDirs)' != ''">
+ <PropertyGroup>
+ <_ComponentDir>%(_StubDirs.Identity)</_ComponentDir>
+ <_ComponentName>$(_ComponentDir.TrimEnd('\'))</_ComponentName>
+ </PropertyGroup>
+
+ <Message Text="Generating manifest for VS component '$(_ComponentName)'" Importance="high"/>
+
+ <Error Condition="'$(VisualStudioDropName)' == '' and '$(OfficialBuild)' == 'true'"
+ Text="Property VisualStudioDropName must be specified in official build that produces Visual Studio insertion components." />
+
+ <ItemGroup>
+ <_Args Include="OfficialBuild=$(OfficialBuild)" />
+ <_Args Include="ComponentName=$(_ComponentName)"/>
+ <_Args Include="SetupOutputPath=$(VisualStudioSetupInsertionPath)"/>
+ <_Args Include="ComponentIntermediateOutputPath=$(VisualStudioSetupIntermediateOutputPath)$(_ComponentName)\"/>
+ <_Args Include="SwixBuildPath=$(NuGetPackageRoot)microbuild.plugins.swixbuild\$(MicroBuildPluginsSwixBuildVersion)\"/>
+ <_Args Include="VisualStudioDropName=$(VisualStudioDropName)" />
+ </ItemGroup>
+
+ <!--
+ Invoke GenerateSetupManifest target directly (instead of Build) to skip logic in common targets that is not needed
+ and adds unnecessary dependency on .NET Framework reference assemblies.
+ -->
+ <MSBuild Projects="VisualStudio.SetupPackage.vsmanproj" Properties="@(_Args)" Targets="_BuildManifest"/>
+ </Target>
+
+</Project>