diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index fe20993fa..147d74ea3 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -32,9 +32,9 @@
-
+
https://github.com/dotnet/arcade
- 044309163eadaad0068156f0327af458d562f171
+ 9a5da1c8a3232c6304955c7a6ffe6109a1b13d9f
diff --git a/eng/common/internal/Directory.Build.targets b/eng/common/internal/Directory.Build.targets
deleted file mode 100644
index 5d26408a9..000000000
--- a/eng/common/internal/Directory.Build.targets
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
diff --git a/eng/common/internal/Tools.csproj b/eng/common/internal/Tools.csproj
index 1d2e21837..1a81ff906 100644
--- a/eng/common/internal/Tools.csproj
+++ b/eng/common/internal/Tools.csproj
@@ -3,6 +3,7 @@
net472
+ false
@@ -16,4 +17,7 @@
https://devdiv.pkgs.visualstudio.com/_packaging/VS/nuget/v3/index.json;
+
+
+
diff --git a/eng/common/templates/job/job.yml b/eng/common/templates/job/job.yml
index 5e293db35..98ca94c32 100644
--- a/eng/common/templates/job/job.yml
+++ b/eng/common/templates/job/job.yml
@@ -41,18 +41,11 @@ parameters:
enablePublishTestResults: false
# Optional: enable sending telemetry
- # if 'true', these "variables" must be specified in the variables object or as part of the queue matrix
- # _HelixBuildConfig - differentiate between Debug, Release, other
- # _HelixType - Example: build/product/
- # _HelixSource - Example: official/dotnet/arcade/$(Build.SourceBranch)
enableTelemetry: false
- # Optional: If specified, then automatically derive "_HelixSource" variable for telemetry
+ # Optional: define the helix repo for telemeetry (example: 'dotnet/arcade')
helixRepo: ''
- # Optional: Define the type for helix telemetry (must end in '/')
- helixType: build/product/
-
# Required: name of the job
name: ''
@@ -115,29 +108,20 @@ jobs:
- name: ${{ pair.key }}
value: ${{ pair.value }}
- # Add additional variables
- - ${{ if and(ne(parameters.helixRepo, ''), eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notIn(variables['Build.Reason'], 'PullRequest')) }}:
- - name: _HelixSource
- value: official/${{ parameters.helixRepo }}/$(Build.SourceBranch)
- - ${{ if and(ne(parameters.helixRepo, ''), or(ne(parameters.runAsPublic, 'false'), eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest'))) }}:
- - name: _HelixSource
- value: pr/${{ parameters.helixRepo }}/$(Build.SourceBranch)
- - name: _HelixType
- value: ${{ parameters.helixType }}
- - name: _HelixBuildConfig
- value: $(_BuildConfig)
-
${{ if ne(parameters.workspace, '') }}:
workspace: ${{ parameters.workspace }}
steps:
- ${{ if eq(parameters.enableTelemetry, 'true') }}:
- - template: /eng/common/templates/steps/telemetry-start.yml
- parameters:
- buildConfig: $(_HelixBuildConfig)
- helixSource: $(_HelixSource)
- helixType: $(_HelixType)
+ # Telemetry tasks are built from https://github.com/dotnet/arcade-extensions
+ - task: sendStartTelemetry@0
+ displayName: 'Send Helix Start Telemetry'
+ inputs:
+ helixRepo: ${{ parameters.helixRepo }}
+ buildConfig: $(_BuildConfig)
runAsPublic: ${{ parameters.runAsPublic }}
+ continueOnError: ${{ parameters.continueOnError }}
+ condition: always()
- ${{ if eq(parameters.enableMicrobuild, 'true') }}:
- ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
@@ -165,11 +149,15 @@ jobs:
TeamName: $(_TeamName)
- ${{ if eq(parameters.enableTelemetry, 'true') }}:
- - template: /eng/common/templates/steps/telemetry-end.yml
+ # Telemetry tasks are built from https://github.com/dotnet/arcade-extensions
+ - task: sendEndTelemetry@0
+ displayName: 'Send Helix End Telemetry'
+ continueOnError: ${{ parameters.continueOnError }}
+ condition: always()
- ${{ if eq(parameters.enablePublishBuildArtifacts, 'true') }}:
- task: PublishBuildArtifacts@1
- displayName: Publish Logs to VSTS
+ displayName: Publish Logs
inputs:
PathtoPublish: '$(Build.SourcesDirectory)/artifacts/log/$(_BuildConfig)'
PublishLocation: Container
diff --git a/eng/common/templates/jobs/jobs.yml b/eng/common/templates/jobs/jobs.yml
index c7226b12e..c1a5b4849 100644
--- a/eng/common/templates/jobs/jobs.yml
+++ b/eng/common/templates/jobs/jobs.yml
@@ -18,21 +18,15 @@ parameters:
enablePublishTestResults: false
# Optional: enable sending telemetry
- # if 'true', these "variables" must be specified in the variables object or as part of the queue matrix
- # _HelixBuildConfig - differentiate between Debug, Release, other
- # _HelixType - Example: build/product/
- # _HelixSource - Example: official/dotnet/arcade/$(Build.SourceBranch)
+ # if enabled then the 'helixRepo' parameter should also be specified
enableTelemetry: false
# Required: A collection of jobs to run - https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=vsts&tabs=schema#job
jobs: []
- # Optional: If specified, then automatically derive "_HelixSource" variable for telemetry
+ # Optional: define the helix repo for telemetry (example: 'dotnet/arcade')
helixRepo: ''
- # Optional: Define the type for helix telemetry (must end in '/')
- helixType: build/product/
-
# Optional: Override automatically derived dependsOn value for "publish build assets" job
publishBuildAssetsDependsOn: ''
diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1
index c0a559589..d1ed296dd 100644
--- a/eng/common/tools.ps1
+++ b/eng/common/tools.ps1
@@ -211,7 +211,7 @@ function InitializeVisualStudioMSBuild([bool]$install, [object]$vsRequirements =
$vsMajorVersion = $vsInfo.installationVersion.Split('.')[0]
InitializeVisualStudioEnvironmentVariables $vsInstallDir $vsMajorVersion
- } elseif ($install) {
+ } else {
if (Get-Member -InputObject $GlobalJson.tools -Name "xcopy-msbuild") {
$xcopyMSBuildVersion = $GlobalJson.tools.'xcopy-msbuild'
@@ -221,9 +221,10 @@ function InitializeVisualStudioMSBuild([bool]$install, [object]$vsRequirements =
$xcopyMSBuildVersion = "$vsMajorVersion.$($vsMinVersion.Minor).0-alpha"
}
- $vsInstallDir = InstallXCopyMSBuild $xcopyMSBuildVersion
- } else {
- throw "Unable to find Visual Studio that has required version and components installed"
+ $vsInstallDir = InitializeXCopyMSBuild $xcopyMSBuildVersion $install
+ if ($vsInstallDir -eq $null) {
+ throw "Unable to find Visual Studio that has required version and components installed"
+ }
}
$msbuildVersionDir = if ([int]$vsMajorVersion -lt 16) { "$vsMajorVersion.0" } else { "Current" }
@@ -241,12 +242,20 @@ function InitializeVisualStudioEnvironmentVariables([string] $vsInstallDir, [str
}
}
-function InstallXCopyMSBuild([string] $packageVersion) {
+function InstallXCopyMSBuild([string]$packageVersion) {
+ return InitializeXCopyMSBuild $packageVersion -install $true
+}
+
+function InitializeXCopyMSBuild([string]$packageVersion, [bool]$install) {
$packageName = "RoslynTools.MSBuild"
$packageDir = Join-Path $ToolsDir "msbuild\$packageVersion"
$packagePath = Join-Path $packageDir "$packageName.$packageVersion.nupkg"
if (!(Test-Path $packageDir)) {
+ if (!$install) {
+ return $null
+ }
+
Create-Directory $packageDir
Write-Host "Downloading $packageName $packageVersion"
Invoke-WebRequest "https://dotnet.myget.org/F/roslyn-tools/api/v2/package/$packageName/$packageVersion/" -OutFile $packagePath
diff --git a/global.json b/global.json
index 06e11fa06..f606a04bd 100644
--- a/global.json
+++ b/global.json
@@ -3,6 +3,6 @@
"dotnet": "3.0.100-preview-009812"
},
"msbuild-sdks": {
- "Microsoft.DotNet.Arcade.Sdk": "1.0.0-beta.19108.1"
+ "Microsoft.DotNet.Arcade.Sdk": "1.0.0-beta.19112.3"
}
}