Update sync.cmd to download Azure Blobs. Also change publish.proj to publish packages...
authorwtgodbe <wigodbe@microsoft.com>
Mon, 23 May 2016 21:31:19 +0000 (14:31 -0700)
committerwtgodbe <wigodbe@microsoft.com>
Mon, 23 May 2016 21:31:19 +0000 (14:31 -0700)
src/publish.proj
src/syncAzure.proj [new file with mode: 0644]
sync.cmd

index 5dad58c38b1c354bb91c93b0148503f4b847fd4f..8fb771eb7fdd299993c36447da8b853e6cfe2923 100644 (file)
@@ -5,7 +5,7 @@
   <Import Project="$(ToolsDir)versioning.targets" />
 
   <PropertyGroup>
-    <PublishPattern Condition="'$(PublishPattern)' == ''">$(PackageOutputPath)\*.nupkg;$(SymbolPackageOutputPath)\*.nupkg</PublishPattern>
+    <PublishPattern Condition="'$(PublishPattern)' == ''">$(PackagesBinDir)**\*.nupkg</PublishPattern>
   </PropertyGroup>
 
   <Target Name="CreateContainerName"
diff --git a/src/syncAzure.proj b/src/syncAzure.proj
new file mode 100644 (file)
index 0000000..fbfbea0
--- /dev/null
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+
+  <PropertyGroup>
+    <ContainerNamePrefix Condition="'$(ContainerNamePrefix)' == ''">coreclr-$(PreReleaseLabel)</ContainerNamePrefix>
+    <ContainerName Condition="'$(ContainerNamePrefix)' != '' and '$(BuildNumberMajor)' != '' and '$(BuildNumberMinor)' != ''">$(ContainerNamePrefix)-$(BuildNumberMajor)-$(BuildNumberMinor)</ContainerName>
+    <DownloadDirectory>$(PackagesDir)AzureTransfer</DownloadDirectory>
+  </PropertyGroup>
+
+  <Import Project="$(ToolsDir)SyncCloudContent.targets" />
+
+  <Target Name="ValidateRequiredProperties">
+    <Error Condition="'$(CloudDropAccountName)' == ''" Text="Missing property CloudDropAccountName." />
+    <Error Condition="'$(CloudDropAccessToken)' == ''" Text="Missing property CloudDropAccessToken." />
+  </Target>
+
+  <Target Name="Build" DependsOnTargets="ValidateRequiredProperties;DownloadBlobsFromAzureTargets" />
+</Project>
\ No newline at end of file
index 70bde8ce87b4cec9fdccf6268969ac70767cf89c..b4886b278948dee455d664b3e67e6b8c88c40598 100644 (file)
--- a/sync.cmd
+++ b/sync.cmd
@@ -5,12 +5,14 @@ set synclog=sync.log
 echo Running Sync.cmd %* > %synclog%
 
 set options=/nologo /v:minimal /clp:Summary /flp:v=detailed;Append;LogFile=%synclog%
+
+set "__args= %*"
+set processedArgs=
 set unprocessedBuildArgs=
-set allargs=%*
-set thisArgs=
 
 set src=false
 set packages=false
+set azureBlobs=false
 
 if [%1]==[] (
   set src=true
@@ -26,17 +28,27 @@ if /I [%1] == [/help] goto Usage
 
 if /I [%1] == [/p] (
     set packages=true
-    set thisArgs=!thisArgs!%1
+    set processedArgs=!processedArgs! %1
     goto Next
 )
 
 if /I [%1] == [/s] (
     set src=true
-    set thisArgs=!thisArgs!%1
+    set processedArgs=!processedArgs! %1
+    goto Next
+)
+
+if /I [%1] == [/ab] (
+    set azureBlobs=true
+    set processedArgs=!processedArgs! %1
     goto Next
 )
 
-set unprocessedBuildArgs=!unprocessedBuildArgs! %1
+if [!processedArgs!]==[] (
+  call set unprocessedBuildArgs=!__args!
+) else (
+  call set unprocessedBuildArgs=%%__args:*!processedArgs!=%%
+)
 
 :Next
 shift /1
@@ -55,6 +67,16 @@ if [%src%] == [true] (
   )
 )
 
+if [%azureBlobs%] == [true] (
+  echo Connecting and downloading packages from Azure BLOB ...
+  echo msbuild.exe %~dp0src\syncAzure.proj !options! !unprocessedBuildArgs! >> %synclog%
+  call msbuild.exe %~dp0src\syncAzure.proj !options! !unprocessedBuildArgs!
+  if NOT [!ERRORLEVEL!]==[0] (
+    echo ERROR: An error occurred while downloading packages from Azure BLOB, see %synclog% for more details. There may have been networking problems so please try again in a few minutes.
+    exit /b 1
+  )
+)
+
 set targets=RestoreNETCorePlatforms
 
 if [%packages%] == [true] (
@@ -80,5 +102,13 @@ echo Options:
 echo     /s     - Fetches source history from all configured remotes
 echo              (git fetch --all -p -v)
 echo     /p     - Restores all nuget packages for repository
+echo     /ab    - Downloads the latests product packages from Azure.
+echo              The following properties are required:
+echo                 /p:CloudDropAccountName="Account name"
+echo                 /p:CloudDropAccessToken="Access token"
+echo              To download a specific group of product packages, specify:
+echo                 /p:BuildNumberMajor
+echo                 /p:BuildNumberMinor
+echo.
 echo.
 echo If no option is specified then sync.cmd /s /p is implied.
\ No newline at end of file