1 <Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <UsingTask TaskName="CreateAzureContainer" AssemblyFile="$(BuildToolsTaskDir)Microsoft.DotNet.Build.CloudTestTasks.dll"/>
4 <UsingTask TaskName="UploadToAzure" AssemblyFile="$(BuildToolsTaskDir)Microsoft.DotNet.Build.CloudTestTasks.dll"/>
7 <OverwriteOnPublish Condition="'$(OverwriteOnPublish)' == ''">false</OverwriteOnPublish>
10 <!-- gathers the items to be published -->
11 <Target Name="GatherItemsForPattern">
12 <Error Condition="'$(PublishPattern)' == ''" Text="Please specify a value for PublishPattern using standard msbuild 'include' syntax." />
15 <RelativeBlobPathBase>$(BlobNamePrefix)</RelativeBlobPathBase>
16 <RelativeBlobPathBase Condition="'$(RelativeBlobPathBase)' != '' and !HasTrailingSlash('$(RelativeBlobPathBase)')">$(RelativeBlobPathBase)/</RelativeBlobPathBase>
19 <ForPublishing Include="$(PublishPattern)" />
21 <!-- add relative blob path metadata -->
24 <RelativeBlobPath>$(RelativeBlobPathBase)$([System.String]::Copy('%(RecursiveDir)%(Filename)%(Extension)').Replace('\' ,'/'))</RelativeBlobPath>
27 <Error Condition="'@(ForPublishing)' == ''" Text="No items were found matching pattern '$(PublishPattern)'." />
30 <!-- publishes items to blob storage in Azure -->
31 <Target Name="UploadToAzure" DependsOnTargets="GatherItemsForPattern">
32 <Error Condition="'$(ContainerName)' == ''" Text="Missing property ContainerName." />
33 <Error Condition="'$(CloudDropAccountName)' == ''" Text="Missing property CloudDropAccountName." />
34 <Error Condition="'$(CloudDropAccessToken)' == ''" Text="Missing property CloudDropAccessToken." />
35 <!-- create the container if it doesn't exist -->
37 AccountKey="$(CloudDropAccessToken)"
38 AccountName="$(CloudDropAccountName)"
39 ContainerName="$(ContainerName)" />
40 <!-- now upload the items -->
42 AccountKey="$(CloudDropAccessToken)"
43 AccountName="$(CloudDropAccountName)"
44 ContainerName="$(ContainerName)"
45 Items="@(ForPublishing)"
46 Overwrite="$(OverwriteOnPublish)" />