-
Notifications
You must be signed in to change notification settings - Fork 4.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[main] Update dependencies from dotnet/arcade dotnet/icu (#49820)
* Update dependencies from https://github.com/dotnet/arcade build 20210317.3 Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.ApiCompat , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.SharedFramework.Sdk From Version 6.0.0-beta.21166.5 -> To Version 6.0.0-beta.21167.3 * Update dependencies from https://github.com/dotnet/icu build 20210317.1 Microsoft.NETCore.Runtime.ICU.Transport From Version 6.0.0-preview.3.21165.1 -> To Version 6.0.0-preview.3.21167.1 * Revert changes to publish-using-darc.ps1 Workaround still needed for dotnet/arcade#6987 Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Ricardo Arenas <riarenas@microsoft.com>
- Loading branch information
1 parent
705daa1
commit fdaeaeb
Showing
5 changed files
with
227 additions
and
51 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
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,101 @@ | ||
Param( | ||
[Parameter(Mandatory=$true)][string] $SourcesDirectory, # Directory where source files live; if using a Localize directory it should live in here | ||
[string] $LanguageSet = 'VS_Main_Languages', # Language set to be used in the LocProject.json | ||
[switch] $UseCheckedInLocProjectJson, # When set, generates a LocProject.json and compares it to one that already exists in the repo; otherwise just generates one | ||
[switch] $CreateNeutralXlfs # Creates neutral xlf files. Only set to false when running locally | ||
) | ||
|
||
# Generates LocProject.json files for the OneLocBuild task. OneLocBuildTask is described here: | ||
# https://ceapex.visualstudio.com/CEINTL/_wiki/wikis/CEINTL.wiki/107/Localization-with-OneLocBuild-Task | ||
|
||
Set-StrictMode -Version 2.0 | ||
$ErrorActionPreference = "Stop" | ||
. $PSScriptRoot\tools.ps1 | ||
|
||
Import-Module -Name (Join-Path $PSScriptRoot 'native\CommonLibrary.psm1') | ||
|
||
$exclusionsFilePath = "$SourcesDirectory\Localize\LocExclusions.json" | ||
$exclusions = @{ Exclusions = @() } | ||
if (Test-Path -Path $exclusionsFilePath) | ||
{ | ||
$exclusions = Get-Content "$exclusionsFilePath" | ConvertFrom-Json | ||
} | ||
|
||
Push-Location "$SourcesDirectory" # push location for Resolve-Path -Relative to work | ||
|
||
# Template files | ||
$jsonFiles = @() | ||
$jsonFiles += Get-ChildItem -Recurse -Path "$SourcesDirectory" | Where-Object { $_.FullName -Match "\.template\.config\\localize\\en\..+\.json" } # .NET templating pattern | ||
$jsonFiles += Get-ChildItem -Recurse -Path "$SourcesDirectory" | Where-Object { $_.FullName -Match "en\\strings\.json" } # current winforms pattern | ||
|
||
$xlfFiles = @() | ||
|
||
$allXlfFiles = Get-ChildItem -Recurse -Path "$SourcesDirectory\*\*.xlf" | ||
$langXlfFiles = @() | ||
if ($allXlfFiles) { | ||
$null = $allXlfFiles[0].FullName -Match "\.([\w-]+)\.xlf" # matches '[langcode].xlf' | ||
$firstLangCode = $Matches.1 | ||
$langXlfFiles = Get-ChildItem -Recurse -Path "$SourcesDirectory\*\*.$firstLangCode.xlf" | ||
} | ||
$langXlfFiles | ForEach-Object { | ||
$null = $_.Name -Match "([^.]+)\.[\w-]+\.xlf" # matches '[filename].[langcode].xlf' | ||
|
||
$destinationFile = "$($_.Directory.FullName)\$($Matches.1).xlf" | ||
$xlfFiles += Copy-Item "$($_.FullName)" -Destination $destinationFile -PassThru | ||
} | ||
|
||
$locFiles = $jsonFiles + $xlfFiles | ||
|
||
$locJson = @{ | ||
Projects = @( | ||
@{ | ||
LanguageSet = $LanguageSet | ||
LocItems = @( | ||
$locFiles | ForEach-Object { | ||
$outputPath = "Localize\$(($_.DirectoryName | Resolve-Path -Relative) + "\")" | ||
$continue = $true | ||
foreach ($exclusion in $exclusions.Exclusions) { | ||
if ($outputPath.Contains($exclusion)) | ||
{ | ||
$continue = $false | ||
} | ||
} | ||
$sourceFile = ($_.FullName | Resolve-Path -Relative) | ||
if (!$CreateNeutralXlfs -and $_.Extension -eq '.xlf') { | ||
Remove-Item -Path $sourceFile | ||
} | ||
if ($continue) | ||
{ | ||
return @{ | ||
SourceFile = $sourceFile | ||
CopyOption = "LangIDOnName" | ||
OutputPath = $outputPath | ||
} | ||
} | ||
} | ||
) | ||
} | ||
) | ||
} | ||
|
||
$json = ConvertTo-Json $locJson -Depth 5 | ||
Write-Host "(NETCORE_ENGINEERING_TELEMETRY=Build) LocProject.json generated:`n`n$json`n`n" | ||
Pop-Location | ||
|
||
if (!$UseCheckedInLocProjectJson) { | ||
New-Item "$SourcesDirectory\Localize\LocProject.json" -Force # Need this to make sure the Localize directory is created | ||
Set-Content "$SourcesDirectory\Localize\LocProject.json" $json | ||
} | ||
else { | ||
New-Item "$SourcesDirectory\Localize\LocProject-generated.json" -Force # Need this to make sure the Localize directory is created | ||
Set-Content "$SourcesDirectory\Localize\LocProject-generated.json" $json | ||
|
||
if ((Get-FileHash "$SourcesDirectory\Localize\LocProject-generated.json").Hash -ne (Get-FileHash "$SourcesDirectory\Localize\LocProject.json").Hash) { | ||
Write-PipelineTaskError -Type "warning" -Message "Existing LocProject.json differs from generated LocProject.json. Download LocProject-generated.json and compare them." | ||
|
||
exit 1 | ||
} | ||
else { | ||
Write-Host "Generated LocProject.json and current LocProject.json are identical." | ||
} | ||
} |
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,75 @@ | ||
parameters: | ||
# Optional: dependencies of the job | ||
dependsOn: '' | ||
|
||
# Optional: A defined YAML pool - https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=vsts&tabs=schema#pool | ||
pool: | ||
vmImage: vs2017-win2016 | ||
|
||
CeapexPat: $(dn-bot-ceapex-package-r) # PAT for the loc AzDO instance https://dev.azure.com/ceapex | ||
GithubPat: $(BotAccount-dotnet-bot-repo-PAT) | ||
|
||
SourcesDirectory: $(Build.SourcesDirectory) | ||
CreatePr: true | ||
UseCheckedInLocProjectJson: false | ||
LanguageSet: VS_Main_Languages | ||
LclSource: lclFilesInRepo | ||
LclPackageId: '' | ||
RepoType: gitHub | ||
|
||
jobs: | ||
- job: OneLocBuild | ||
|
||
dependsOn: ${{ parameters.dependsOn }} | ||
|
||
displayName: OneLocBuild | ||
|
||
pool: ${{ parameters.pool }} | ||
|
||
variables: | ||
- group: OneLocBuildVariables # Contains the CeapexPat and GithubPat | ||
- name: _GenerateLocProjectArguments | ||
value: -SourcesDirectory ${{ parameters.SourcesDirectory }} | ||
-LanguageSet "${{ parameters.LanguageSet }}" | ||
-CreateNeutralXlfs | ||
- ${{ if eq(parameters.UseCheckedInLocProjectJson, 'true') }}: | ||
- name: _GenerateLocProjectArguments | ||
value: ${{ variables._GenerateLocProjectArguments }} -UseCheckedInLocProjectJson | ||
|
||
|
||
steps: | ||
- task: Powershell@2 | ||
inputs: | ||
filePath: $(Build.SourcesDirectory)/eng/common/generate-locproject.ps1 | ||
arguments: $(_GenerateLocProjectArguments) | ||
displayName: Generate LocProject.json | ||
|
||
- task: OneLocBuild@2 | ||
displayName: OneLocBuild | ||
inputs: | ||
locProj: Localize/LocProject.json | ||
outDir: $(Build.ArtifactStagingDirectory) | ||
lclSource: ${{ parameters.LclSource }} | ||
lclPackageId: ${{ parameters.LclPackageId }} | ||
isCreatePrSelected: ${{ parameters.CreatePr }} | ||
repoType: ${{ parameters.RepoType }} | ||
gitHubPatVariable: "${{ parameters.GithubPat }}" | ||
packageSourceAuth: patAuth | ||
patVariable: ${{ parameters.CeapexPat }} | ||
condition: always() | ||
|
||
- task: PublishBuildArtifacts@1 | ||
displayName: Publish Localization Files | ||
inputs: | ||
PathtoPublish: '$(Build.ArtifactStagingDirectory)/loc' | ||
PublishLocation: Container | ||
ArtifactName: Loc | ||
condition: always() | ||
|
||
- task: PublishBuildArtifacts@1 | ||
displayName: Publish LocProject.json | ||
inputs: | ||
PathtoPublish: '$(Build.SourcesDirectory)/Localize/' | ||
PublishLocation: Container | ||
ArtifactName: Loc | ||
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