forked from dotnet/roslyn
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Switch to Arcade targets for building VSIXes (dotnet#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
Showing
64 changed files
with
969 additions
and
851 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 %* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
18 changes: 18 additions & 0 deletions
18
build/Targets/RepoToolset/VisualStudio.DesignTimeBuild.targets
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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> |
39 changes: 39 additions & 0 deletions
39
build/Targets/RepoToolset/VisualStudio.InsertionManifests.targets
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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> |
36 changes: 36 additions & 0 deletions
36
build/Targets/RepoToolset/VisualStudio.SetupPackage.swixproj
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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> |
37 changes: 37 additions & 0 deletions
37
build/Targets/RepoToolset/VisualStudio.SetupPackage.vsmanproj
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.