Skip to content

Commit 307c506

Browse files
committed
Merge in 'release/3.1' changes
2 parents f27986d + 07bf2d6 commit 307c506

File tree

6 files changed

+232
-15
lines changed

6 files changed

+232
-15
lines changed

eng/Version.Details.xml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -67,13 +67,13 @@
6767
<Uri>https://github.com/dotnet/core-setup</Uri>
6868
<Sha>1a04dd08e56bf52e88668c1ef2bd3f630ad442a5</Sha>
6969
</Dependency>
70-
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="1.0.0-beta.21161.1">
70+
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="1.0.0-beta.21228.7">
7171
<Uri>https://github.com/dotnet/arcade</Uri>
72-
<Sha>9467b1074927ee3fe98d539d3b72f5686c861958</Sha>
72+
<Sha>99023a1f05a0bb03257f473e48b376c8fb78f845</Sha>
7373
</Dependency>
74-
<Dependency Name="Microsoft.DotNet.CodeAnalysis" Version="1.0.0-beta.21161.1">
74+
<Dependency Name="Microsoft.DotNet.CodeAnalysis" Version="1.0.0-beta.21228.7">
7575
<Uri>https://github.com/dotnet/arcade</Uri>
76-
<Sha>9467b1074927ee3fe98d539d3b72f5686c861958</Sha>
76+
<Sha>99023a1f05a0bb03257f473e48b376c8fb78f845</Sha>
7777
</Dependency>
7878
<Dependency Name="Microsoft.NETCore.Platforms" Version="3.1.3" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
7979
<Uri>https://github.com/dotnet/corefx</Uri>
@@ -99,17 +99,17 @@
9999
<Uri>https://github.com/dotnet/coreclr</Uri>
100100
<Sha>c2e8c9f71737d87a95610851587e2a1eaf18c91c</Sha>
101101
</Dependency>
102-
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="2.0.0-beta.21161.1">
102+
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="2.0.0-beta.21228.7">
103103
<Uri>https://github.com/dotnet/arcade</Uri>
104-
<Sha>9467b1074927ee3fe98d539d3b72f5686c861958</Sha>
104+
<Sha>99023a1f05a0bb03257f473e48b376c8fb78f845</Sha>
105105
</Dependency>
106-
<Dependency Name="Microsoft.DotNet.ApiCompat" Version="1.0.0-beta.21161.1">
106+
<Dependency Name="Microsoft.DotNet.ApiCompat" Version="1.0.0-beta.21228.7">
107107
<Uri>https://github.com/dotnet/arcade</Uri>
108-
<Sha>9467b1074927ee3fe98d539d3b72f5686c861958</Sha>
108+
<Sha>99023a1f05a0bb03257f473e48b376c8fb78f845</Sha>
109109
</Dependency>
110-
<Dependency Name="Microsoft.DotNet.GenAPI" Version="1.0.0-beta.21161.1">
110+
<Dependency Name="Microsoft.DotNet.GenAPI" Version="1.0.0-beta.21228.7">
111111
<Uri>https://github.com/dotnet/arcade</Uri>
112-
<Sha>9467b1074927ee3fe98d539d3b72f5686c861958</Sha>
112+
<Sha>99023a1f05a0bb03257f473e48b376c8fb78f845</Sha>
113113
</Dependency>
114114
<Dependency Name="System.Resources.Extensions" Version="4.7.1" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
115115
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-corefx</Uri>

eng/Versions.props

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,9 @@
5252
</PropertyGroup>
5353
<!-- Packages that come from https://github.com/dotnet/arcade -->
5454
<PropertyGroup>
55-
<MicrosoftDotNetApiCompatVersion>1.0.0-beta.21161.1</MicrosoftDotNetApiCompatVersion>
56-
<MicrosoftDotNetCodeAnalysisPackageVersion>1.0.0-beta.21161.1</MicrosoftDotNetCodeAnalysisPackageVersion>
57-
<MicrosoftDotNetGenAPIVersion>1.0.0-beta.21161.1</MicrosoftDotNetGenAPIVersion>
55+
<MicrosoftDotNetApiCompatVersion>1.0.0-beta.21228.7</MicrosoftDotNetApiCompatVersion>
56+
<MicrosoftDotNetCodeAnalysisPackageVersion>1.0.0-beta.21228.7</MicrosoftDotNetCodeAnalysisPackageVersion>
57+
<MicrosoftDotNetGenAPIVersion>1.0.0-beta.21228.7</MicrosoftDotNetGenAPIVersion>
5858
</PropertyGroup>
5959
<!-- Packages that come from https://github.com/dotnet/corefxlab -->
6060
<PropertyGroup>

eng/common/generate-locproject.ps1

Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
Param(
2+
[Parameter(Mandatory=$true)][string] $SourcesDirectory, # Directory where source files live; if using a Localize directory it should live in here
3+
[string] $LanguageSet = 'VS_Main_Languages', # Language set to be used in the LocProject.json
4+
[switch] $UseCheckedInLocProjectJson, # When set, generates a LocProject.json and compares it to one that already exists in the repo; otherwise just generates one
5+
[switch] $CreateNeutralXlfs # Creates neutral xlf files. Only set to false when running locally
6+
)
7+
8+
# Generates LocProject.json files for the OneLocBuild task. OneLocBuildTask is described here:
9+
# https://ceapex.visualstudio.com/CEINTL/_wiki/wikis/CEINTL.wiki/107/Localization-with-OneLocBuild-Task
10+
11+
Set-StrictMode -Version 2.0
12+
$ErrorActionPreference = "Stop"
13+
. $PSScriptRoot\tools.ps1
14+
15+
Import-Module -Name (Join-Path $PSScriptRoot 'native\CommonLibrary.psm1')
16+
17+
$exclusionsFilePath = "$SourcesDirectory\Localize\LocExclusions.json"
18+
$exclusions = @{ Exclusions = @() }
19+
if (Test-Path -Path $exclusionsFilePath)
20+
{
21+
$exclusions = Get-Content "$exclusionsFilePath" | ConvertFrom-Json
22+
}
23+
24+
Push-Location "$SourcesDirectory" # push location for Resolve-Path -Relative to work
25+
26+
# Template files
27+
$jsonFiles = @()
28+
$jsonFiles += Get-ChildItem -Recurse -Path "$SourcesDirectory" | Where-Object { $_.FullName -Match "\.template\.config\\localize\\en\..+\.json" } # .NET templating pattern
29+
$jsonFiles += Get-ChildItem -Recurse -Path "$SourcesDirectory" | Where-Object { $_.FullName -Match "en\\strings\.json" } # current winforms pattern
30+
31+
$xlfFiles = @()
32+
33+
$allXlfFiles = Get-ChildItem -Recurse -Path "$SourcesDirectory\*\*.xlf"
34+
$langXlfFiles = @()
35+
if ($allXlfFiles) {
36+
$null = $allXlfFiles[0].FullName -Match "\.([\w-]+)\.xlf" # matches '[langcode].xlf'
37+
$firstLangCode = $Matches.1
38+
$langXlfFiles = Get-ChildItem -Recurse -Path "$SourcesDirectory\*\*.$firstLangCode.xlf"
39+
}
40+
$langXlfFiles | ForEach-Object {
41+
$null = $_.Name -Match "(.+)\.[\w-]+\.xlf" # matches '[filename].[langcode].xlf'
42+
43+
$destinationFile = "$($_.Directory.FullName)\$($Matches.1).xlf"
44+
$xlfFiles += Copy-Item "$($_.FullName)" -Destination $destinationFile -PassThru
45+
}
46+
47+
$locFiles = $jsonFiles + $xlfFiles
48+
49+
$locJson = @{
50+
Projects = @(
51+
@{
52+
LanguageSet = $LanguageSet
53+
LocItems = @(
54+
$locFiles | ForEach-Object {
55+
$outputPath = "$(($_.DirectoryName | Resolve-Path -Relative) + "\")"
56+
$continue = $true
57+
foreach ($exclusion in $exclusions.Exclusions) {
58+
if ($outputPath.Contains($exclusion))
59+
{
60+
$continue = $false
61+
}
62+
}
63+
$sourceFile = ($_.FullName | Resolve-Path -Relative)
64+
if (!$CreateNeutralXlfs -and $_.Extension -eq '.xlf') {
65+
Remove-Item -Path $sourceFile
66+
}
67+
if ($continue)
68+
{
69+
if ($_.Directory.Name -eq 'en' -and $_.Extension -eq '.json') {
70+
return @{
71+
SourceFile = $sourceFile
72+
CopyOption = "LangIDOnPath"
73+
OutputPath = "$($_.Directory.Parent.FullName | Resolve-Path -Relative)\"
74+
}
75+
}
76+
else {
77+
return @{
78+
SourceFile = $sourceFile
79+
CopyOption = "LangIDOnName"
80+
OutputPath = $outputPath
81+
}
82+
}
83+
}
84+
}
85+
)
86+
}
87+
)
88+
}
89+
90+
$json = ConvertTo-Json $locJson -Depth 5
91+
Write-Host "LocProject.json generated:`n`n$json`n`n"
92+
Pop-Location
93+
94+
if (!$UseCheckedInLocProjectJson) {
95+
New-Item "$SourcesDirectory\Localize\LocProject.json" -Force # Need this to make sure the Localize directory is created
96+
Set-Content "$SourcesDirectory\Localize\LocProject.json" $json
97+
}
98+
else {
99+
New-Item "$SourcesDirectory\Localize\LocProject-generated.json" -Force # Need this to make sure the Localize directory is created
100+
Set-Content "$SourcesDirectory\Localize\LocProject-generated.json" $json
101+
102+
if ((Get-FileHash "$SourcesDirectory\Localize\LocProject-generated.json").Hash -ne (Get-FileHash "$SourcesDirectory\Localize\LocProject.json").Hash) {
103+
Write-PipelineTelemetryError -Category "OneLocBuild" -Message "Existing LocProject.json differs from generated LocProject.json. Download LocProject-generated.json and compare them."
104+
105+
exit 1
106+
}
107+
else {
108+
Write-Host "Generated LocProject.json and current LocProject.json are identical."
109+
}
110+
}
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
parameters:
2+
# Optional: dependencies of the job
3+
dependsOn: ''
4+
5+
# Optional: A defined YAML pool - https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=vsts&tabs=schema#pool
6+
pool:
7+
vmImage: vs2017-win2016
8+
9+
CeapexPat: $(dn-bot-ceapex-package-r) # PAT for the loc AzDO instance https://dev.azure.com/ceapex
10+
GithubPat: $(BotAccount-dotnet-bot-repo-PAT)
11+
12+
SourcesDirectory: $(Build.SourcesDirectory)
13+
CreatePr: true
14+
AutoCompletePr: false
15+
UseCheckedInLocProjectJson: false
16+
LanguageSet: VS_Main_Languages
17+
LclSource: lclFilesInRepo
18+
LclPackageId: ''
19+
RepoType: gitHub
20+
condition: ''
21+
22+
jobs:
23+
- job: OneLocBuild
24+
25+
dependsOn: ${{ parameters.dependsOn }}
26+
27+
displayName: OneLocBuild
28+
29+
pool: ${{ parameters.pool }}
30+
31+
variables:
32+
- group: OneLocBuildVariables # Contains the CeapexPat and GithubPat
33+
- name: _GenerateLocProjectArguments
34+
value: -SourcesDirectory ${{ parameters.SourcesDirectory }}
35+
-LanguageSet "${{ parameters.LanguageSet }}"
36+
-CreateNeutralXlfs
37+
- ${{ if eq(parameters.UseCheckedInLocProjectJson, 'true') }}:
38+
- name: _GenerateLocProjectArguments
39+
value: ${{ variables._GenerateLocProjectArguments }} -UseCheckedInLocProjectJson
40+
41+
42+
steps:
43+
- task: Powershell@2
44+
inputs:
45+
filePath: $(Build.SourcesDirectory)/eng/common/generate-locproject.ps1
46+
arguments: $(_GenerateLocProjectArguments)
47+
displayName: Generate LocProject.json
48+
condition: ${{ parameters.condition }}
49+
50+
- task: OneLocBuild@2
51+
displayName: OneLocBuild
52+
env:
53+
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
54+
inputs:
55+
locProj: Localize/LocProject.json
56+
outDir: $(Build.ArtifactStagingDirectory)
57+
lclSource: ${{ parameters.LclSource }}
58+
lclPackageId: ${{ parameters.LclPackageId }}
59+
isCreatePrSelected: ${{ parameters.CreatePr }}
60+
${{ if eq(parameters.CreatePr, true) }}:
61+
isAutoCompletePrSelected: ${{ parameters.AutoCompletePr }}
62+
packageSourceAuth: patAuth
63+
patVariable: ${{ parameters.CeapexPat }}
64+
${{ if eq(parameters.RepoType, 'gitHub') }}:
65+
repoType: ${{ parameters.RepoType }}
66+
gitHubPatVariable: "${{ parameters.GithubPat }}"
67+
condition: ${{ parameters.condition }}
68+
69+
- task: PublishBuildArtifacts@1
70+
displayName: Publish Localization Files
71+
inputs:
72+
PathtoPublish: '$(Build.ArtifactStagingDirectory)/loc'
73+
PublishLocation: Container
74+
ArtifactName: Loc
75+
condition: ${{ parameters.condition }}
76+
77+
- task: PublishBuildArtifacts@1
78+
displayName: Publish LocProject.json
79+
inputs:
80+
PathtoPublish: '$(Build.SourcesDirectory)/Localize/'
81+
PublishLocation: Container
82+
ArtifactName: Loc
83+
condition: ${{ parameters.condition }}

eng/common/templates/post-build/post-build.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -391,6 +391,30 @@ stages:
391391
shippingFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json'
392392
symbolsFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools-symbols/nuget/v3/index.json'
393393

394+
- template: \eng\common\templates\post-build\channels\generic-public-channel.yml
395+
parameters:
396+
artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }}
397+
publishInstallersAndChecksums: ${{ parameters.publishInstallersAndChecksums }}
398+
symbolPublishingAdditionalParameters: ${{ parameters.symbolPublishingAdditionalParameters }}
399+
stageName: 'VS16_11_Publishing'
400+
channelName: 'VS 16.11'
401+
channelId: 1926
402+
transportFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools-transport/nuget/v3/index.json'
403+
shippingFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json'
404+
symbolsFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools-symbols/nuget/v3/index.json'
405+
406+
- template: \eng\common\templates\post-build\channels\generic-public-channel.yml
407+
parameters:
408+
artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }}
409+
publishInstallersAndChecksums: ${{ parameters.publishInstallersAndChecksums }}
410+
symbolPublishingAdditionalParameters: ${{ parameters.symbolPublishingAdditionalParameters }}
411+
stageName: 'VS17_0_Publishing'
412+
channelName: 'VS 17.0'
413+
channelId: 1853
414+
transportFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools-transport/nuget/v3/index.json'
415+
shippingFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json'
416+
symbolsFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools-symbols/nuget/v3/index.json'
417+
394418
- template: \eng\common\templates\post-build\channels\generic-public-channel.yml
395419
parameters:
396420
artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }}

global.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
}
1313
},
1414
"msbuild-sdks": {
15-
"Microsoft.DotNet.Arcade.Sdk": "1.0.0-beta.21161.1",
16-
"Microsoft.DotNet.Helix.Sdk": "2.0.0-beta.21161.1"
15+
"Microsoft.DotNet.Arcade.Sdk": "1.0.0-beta.21228.7",
16+
"Microsoft.DotNet.Helix.Sdk": "2.0.0-beta.21228.7"
1717
},
1818
"native-tools": {
1919
"strawberry-perl": "5.28.1.1-1",

0 commit comments

Comments
 (0)