diff --git a/build/Targets/Packages.props b/build/Targets/Packages.props
index 48ab2866f2292119cf81ea7a9ae07a9945bc8886..f9c2e02521dffdecb92446aabccdd609a36d19cc 100644
--- a/build/Targets/Packages.props
+++ b/build/Targets/Packages.props
@@ -42,6 +42,7 @@
1.4.0
4.7.2-alpha-00001
1.0.27-prerelease-01811-02
+ 1.0.0-prerelease-02202-02
3.13.8
15.0.26606-alpha
14.3.25407-alpha
diff --git a/build/ToolsetPackages/BaseToolset.csproj b/build/ToolsetPackages/BaseToolset.csproj
index a68187d3d01a702120a2276c88f604978120f414..f335e98b1a0b70022781bf7b4487e7b051660617 100644
--- a/build/ToolsetPackages/BaseToolset.csproj
+++ b/build/ToolsetPackages/BaseToolset.csproj
@@ -12,6 +12,7 @@
+
diff --git a/src/Tools/MicroBuild/Build.proj b/src/Tools/MicroBuild/Build.proj
index b7b2f71861bb6486cd43a4111a8be8db0a9ce008..81b4b75d1ab87a7a7b2ff7276ed96e40c89a7cf1 100644
--- a/src/Tools/MicroBuild/Build.proj
+++ b/src/Tools/MicroBuild/Build.proj
@@ -13,7 +13,9 @@
$(ScriptArgs) -testDesktop
$(ScriptArgs) -signType "real"
$(ScriptArgs) -signType "test"
- $(ScriptArgs) -publish
+ $(ScriptArgs) -publishType "vsts"
+ $(ScriptArgs) -publishType "blob"
+ $(ScriptArgs) -blobFeedUrl $(PB_PublishBlobFeedUrl) -blobFeedKey $(PB_PublishBlobFeedKey)
diff --git a/src/Tools/MicroBuild/PublishBlobAssets.proj b/src/Tools/MicroBuild/PublishBlobAssets.proj
new file mode 100644
index 0000000000000000000000000000000000000000..d5469287dc3e9f2fadc1b84e5f53afc94509687c
--- /dev/null
+++ b/src/Tools/MicroBuild/PublishBlobAssets.proj
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Tools/MicroBuild/microbuild.ps1 b/src/Tools/MicroBuild/microbuild.ps1
index 0a7f8fdccb8af0d23632f5dd9ecb2a5b0705e7e3..761cb2833d074206e1952614bbf1fd28cf0a1c25 100644
--- a/src/Tools/MicroBuild/microbuild.ps1
+++ b/src/Tools/MicroBuild/microbuild.ps1
@@ -7,7 +7,7 @@ param (
[switch]$cibuild = $false,
[string]$branchName = "master",
[switch]$testDesktop = $false,
- [switch]$publish = $false,
+ [string]$publishType = "",
[switch]$help = $false,
[string]$signType = "",
@@ -17,6 +17,8 @@ param (
[string]$gitHubUserName = "",
[string]$gitHubToken = "",
[string]$gitHubEmail = "",
+ [string]$blobFeedUrl = "",
+ [string]$blobFeedKey = "",
[parameter(ValueFromRemainingArguments=$true)] $badArgs)
Set-StrictMode -version 2.0
@@ -30,9 +32,10 @@ function Print-Usage() {
Write-Host " -msbuildDir MSBuild to use for operations"
Write-Host " -cibuild Run CI specific operations"
Write-Host " -testDesktop Run unit tests"
- Write-Host " -publish Run the pubish step"
+ Write-Host " -publishType Publish to run: vsts, blob or none (default is none)"
Write-Host " -branchName Branch being built"
Write-Host " -nugetApiKey Key for NuGet publishing"
+ Write-Host " -signType Signing type: real, test or public (default is public)"
Write-Host " -help Print this message"
}
@@ -133,8 +136,18 @@ try {
Get-Process vbcscompiler -ErrorAction SilentlyContinue | Stop-Process
- if ($publish) {
- Exec-Block { & .\publish-assets.ps1 -configDir $configDir -branchName $branchName -mygetApiKey $mygetApiKey -nugetApiKey $nugetApiKey -gitHubUserName $githubUserName -gitHubToken $gitHubToken -gitHubEmail $gitHubEmail -test:$(-not $official) }
+ switch ($publishType) {
+ "vsts" {
+ Exec-Block { & .\publish-assets.ps1 -configDir $configDir -branchName $branchName -mygetApiKey $mygetApiKey -nugetApiKey $nugetApiKey -gitHubUserName $githubUserName -gitHubToken $gitHubToken -gitHubEmail $gitHubEmail -test:$(-not $official) }
+ break;
+ }
+ "blob" {
+ Exec-Block { & .\publish-blob.ps1 -configDir $configDir -blobFeedUrl $blobFeedUrl -blobFeedKey $blobFeedKey }
+ break;
+ }
+ default {
+ break;
+ }
}
exit 0
diff --git a/src/Tools/MicroBuild/publish-blob.ps1 b/src/Tools/MicroBuild/publish-blob.ps1
new file mode 100644
index 0000000000000000000000000000000000000000..55c816e37c07a68cb43961d223f461654e901048
--- /dev/null
+++ b/src/Tools/MicroBuild/publish-blob.ps1
@@ -0,0 +1,44 @@
+# Publishes our assets to our blob containers
+#
+# Repeatable is important here because we have to assume that publishes can and will fail with some
+# degree of regularity.
+[CmdletBinding(PositionalBinding=$false)]
+Param(
+ # Standard options
+ [string]$configDir = "",
+
+ # Credentials
+ [string]$blobFeedUrl = "",
+ [string]$blobFeedKey = ""
+)
+
+Set-StrictMode -version 2.0
+$ErrorActionPreference="Stop"
+
+try {
+ . (Join-Path $PSScriptRoot "..\..\..\build\scripts\build-utils.ps1")
+ $msbuild, $msbuildDir = Ensure-MSBuildAndDir -msbuildDir $msbuildDir
+
+ if ($blobFeedUrl -eq "") {
+ Write-Host "Need a value for -blobFeedUrl"
+ exit 1
+ }
+
+ if ($blobFeedKey -eq "") {
+ Write-Host "Need a value for -blobFeedKey"
+ exit 1
+ }
+
+ if ($configDir -eq "") {
+ Write-Host "Need a value for -configDir"
+ exit 1
+ }
+
+ Exec-Console $msbuild "/p:ConfigDir=$configDir /p:ExpectedFeedUrl=$blobFeedUrl /p:AccountKey=$blobFeedKey /p:OutputPath=$configDir PublishBlobAssets.proj"
+}
+catch {
+ Write-Host $_
+ Write-Host $_.Exception
+ Write-Host $_.ScriptStackTrace
+ exit 1
+}