forked from dotnet/runtime
-
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.
Build VS installers for WebAssembly and Mobile workloads (dotnet#55769)
In order to support generating installers, this change adds the mono.workloads subset and the associated yml.
- Loading branch information
Showing
12 changed files
with
499 additions
and
1 deletion.
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
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,100 @@ | ||
parameters: | ||
archType: '' | ||
buildConfig: '' | ||
container: '' | ||
dependOnEvaluatePaths: false | ||
dependsOn: [] | ||
isOfficialBuild: false | ||
osGroup: '' | ||
osSubgroup: '' | ||
platform: '' | ||
pool: '' | ||
runtimeVariant: '' | ||
stagedBuild: false | ||
testGroup: '' | ||
timeoutInMinutes: '' | ||
variables: {} | ||
|
||
jobs: | ||
- template: xplat-pipeline-job.yml | ||
parameters: | ||
archType: ${{ parameters.archType }} | ||
buildConfig: ${{ parameters.buildConfig }} | ||
container: ${{ parameters.container }} | ||
condition: ${{ parameters.isOfficialBuild }} | ||
helixType: 'build/product/' | ||
osGroup: ${{ parameters.osGroup }} | ||
osSubgroup: ${{ parameters.osSubgroup }} | ||
pool: ${{ parameters.pool }} | ||
runtimeVariant: ${{ parameters.runtimeVariant }} | ||
stagedBuild: ${{ parameters.stagedBuild }} | ||
timeoutInMinutes: ${{ parameters.timeoutInMinutes }} | ||
dependOnEvaluatePaths: ${{ parameters.dependOnEvaluatePaths }} | ||
|
||
dependsOn: ${{ parameters.dependsOn }} | ||
|
||
name: workloadsbuild | ||
displayName: Build Workloads | ||
|
||
variables: | ||
- name: officialBuildIdArg | ||
value: '' | ||
- ${{ if and(eq(variables['System.TeamProject'], 'internal'), ne(variables['Build.Reason'], 'PullRequest')) }}: | ||
- name: officialBuildIdArg | ||
value: '/p:OfficialBuildId=$(Build.BuildNumber)' | ||
- name: SignType | ||
value: $[ coalesce(variables.OfficialSignType, 'real') ] | ||
- ${{ parameters.variables }} | ||
|
||
steps: | ||
- task: DownloadPipelineArtifact@2 | ||
inputs: | ||
artifact: 'IntermediateArtifacts' | ||
path: $(workloadPackagesPath) | ||
patterns: | | ||
IntermediateArtifacts/MonoRuntimePacks/Shipping/Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-*.nupkg | ||
IntermediateArtifacts/MonoRuntimePacks/Shipping/Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.browser-wasm*.nupkg | ||
IntermediateArtifacts/MonoRuntimePacks/Shipping/Microsoft.NETCore.App.Runtime.Mono.android-*.nupkg | ||
IntermediateArtifacts/MonoRuntimePacks/Shipping/Microsoft.NETCore.App.Runtime.Mono.browser-wasm*.nupkg | ||
IntermediateArtifacts/MonoRuntimePacks/Shipping/Microsoft.NETCore.App.Runtime.Mono.ios-*.nupkg | ||
IntermediateArtifacts/MonoRuntimePacks/Shipping/Microsoft.NETCore.App.Runtime.Mono.iossimulator-*.nupkg | ||
IntermediateArtifacts/MonoRuntimePacks/Shipping/Microsoft.NETCore.App.Runtime.Mono.maccatalyst-*.nupkg | ||
IntermediateArtifacts/MonoRuntimePacks/Shipping/Microsoft.NETCore.App.Runtime.Mono.tvos-*.nupkg | ||
IntermediateArtifacts/MonoRuntimePacks/Shipping/Microsoft.NETCore.App.Runtime.Mono.tvossimulator-*.nupkg | ||
IntermediateArtifacts/MonoRuntimePacks/Shipping/Microsoft.NET.Workload.Mono.ToolChain.Manifest*.nupkg | ||
IntermediateArtifacts/MonoRuntimePacks/Shipping/Microsoft.NET.Runtime.MonoTargets.Sdk*.nupkg | ||
IntermediateArtifacts/MonoRuntimePacks/Shipping/Microsoft.NET.Runtime.MonoAOTCompiler.Task*.nupkg | ||
IntermediateArtifacts/MonoRuntimePacks/Shipping/Microsoft.NET.Runtime.WebAssembly.Sdk*.nupkg | ||
- task: CopyFiles@2 | ||
displayName: Flatten packages | ||
inputs: | ||
sourceFolder: $(workloadPackagesPath) | ||
contents: '*/Shipping/*.nupkg' | ||
cleanTargetFolder: false | ||
targetFolder: $(workloadPackagesPath) | ||
flattenFolders: true | ||
|
||
- script: $(Build.SourcesDirectory)$(dir)build$(scriptExt) -subset mono.workloads -arch $(archType) -c $(buildConfig) $(officialBuildIdArg) -ci | ||
displayName: Build workload artifacts | ||
|
||
# Upload packages wrapping msis | ||
- template: /eng/pipelines/common/upload-intermediate-artifacts-step.yml | ||
parameters: | ||
name: workloads | ||
|
||
# Delete wixpdb files before they are uploaded to artifacts | ||
- task: DeleteFiles@1 | ||
displayName: Delete wixpdb's | ||
inputs: | ||
SourceFolder: $(workloadArtifactsPath) | ||
Contents: '*.wixpdb' | ||
|
||
# Upload artifacts to be used for generating VS components | ||
- task: PublishPipelineArtifact@1 | ||
displayName: Publish workload artifacts | ||
inputs: | ||
targetPath: $(Build.SourcesDirectory)/artifacts/VSSetup/$(_BuildConfig)/Insertion | ||
artifactName: 'Insertion' | ||
continueOnError: true | ||
condition: always() |
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,42 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||
<PropertyGroup> | ||
<VSSetupProps>1</VSSetupProps> | ||
</PropertyGroup> | ||
|
||
<PropertyGroup> | ||
<VSDropServiceUri>https://vsdrop.corp.microsoft.com/file/v1/</VSDropServiceUri> | ||
<DropServiceUri>https://devdiv.artifacts.visualstudio.com/</DropServiceUri> | ||
<DropExe>$(MSBuildThisDirectory)Tools\Drop.App\lib\net45\Drop.exe</DropExe> | ||
<!-- Default drop expiration date is 10 years from now --> | ||
<DropExpiration Condition="'$(DropExpiration)' == ''">10</DropExpiration> | ||
<DropExpirationDate>$([System.DateTime]::Now.AddYears($(DropExpiration)).ToString("M/d/yyyy h:m:s tt"))</DropExpirationDate> | ||
<!-- Timeout in minutes --> | ||
<DropTimeout>10</DropTimeout> | ||
<!-- Can be set to 'info', 'warn', 'error', 'verbose' --> | ||
<DropTraceLevel>verbose</DropTraceLevel> | ||
|
||
<!-- Commandline parameters for drop.exe --> | ||
<DropParamService>-s "$(DropServiceUri)"</DropParamService> | ||
<DropParamTimeout>--timeout "$(DropTimeout)"</DropParamTimeout> | ||
<DropParamTraceLevel>--tracelevel "$(DropTraceLevel)"</DropParamTraceLevel> | ||
<DropParamExpirationDate>-x "$(DropExpirationDate)"</DropParamExpirationDate> | ||
<!-- Use AAD for authentication --> | ||
<DropParamAuth>-a</DropParamAuth> | ||
</PropertyGroup> | ||
|
||
<PropertyGroup> | ||
<ManifestTeamProject Condition="'$(ManifestTeamProject)' == ''">dotnet</ManifestTeamProject> | ||
<ManifestRepositoryName Condition="'$(ManifestRepositoryName)' == ''">installer</ManifestRepositoryName> | ||
<ManifestBuildBranch Condition="'$(ManifestBuildBranch)' == ''">local_build</ManifestBuildBranch> | ||
<ManifestBuildNumber Condition="'$(ManifestBuildNumber)' == ''">$([System.DateTime]::Now.ToString("yyMMdd")).1</ManifestBuildNumber> | ||
</PropertyGroup> | ||
|
||
<PropertyGroup> | ||
<ManifestPublishUrl>https://vsdrop.corp.microsoft.com/file/v1/Products/$(ManifestTeamProject)/$(ManifestRepositoryName)/$(ManifestBuildBranch)/$(ManifestBuildNumber);</ManifestPublishUrl> | ||
</PropertyGroup> | ||
|
||
<PropertyGroup> | ||
<ManifestIntermediateOutputPath>$(OutputPath)\obj\$(MSBuildProject)</ManifestIntermediateOutputPath> | ||
</PropertyGroup> | ||
</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,49 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||
<Import Project="VSSetup.props" Condition="'$(VSSetupProps)' != '1'"/> | ||
|
||
<Target Name="PublishToVSDrop" DependsOnTargets="GetDropCmdLine"> | ||
<Exec Command="$(DropUpgradeCmd)" /> | ||
<Exec Command="$(DropCreateCmd)" /> | ||
<Exec Command="$(DropPublishCmd)" /> | ||
<Exec Command="$(DropFinalizeCmd)" /> | ||
<Exec Command="$(DropUpdateCmd)" /> | ||
|
||
<ItemGroup> | ||
<DropManifests Include="$(VSDropSource)\*.vsman" /> | ||
</ItemGroup> | ||
|
||
<WriteLinesToFile File="$(VSDropTxt)" Overwrite="true" Lines="@(DropManifests->'$(ManifestPublishUrl)%(Filename)%(Extension)')" /> | ||
</Target> | ||
|
||
<Target Name="GetDropCmdLine"> | ||
<!-- Properties that will depend on each build configuration. We can only build the commandlines onces these are defined --> | ||
<Error Text="VSDropSource property undefined" Condition="'$(VSDropSource)' == ''" /> | ||
|
||
<PropertyGroup> | ||
<DropName>Products/$(ManifestTeamProject)/$(ManifestRepositoryName)/$(ManifestBuildBranch)/$(ManifestBuildNumber)</DropName> | ||
|
||
<DropParamName>-n "$(DropName)"</DropParamName> | ||
<DropParamSource>-d "$(VSDropSource)"</DropParamSource> | ||
|
||
<DropUpgradeCmd>$(DropExe) Upgrade $(DropParamService) $(DropParamAuth) $(DropParamTimeout) $(DropParamTraceLevel)</DropUpgradeCmd> | ||
<DropCreateCmd>$(DropExe) Create $(DropParamService) $(DropParamAuth) $(DropParamTimeout) $(DropParamTraceLevel) $(DropParamExpirationDate) $(DropParamName)</DropCreateCmd> | ||
<DropPublishCmd>$(DropExe) Publish $(DropParamService) $(DropParamAuth) $(DropParamTimeout) $(DropParamTraceLevel) $(DropParamName) $(DropParamSource)</DropPublishCmd> | ||
<DropFinalizeCmd>$(DropExe) Finalize $(DropParamService) $(DropParamAuth) $(DropParamTimeout) $(DropParamTraceLevel) $(DropParamName)</DropFinalizeCmd> | ||
<DropUpdateCmd>$(DropExe) Update $(DropParamService) $(DropParamAuth) $(DropParamTimeout) $(DropParamTraceLevel) $(DropParamName) --neverExpire</DropUpdateCmd> | ||
</PropertyGroup> | ||
</Target> | ||
|
||
<Target Name="VSSetupDiagnostic" DependsOnTargets="GetDropCmdLine"> | ||
<ItemGroup> | ||
<VSSetupProperties Include="Drop cmd: $(DropUpgradeCmd)" /> | ||
<VSSetupProperties Include="Drop cmd: $(DropCreateCmd)" /> | ||
<VSSetupProperties Include="Drop cmd: $(DropPublishCmd)" /> | ||
<VSSetupProperties Include="Drop cmd: $(DropFinalizeCmd)" /> | ||
<VSSetupProperties Include="Drop cmd: $(DropUpdateCmd)" /> | ||
<VSSetupProperties Include="DropName: $(DropName)" /> | ||
</ItemGroup> | ||
|
||
<Message Text="%(VSSetupProperties.Identity)" /> | ||
</Target> | ||
</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,68 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||
<Import Project="VSSetup.targets" /> | ||
|
||
<PropertyGroup> | ||
<DebugSymbols>false</DebugSymbols> | ||
<IsShippingAssembly>false</IsShippingAssembly> | ||
<PublishWindowsPdb>false</PublishWindowsPdb> | ||
<TargetType>build-manifest</TargetType> | ||
<FinalizeManifest>true</FinalizeManifest> | ||
<FinalizeSkipLayout>false</FinalizeSkipLayout> | ||
<ProductName>DotNetOptionalWorkloads</ProductName> | ||
<ProductFamily>vs</ProductFamily> | ||
<ProductFamilyVersion Condition="$(ProductFamilyVersion) == ''">42.42.42</ProductFamilyVersion> | ||
<ComputeRelativeUrls>true</ComputeRelativeUrls> | ||
<OutputPath>$(ManifestOutputPath)</OutputPath> | ||
</PropertyGroup> | ||
|
||
<ItemGroup> | ||
<MergeManifest Include="$(ManifestOutputPath)\*.json"> | ||
<RelativeUrl>/</RelativeUrl> | ||
</MergeManifest> | ||
<MergeManifest Include="$(ManifestOutputPath)\CHS\*.json"> | ||
<RelativeUrl>/CHS/</RelativeUrl> | ||
</MergeManifest> | ||
<MergeManifest Include="$(ManifestOutputPath)\CHT\*.json"> | ||
<RelativeUrl>/CHT/</RelativeUrl> | ||
</MergeManifest> | ||
<MergeManifest Include="$(ManifestOutputPath)\CSY\*.json"> | ||
<RelativeUrl>/CSY/</RelativeUrl> | ||
</MergeManifest> | ||
<MergeManifest Include="$(ManifestOutputPath)\DEU\*.json"> | ||
<RelativeUrl>/DEU/</RelativeUrl> | ||
</MergeManifest> | ||
<MergeManifest Include="$(ManifestOutputPath)\ENU\*.json"> | ||
<RelativeUrl>/ENU/</RelativeUrl> | ||
</MergeManifest> | ||
<MergeManifest Include="$(ManifestOutputPath)\ESN\*.json"> | ||
<RelativeUrl>/ESN/</RelativeUrl> | ||
</MergeManifest> | ||
<MergeManifest Include="$(ManifestOutputPath)\FRA\*.json"> | ||
<RelativeUrl>/FRA/</RelativeUrl> | ||
</MergeManifest> | ||
<MergeManifest Include="$(ManifestOutputPath)\ITA\*.json"> | ||
<RelativeUrl>/ITA/</RelativeUrl> | ||
</MergeManifest> | ||
<MergeManifest Include="$(ManifestOutputPath)\JPN\*.json"> | ||
<RelativeUrl>/JPN/</RelativeUrl> | ||
</MergeManifest> | ||
<MergeManifest Include="$(ManifestOutputPath)\KOR\*.json"> | ||
<RelativeUrl>/KOR/</RelativeUrl> | ||
</MergeManifest> | ||
<MergeManifest Include="$(ManifestOutputPath)\PLK\*.json"> | ||
<RelativeUrl>/PLK/</RelativeUrl> | ||
</MergeManifest> | ||
<MergeManifest Include="$(ManifestOutputPath)\PTB\*.json"> | ||
<RelativeUrl>/PTB/</RelativeUrl> | ||
</MergeManifest> | ||
<MergeManifest Include="$(ManifestOutputPath)\RUS\*.json"> | ||
<RelativeUrl>/RUS/</RelativeUrl> | ||
</MergeManifest> | ||
<MergeManifest Include="$(ManifestOutputPath)\TRK\*.json"> | ||
<RelativeUrl>/TRK/</RelativeUrl> | ||
</MergeManifest> | ||
</ItemGroup> | ||
|
||
<Import Project="$(SwixBuildTargets)"/> | ||
</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,2 @@ | ||
# Building | ||
The workloads project can only be built using .NET Framework msbuild. To build locally, run ```build -project src\workloads\workloads.csproj -msbuildEngine vs``` |
Oops, something went wrong.