echo"BuildArch can be: arm(default), armel, arm64, x86"
echo"CodeName - optional, Code name for Linux, can be: trusty, xenial(default), zesty, bionic, alpine. If BuildArch is armel, LinuxCodeName is jessie(default) or tizen."
echo"CodeName - optional, Code name for Linux, can be: trusty, xenial(default), zesty, bionic, alpine, alpine3.9 or alpine3.13. If BuildArch is armel, LinuxCodeName is jessie(default) or tizen."
echo" for FreeBSD can be: freebsd11 or freebsd12."
echo" for illumos can be: illumos."
echo"lldbx.y - optional, LLDB version, can be: lldb3.9(default), lldb4.0, lldb5.0, lldb6.0 no-lldb. Ignored for alpine and FReeBSD"
[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:
# Then, we set the 'VSS_NUGET_EXTERNAL_FEED_ENDPOINTS' environment variable to restore from the stable
# feeds successfully
$nugetConfigPath="$RepoRoot\NuGet.config"
$nugetConfigPath=Join-Path$RepoRoot"NuGet.config"
if(-Not(Test-Path-Path$nugetConfigPath)){
Write-PipelineTelemetryError-Category'Build'-Message'NuGet.config file not found in repo root!'
ExitWithExitCode1
ExitWithExitCode1
}
$endpoints=New-ObjectSystem.Collections.ArrayList
@ -63,8 +63,6 @@ function SetupCredProvider {
}
if(($endpoints|Measure-Object).Count-gt0){
# [SuppressMessage("Microsoft.Security", "CS002:SecretInNextLine", Justification="Endpoint code example with no real credentials.")]
# Create the JSON object. It should look like '{"endpointCredentials": [{"endpoint":"http://example.index.json", "username":"optional", "password":"accesstoken"}]}'
# Then, we set the 'VSS_NUGET_EXTERNAL_FEED_ENDPOINTS' environment variable to restore from the stable
# feeds successfully
localnugetConfigPath="$repo_root/NuGet.config"
localnugetConfigPath="{$repo_root}NuGet.config"
if[ ! "$nugetConfigPath"];then
Write-PipelineTelemetryError -category 'Build'"NuGet.config file not found in repo's root!"
@ -62,8 +62,6 @@ function SetupCredProvider {
endpoints+=']'
if[${#endpoints} -gt 2];then
# [SuppressMessage("Microsoft.Security", "CS002:SecretInNextLine", Justification="Endpoint code example with no real credentials.")]
# Create the JSON object. It should look like '{"endpointCredentials": [{"endpoint":"http://example.index.json", "username":"optional", "password":"accesstoken"}]}'
@ -219,11 +267,11 @@ function CheckSymbolsAvailable {
if($TotalFailures-gt0-or$DupedSymbols-gt0){
if($TotalFailures-gt0){
Write-PipelineTelemetryError-Category'CheckSymbols'-Message"Symbols missing for $TotalFailures packages"
Write-PipelineTelemetryError-Category'CheckSymbols'-Message"Symbols missing for $TotalFailures/$TotalPackages packages"
}
if($DupedSymbols-gt0){
Write-PipelineTelemetryError-Category'CheckSymbols'-Message"$DupedSymbols packages had duplicated symbol files"
Write-PipelineTelemetryError-Category'CheckSymbols'-Message"$DupedSymbols/$TotalPackages packages had duplicated symbol files and could not be extracted"
- script:echo "##vso[task.logissue type=warning]Going forward, v2 Arcade publishing is no longer supported. Please read https://github.com/dotnet/arcade/blob/main/Documentation/CorePackages/Publishing.md for details, then contact dnceng if you have further questions."
displayName:Warn about v2 Arcade Publishing Usage
# This is necessary whenever we want to publish/restore to an AzDO private feed
- task:NuGetAuthenticate@0
displayName:'Authenticate to AzDO Feeds'
@ -58,6 +61,7 @@ stages:
PdbArtifacts/**
BlobArtifacts/**
downloadPath:'$(Build.ArtifactStagingDirectory)'
checkDownloadedFiles:true
# This is necessary whenever we want to publish/restore to an AzDO private feed
# Since sdk-task.ps1 tries to restore packages we need to do this authentication here
@ -109,6 +113,9 @@ stages:
pool:
vmImage:'windows-2019'
steps:
- script:echo "##vso[task.logissue type=warning]Going forward, v2 Arcade publishing is no longer supported. Please read https://github.com/dotnet/arcade/blob/main/Documentation/CorePackages/Publishing.md for details, then contact dnceng if you have further questions."
- script:echo "##vso[task.logissue type=warning]Going forward, v2 Arcade publishing is no longer supported. Please read https://github.com/dotnet/arcade/blob/main/Documentation/CorePackages/Publishing.md for details, then contact dnceng if you have further questions."
displayName:Warn about v2 Arcade Publishing Usage
- task:DownloadBuildArtifacts@0
displayName:Download Build Assets
continueOnError:true
@ -56,6 +59,7 @@ stages:
PdbArtifacts/**
BlobArtifacts/**
downloadPath:'$(Build.ArtifactStagingDirectory)'
checkDownloadedFiles:true
# This is necessary whenever we want to publish/restore to an AzDO private feed
# Since sdk-task.ps1 tries to restore packages we need to do this authentication here
@ -108,6 +112,9 @@ stages:
pool:
vmImage:'windows-2019'
steps:
- script:echo "##vso[task.logissue type=warning]Going forward, v2 Arcade publishing is no longer supported. Please read https://github.com/dotnet/arcade/blob/main/Documentation/CorePackages/Publishing.md for details, then contact dnceng if you have further questions."
XUnitRuntimeTargetFramework:''# optional -- framework to use for the xUnit console runner
XUnitRunnerVersion:''# optional -- version of the xUnit nuget package you wish to use on Helix; required for XUnitProjects
IncludeDotNetCli:false# optional -- true will download a version of the .NET CLI onto the Helix machine as a correlation payload; requires DotNetCliPackageType and DotNetCliVersion
DotNetCliPackageType:''# optional -- either 'sdk', 'runtime' or 'aspnetcore-runtime'; determines whether the sdk or runtime will be sent to Helix; see https://raw.githubusercontent.com/dotnet/core/master/release-notes/releases-index.json
DotNetCliVersion: '' # optional -- version of the CLI to send to Helix; based on this:https://raw.githubusercontent.com/dotnet/core/master/release-notes/releases-index.json
DotNetCliPackageType:''# optional -- either 'sdk', 'runtime' or 'aspnetcore-runtime'; determines whether the sdk or runtime will be sent to Helix; see https://raw.githubusercontent.com/dotnet/core/main/release-notes/releases-index.json
DotNetCliVersion: '' # optional -- version of the CLI to send to Helix; based on this:https://raw.githubusercontent.com/dotnet/core/main/release-notes/releases-index.json
EnableXUnitReporter:false# optional -- true enables XUnit result reporting to Mission Control
WaitForWorkItemCompletion:true# optional -- true will make the task wait until work items have been completed and fail the build if work items fail. False is "fire and forget."
IsExternal:false# [DEPRECATED] -- doesn't do anything, jobs are external if HelixAccessToken is empty and Creator is set