Permalink
Browse files

Switch to Arcade targets for building VSIXes (#29590)

* Rename target GetBuildVersion to GetVsixVersion

* Targets refactoring to align with Arcade SDK

* Remove unused property

* Use Arcade VSIX build targets

* Upload Willow VSIXes directly from VSSetup directory

* Add setup packages to Roslyn.sln

* Remove swr validation from BuildBoss

* Avoid copying CoreXT packages

* Don't delete DevDivPackages\Roslyn dir

* Upload vsixes even when the build fails

* Clean up VSIX project files

* Install VSIXes in specified order

* Do not set TargetFrameworkVersion.

* Fix parameter

* DevDivInsertion better error message

* Remove 'win' from target string

* Fix dir name

* Install Setup.Dependencies

* Default values for insertion components

* Make BuildBoss happy

* Fix VSIX path

* NGEN binaries that should have been NGEN'd

* RoboCopy returns non-zero exit code on success

* Pass OfficialBuild property to vsmanproj
  • Loading branch information...
tmat committed Sep 12, 2018
1 parent 761b82e commit 515ff80d2b4a8b506ccf053dd5e3ff597d9ddd2e
Showing with 969 additions and 851 deletions.
  1. +14 −2 .vsts-ci.yml
  2. +1 −1 Build.cmd
  3. +14 −0 Roslyn.sln
  4. +0 −12 build/Targets/DisableVsixManifestTargets.targets
  5. +1 −1 build/Targets/Imports.targets
  6. +5 −0 build/Targets/Packages.props
  7. +26 −0 build/Targets/RepoToolset/AfterSigning.proj
  8. +1 −0 build/Targets/RepoToolset/Imports.targets
  9. +3 −1 build/Targets/RepoToolset/RepoLayout.props
  10. +18 −0 build/Targets/RepoToolset/VisualStudio.DesignTimeBuild.targets
  11. +11 −0 build/Targets/RepoToolset/VisualStudio.ImportSdk.targets
  12. +39 −0 build/Targets/RepoToolset/VisualStudio.InsertionManifests.targets
  13. +36 −0 build/Targets/RepoToolset/VisualStudio.SetupPackage.swixproj
  14. +37 −0 build/Targets/RepoToolset/VisualStudio.SetupPackage.vsmanproj
  15. +19 −0 build/Targets/RepoToolset/VisualStudio.props
  16. +267 −0 build/Targets/RepoToolset/VisualStudio.targets
  17. +1 −6 build/Targets/Settings.props
  18. +0 −44 build/Targets/VisualStudio.targets
  19. +1 −0 build/ToolsetPackages/RoslynToolset.csproj
  20. +13 −0 build/config/myget_org-extensions.config
  21. +23 −59 build/scripts/build.ps1
  22. +107 −0 build/scripts/vsts-robocopy.ps1
  23. +3 −6 src/Compilers/Extension/Roslyn.Compilers.Extension.csproj
  24. +1 −1 src/Compilers/Extension/source.extension.vsixmanifest
  25. +6 −7 src/Deployment/RoslynDeployment.csproj
  26. +5 −5 src/Deployment/source.extension.vsixmanifest
  27. +7 −28 src/ExpressionEvaluator/Package/ExpressionEvaluatorPackage.csproj
  28. +2 −2 src/ExpressionEvaluator/Package/source.extension.vsixmanifest
  29. +38 −21 src/NuGet/Microsoft.Net.Compilers/CompilerArtifacts.props
  30. +12 −5 src/Setup/DevDivInsertionFiles/BuildDevDivInsertionFiles.vb
  31. +75 −0 src/Setup/DevDivVsix/CompilersPackage/Microsoft.CodeAnalysis.Compilers.Setup.csproj
  32. +0 −29 src/Setup/DevDivVsix/CompilersPackage/Microsoft.CodeAnalysis.Compilers.swixproj
  33. +0 −71 src/Setup/DevDivVsix/CompilersPackage/Microsoft.CodeAnalysis.Compilers.swr
  34. +0 −29 src/Setup/DevDivVsix/CompilersPackage/Microsoft.CodeAnalysis.Compilers.vsmanproj
  35. 0 src/Setup/{MSBuildScripts → DevDivVsix/CompilersPackage}/roslyn.bat
  36. +5 −0 src/Setup/DevDivVsix/Directory.Build.targets
  37. +0 −25 ...evDivVsix/MicrosoftCodeAnalysisLanguageServices/Microsoft.CodeAnalysis.LanguageServices.vsmanproj
  38. +81 −0 src/Setup/DevDivVsix/PortableFacades/PortableFacades.Setup.csproj
  39. +0 −28 src/Setup/DevDivVsix/PortableFacades/PortableFacades.swixproj
  40. +0 −35 src/Setup/DevDivVsix/PortableFacades/PortableFacades.swr
  41. +0 −29 src/Setup/DevDivVsix/PortableFacades/PortableFacades.vsmanproj
  42. +0 −7 src/Setup/DevDivVsix/Settings.props
  43. +0 −13 src/Setup/Vsix/myget_org-extensions.config
  44. +3 −4 src/Tools/BuildBoss/BuildBoss.sln
  45. +1 −143 src/Tools/BuildBoss/CompilerNuGetCheckerUtil.cs
  46. +1 −42 src/Tools/MicroBuild/microbuild.ps1
  47. +19 −23 src/Tools/MicroBuild/publish-assets.ps1
  48. +5 −2 src/VisualStudio/CSharp/Impl/Microsoft.VisualStudio.LanguageServices.CSharp.csproj
  49. +4 −2 src/VisualStudio/CSharp/Repl/Microsoft.VisualStudio.CSharp.Repl.csproj
  50. +4 −2 src/VisualStudio/Core/Def/Microsoft.VisualStudio.LanguageServices.csproj
  51. +4 −6 src/VisualStudio/IntegrationTest/TestSetup/Microsoft.VisualStudio.IntegrationTest.Setup.csproj
  52. +2 −2 src/VisualStudio/IntegrationTest/TestSetup/source.extension.vsixmanifest
  53. +5 −9 src/VisualStudio/RemoteHostClientMock/Roslyn.VisualStudio.RemoteHostClientMock.csproj
  54. +1 −1 src/VisualStudio/RemoteHostClientMock/source.extension.vsixmanifest
  55. +8 −9 src/VisualStudio/Setup.Dependencies/Roslyn.VisualStudio.Setup.Dependencies.csproj
  56. +1 −1 src/VisualStudio/Setup.Dependencies/source.extension.vsixmanifest
  57. +9 −78 src/VisualStudio/Setup/Roslyn.VisualStudio.Setup.csproj
  58. +1 −1 src/VisualStudio/Setup/source.extension.vsixmanifest
  59. +4 −1 src/VisualStudio/VisualBasic/Impl/Microsoft.VisualStudio.LanguageServices.VisualBasic.vbproj
  60. +4 −2 src/VisualStudio/VisualBasic/Repl/Microsoft.VisualStudio.VisualBasic.Repl.vbproj
  61. +5 −9 src/VisualStudio/VisualStudioDiagnosticsToolWindow/Roslyn.VisualStudio.DiagnosticsWindow.csproj
  62. +1 −1 src/VisualStudio/VisualStudioDiagnosticsToolWindow/source.extension.vsixmanifest
  63. +13 −44 src/VisualStudio/VisualStudioInteractiveComponents/Roslyn.VisualStudio.InteractiveComponents.csproj
  64. +2 −2 src/VisualStudio/VisualStudioInteractiveComponents/source.extension.vsixmanifest
@@ -65,6 +65,7 @@ steps:
logProjectEvents: false
- task: PublishBuildArtifacts@1
displayName: Publish Logs
inputs:
PathtoPublish: '$(Build.SourcesDirectory)\Binaries\$(BuildConfiguration)\Logs'
ArtifactName: 'Build Diagnostic Files'
@@ -73,6 +74,7 @@ steps:
condition: succeededOrFailed()
- task: PublishTestResults@1
displayName: Publish Test Results
inputs:
testRunner: XUnit
testResultsFiles: '**/xUnitResults/*.xml'
@@ -83,7 +85,7 @@ steps:
- task: ms-vseng.MicroBuildTasks.4305a8de-ba66-4d8b-b2d1-0dc4ecbbf5e8.MicroBuildUploadVstsDropFolder@1
displayName: Upload VSTS Drop
inputs:
DropFolder: 'Binaries\$(BuildConfiguration)\Insertion'
DropFolder: 'Binaries\VSSetup\$(BuildConfiguration)\Insertion'
condition: and(succeeded(), contains(variables['PB_PublishType'], 'vsts'))
- task: NuGetCommand@2
@@ -96,8 +98,10 @@ steps:
allowPackageConflicts: true
condition: and(succeeded(), contains(variables['PB_PublishType'], 'vsts'))
# Publish VSTS artifact that the RoslynInsertionTool is able to find by its name.
# The backing storage of the artifact is a file share.
- task: PublishBuildArtifacts@1
displayName: Publish Drop (parallel)
displayName: Publish Drop - Binaries
inputs:
PathtoPublish: 'Binaries\$(BuildConfiguration)'
ArtifactName: '$(Build.BuildNumber)'
@@ -107,6 +111,14 @@ steps:
ParallelCount: 64
condition: succeededOrFailed()
# Copy additional files to the drop directory
- task: PowerShell@2
displayName: Publish Drop - VSSetup
inputs:
arguments: '-Source Binaries\VSSetup\$(BuildConfiguration)\Insertion -Target $(DropRoot)\Roslyn-Signed\$(Build.SourceBranchName)\$(BuildConfiguration)\$(Build.BuildNumber)\Insertion -ParallelCount 8'
filePath: 'build\scripts\vsts-robocopy.ps1'
condition: succeededOrFailed()
- task: ms-vseng.MicroBuildTasks.521a94ea-9e68-468a-8167-6dcf361ea776.MicroBuildCleanup@1
displayName: Perform Cleanup Tasks
condition: succeededOrFailed()
@@ -1,2 +1,2 @@
@echo off
powershell -noprofile -executionPolicy RemoteSigned -file "%~dp0\build\scripts\build.ps1" -build -skipBuildExtras %*
powershell -noprofile -executionPolicy RemoteSigned -file "%~dp0\build\scripts\build.ps1" -build %*
@@ -389,6 +389,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "VS.Tools.Roslyn.Package", "
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.CodeAnalysis.Package", "src\NuGet\Microsoft.CodeAnalysis.Package.csproj", "{B9843F65-262E-4F40-A0BC-2CBEF7563A44}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PortableFacades.Setup", "src\Setup\DevDivVsix\PortableFacades\PortableFacades.Setup.csproj", "{952808C5-799A-4CAA-964C-2AA78458CEC7}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.CodeAnalysis.Compilers.Setup", "src\Setup\DevDivVsix\CompilersPackage\Microsoft.CodeAnalysis.Compilers.Setup.csproj", "{03607817-6800-40B6-BEAA-D6F437CD62B7}"
EndProject
Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution
src\Compilers\VisualBasic\BasicAnalyzerDriver\BasicAnalyzerDriver.projitems*{2523d0e6-df32-4a3e-8ae0-a19bffae2ef6}*SharedItemsImports = 4
@@ -1038,6 +1042,14 @@ Global
{B9843F65-262E-4F40-A0BC-2CBEF7563A44}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B9843F65-262E-4F40-A0BC-2CBEF7563A44}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B9843F65-262E-4F40-A0BC-2CBEF7563A44}.Release|Any CPU.Build.0 = Release|Any CPU
{952808C5-799A-4CAA-964C-2AA78458CEC7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{952808C5-799A-4CAA-964C-2AA78458CEC7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{952808C5-799A-4CAA-964C-2AA78458CEC7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{952808C5-799A-4CAA-964C-2AA78458CEC7}.Release|Any CPU.Build.0 = Release|Any CPU
{03607817-6800-40B6-BEAA-D6F437CD62B7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{03607817-6800-40B6-BEAA-D6F437CD62B7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{03607817-6800-40B6-BEAA-D6F437CD62B7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{03607817-6800-40B6-BEAA-D6F437CD62B7}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -1223,6 +1235,8 @@ Global
{0EB22BD1-B8B1-417D-8276-F475C2E190FF} = {BE25E872-1667-4649-9D19-96B83E75A44E}
{3636D3E2-E3EF-4815-B020-819F382204CD} = {BE25E872-1667-4649-9D19-96B83E75A44E}
{B9843F65-262E-4F40-A0BC-2CBEF7563A44} = {C52D8057-43AF-40E6-A01B-6CDBB7301985}
{952808C5-799A-4CAA-964C-2AA78458CEC7} = {BE25E872-1667-4649-9D19-96B83E75A44E}
{03607817-6800-40B6-BEAA-D6F437CD62B7} = {BE25E872-1667-4649-9D19-96B83E75A44E}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {604E6B91-7BC0-4126-AE07-D4D2FEFC3D29}

This file was deleted.

Oops, something went wrong.
@@ -18,7 +18,7 @@
<GenerateRuntimeConfigurationFiles Condition="'$(TargetFramework)' != 'netcoreapp1.1' AND '$(TargetFramework)' != 'netcoreapp2.0'">false</GenerateRuntimeConfigurationFiles>
<!-- Place VS insertion (CoreXT) packages to a separate directory -->
<PackageOutputPath Condition="'$(IsVisualStudioInsertionPackage)' == 'true'">$(ArtifactsPackagesDir)VS\</PackageOutputPath>
<PackageOutputPath Condition="'$(IsVisualStudioInsertionPackage)' == 'true'">$(ArtifactsConfigurationDir)DevDivPackages\Roslyn\</PackageOutputPath>
</PropertyGroup>
<ItemGroup Condition="'$(Language)' == 'CSharp' and '$(TargetNetFX20)' == 'true'">
@@ -161,6 +161,7 @@
<RoslynDiagnosticsAnalyzersVersion>$(RoslynDiagnosticsNugetPackageVersion)</RoslynDiagnosticsAnalyzersVersion>
<RoslynToolsMicrosoftLocateVSVersion>0.2.4-beta</RoslynToolsMicrosoftLocateVSVersion>
<RoslynToolsVSIXExpInstallerVersion>1.0.0-beta2-63222-01</RoslynToolsVSIXExpInstallerVersion>
<RoslynToolsModifyVsixManifestVersion>1.0.0-beta2-63222-01</RoslynToolsModifyVsixManifestVersion>
<RoslynToolsMSBuildVersion>0.5.0-alpha</RoslynToolsMSBuildVersion>
<RoslynToolsNuGetRepackVersion>1.0.0-beta2-63223-01</RoslynToolsNuGetRepackVersion>
<RoslynToolsReferenceAssembliesVersion>0.1.3</RoslynToolsReferenceAssembliesVersion>
@@ -184,6 +185,7 @@
<SystemDynamicRuntimeVersion>4.3.0</SystemDynamicRuntimeVersion>
<SystemDrawingCommonVersion>4.5.0</SystemDrawingCommonVersion>
<SystemGlobalizationVersion>4.3.0</SystemGlobalizationVersion>
<SystemGlobalizationCalendarsVersion>4.3.0</SystemGlobalizationCalendarsVersion>
<SystemIdentityModelTokensJwtVersion>5.0.0</SystemIdentityModelTokensJwtVersion>
<SystemIOVersion>4.3.0</SystemIOVersion>
<SystemIOCompressionVersion>4.3.0</SystemIOCompressionVersion>
@@ -218,6 +220,7 @@
<SystemRuntimeSerializationJsonVersion>4.3.0</SystemRuntimeSerializationJsonVersion>
<SystemRuntimeSerializationPrimitivesVersion>4.3.0</SystemRuntimeSerializationPrimitivesVersion>
<SystemSecurityAccessControlVersion>4.3.0</SystemSecurityAccessControlVersion>
<SystemSecurityClaimsVersion>4.3.0</SystemSecurityClaimsVersion>
<SystemSecurityCryptographyAlgorithmsVersion>4.3.0</SystemSecurityCryptographyAlgorithmsVersion>
<SystemSecurityCryptographyCspVersion>4.3.0</SystemSecurityCryptographyCspVersion>
<SystemSecurityCryptographyEncodingVersion>4.3.0</SystemSecurityCryptographyEncodingVersion>
@@ -239,6 +242,7 @@
<SystemXmlXDocumentVersion>4.3.0</SystemXmlXDocumentVersion>
<SystemXmlXmlDocumentVersion>4.3.0</SystemXmlXmlDocumentVersion>
<SystemXmlXmlSerializerVersion>4.3.0</SystemXmlXmlSerializerVersion>
<SystemXmlXPathVersion>4.3.0</SystemXmlXPathVersion>
<SystemXmlXPathXDocumentVersion>4.3.0</SystemXmlXPathXDocumentVersion>
<SQLitePCLRawbundle_greenVersion>1.1.2</SQLitePCLRawbundle_greenVersion>
<UIAComWrapperVersion>1.1.0.14</UIAComWrapperVersion>
@@ -327,6 +331,7 @@
<UsingToolPdbConverter>true</UsingToolPdbConverter>
<UsingToolSymbolUploader>true</UsingToolSymbolUploader>
<UsingToolNuGetRepack>true</UsingToolNuGetRepack>
<UsingToolVSSDK>true</UsingToolVSSDK>
</PropertyGroup>
<PropertyGroup>
@@ -0,0 +1,26 @@
<!-- All Rights Reserved. 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>
<Import Project="BuildStep.props" />
<Target Name="Rebuild" DependsOnTargets="Clean;Build" />
<Target Name="Clean" />
<Target Name="Build" />
<Target Name="Test" />
<Target Name="Pack" />
<Target Name="IntegrationTest" />
<Target Name="PerformanceTest" />
<!--
Since multiple projects may contribute to a single insertion component
we need to package them in a separate phase.
Insertion manifests (vsman files) contain hashes of the referenced VSIXes.
These need to be calculated using signed VSIXes.
Hence we need to run this task after signing.
-->
<Import Project="VisualStudio.InsertionManifests.targets" Condition="'$(UsingToolVSSDK)' == 'true'" />
<!-- Repository extension point -->
<Import Project="$(RepositoryEngineeringDir)AfterSigning.targets" Condition="Exists('$(RepositoryEngineeringDir)AfterSigning.targets')"/>
</Project>
@@ -31,6 +31,7 @@
<Import Project="Version.targets"/>
<Import Project="Localization.targets" />
<Import Project="VisualStudio.targets" Condition="'$(UsingToolVSSDK)' == 'true' and '$(DesignTimeBuild)' != 'true' and '$(BuildingForLiveUnitTesting)' != 'true' and '$(MSBuildRuntimeType)' != 'Core'"/>
<Import Project="OptimizationData.targets"/>
<Import Project="SymStore.targets"/>
@@ -38,6 +38,8 @@
<ArtifactsPackagesDir>$(ArtifactsConfigurationDir)NuGet\</ArtifactsPackagesDir>
<ArtifactsShippingPackagesDir>$(ArtifactsPackagesDir)Shipping\</ArtifactsShippingPackagesDir>
<ArtifactsNonShippingPackagesDir>$(ArtifactsPackagesDir)NonShipping\</ArtifactsNonShippingPackagesDir>
<VisualStudioSetupOutputPath>$(ArtifactsConfigurationDir)Vsix\</VisualStudioSetupOutputPath>
<VisualStudioSetupOutputPath>$(ArtifactsDir)VSSetup\$(Configuration)\</VisualStudioSetupOutputPath>
<VisualStudioSetupInsertionPath>$(VisualStudioSetupOutputPath)Insertion\</VisualStudioSetupInsertionPath>
<VisualStudioSetupIntermediateOutputPath>$(ArtifactsDir)VSSetup.obj\$(Configuration)\</VisualStudioSetupIntermediateOutputPath>
</PropertyGroup>
</Project>
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- All Rights Reserved. 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>
<PropertyGroup>
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
</PropertyGroup>
<!-- The VSSDK immplements these targets. Since their name ends with OutputGroup,
these targets get run during design time builds per convention. If the Project
is not a VSIX project and sets $CreateVSIXContainer=false these targets should be
a no-op. However they dont check for that and that's a bug. To workaround, we override them
with empty targets and conditionally import these if CreateVSIXContainer is false.
Tracked by https://devdiv.visualstudio.com/DevDiv/_workitems?id=365685&fullScreen=false&_a=edit -->
<Target Name="VSIXIdentifierProjectOutputGroup" />
<Target Name="VSIXNameProjectOutputGroup" />
</Project>
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- All Rights Reserved. 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>
<PropertyGroup>
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
</PropertyGroup>
<Import Project="$(VSToolsPath)\vssdk\Microsoft.VsSDK.targets"/>
</Project>
@@ -0,0 +1,39 @@
<!-- All Rights Reserved. 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>
<PropertyGroup>
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
</PropertyGroup>
<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>
<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="ManifestBuildVersion=$(VsixVersion)" />
</ItemGroup>
<Message Text="Generating manifest for VS component '$(_ComponentName)'" Importance="high"/>
<MSBuild Projects="VisualStudio.SetupPackage.vsmanproj" Properties="@(_Args)"/>
</Target>
</Project>
@@ -0,0 +1,36 @@
<!-- All Rights Reserved. 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>
<!--
Required variables:
SwrProperties Properties and their values ("Prop1=Value1;Prop2=Value2;...") to be substituted in the swr files.
SwrFiles Files to be included.
SwrPackageName Name of the component (VSIX)
IntermediateOutputPath Intermediate output path.
SwixBuildPath SwixBuild package path.
-->
<PropertyGroup>
<OutputArchitecture>neutral</OutputArchitecture>
<OutputLocalized>false</OutputLocalized>
<OutputType>vsix</OutputType>
<IsPackage>true</IsPackage>
<OutputName>$(SwrPackageName)</OutputName>
</PropertyGroup>
<Import Project="$(SwixBuildPath)build\MicroBuild.Plugins.*.props" />
<ItemGroup>
<_SwrProperties Include="$([MSBuild]::Unescape($(SwrProperties)))" />
</ItemGroup>
<PropertyGroup>
<PackagePreprocessorDefinitions>$(PackagePreprocessorDefinitions);@(_SwrProperties)</PackagePreprocessorDefinitions>
<OutputPath>$(IntermediateOutputPath)</OutputPath>
</PropertyGroup>
<ItemGroup>
<Package Include="$(SwrFiles)" />
</ItemGroup>
<Import Project="$(SwixBuildPath)build\MicroBuild.Plugins.*.targets" />
</Project>
@@ -0,0 +1,37 @@
<!-- All Rights Reserved. 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>
<!--
Required variables:
OfficialBuild True for official builds.
ComponentName Name of the component (VSIX)
SetupOutputPath Directory to drop Willow manifests to.
ComponentIntermediateOutputPath Intermediate directory where the component is being built.
SwixBuildPath SwixBuild package path.
-->
<PropertyGroup>
<ResolveNuGetPackages>false</ResolveNuGetPackages>
<ImportDirectoryBuildProps>false</ImportDirectoryBuildProps>
<ImportDirectoryBuildTargets>false</ImportDirectoryBuildTargets>
</PropertyGroup>
<Import Project="$(SwixBuildPath)build\MicroBuild.Plugins.*.props" />
<PropertyGroup>
<FinalizeManifest>false</FinalizeManifest>
<FinalizeManifest Condition="'$(OfficialBuild)' == 'true'">true</FinalizeManifest>
<FinalizeSkipLayout>true</FinalizeSkipLayout>
<IsPackage>true</IsPackage>
<TargetName>$(ComponentName)</TargetName>
<OutputPath>$(SetupOutputPath)</OutputPath>
<IntermediateOutputPath>$(ComponentIntermediateOutputPath)</IntermediateOutputPath>
</PropertyGroup>
<ItemGroup>
<_PackageStubFiles Include="$(ComponentIntermediateOutputPath)*.stub"/>
<MergeManifest Include="@(_PackageStubFiles->'$(SetupOutputPath)%(Filename).json')"/>
</ItemGroup>
<Import Project="$(SwixBuildPath)build\MicroBuild.Plugins.*.targets" />
</Project>
@@ -10,4 +10,23 @@
<VsixVersion Condition="'$(VersionSuffixDateStamp)' != ''">$(VersionPrefix).$(VersionSuffixDateStamp)$(VersionSuffixBuildOfTheDayPadded)</VsixVersion>
<VsixVersion Condition="'$(VersionSuffixDateStamp)' == ''">42.42.42.4242424</VsixVersion>
</PropertyGroup>
<!-- VSIX settings -->
<PropertyGroup>
<VsixSourceManifestPath>$(MSBuildProjectDirectory)\source.extension.vsixmanifest</VsixSourceManifestPath>
<IsVsixProject>false</IsVsixProject>
<IsVsixProject Condition="Exists('$(VsixSourceManifestPath)')">true</IsVsixProject>
</PropertyGroup>
<ItemGroup Condition="'$(IsVsixProject)' == 'true'">
<PackageReference Include="Microsoft.VSSDK.BuildTools" Version="$(MicrosoftVSSDKBuildToolsVersion)" PrivateAssets="all" IsImplicitlyDefined="true" />
</ItemGroup>
<PropertyGroup Condition="'$(IsVsixProject)' == 'true'">
<BuildForLiveUnitTesting>false</BuildForLiveUnitTesting>
<StartAction>Program</StartAction>
<StartProgram>$(DevEnvDir)devenv.exe</StartProgram>
<StartArguments>/rootsuffix $(VSSDKTargetPlatformRegRootSuffix) /log</StartArguments>
</PropertyGroup>
</Project>
Oops, something went wrong.

0 comments on commit 515ff80

Please sign in to comment.