Skip to content

Commit

Permalink
Publish the SDK NuGet packages to the Transport Feed (dotnet#1687)
Browse files Browse the repository at this point in the history
* Publish the SDK NuGet packages to the Transport Feed.
dotnet/sdk#1637

* Changes per code review...
  • Loading branch information
johnbeisner authored Oct 26, 2017
1 parent 3174e2a commit fc3e52d
Show file tree
Hide file tree
Showing 3 changed files with 85 additions and 3 deletions.
3 changes: 0 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -112,9 +112,6 @@ DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html

# Click-Once directory
publish/

# Publish Web Output
*.Publish.xml

Expand Down
22 changes: 22 additions & 0 deletions build/Publish/Publish.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<Project Sdk="Microsoft.NET.Sdk" ToolsVersion="15.0">
<PropertyGroup>
<BuildTasksFeedDllVersion>1.0.0-prerelease-01929-02</BuildTasksFeedDllVersion>
</PropertyGroup>

<Import Project="$(MSBuildThisFileDirectory)\PublishNupkgToTransportFeed.targets" />

<PropertyGroup>
<TargetFramework>net46</TargetFramework>
<CopyBuildOutputToOutputDirectory>false</CopyBuildOutputToOutputDirectory>
<CopyOutputSymbolsToOutputDirectory>false</CopyOutputSymbolsToOutputDirectory>
<OutputType>Library</OutputType>
<GenerateDependencyFile>false</GenerateDependencyFile>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<NonShipping>true</NonShipping>
<NoStdLib>true</NoStdLib>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.DotNet.Build.Tasks.Feed" Version="$(BuildTasksFeedDllVersion)" />
</ItemGroup>
</Project>
63 changes: 63 additions & 0 deletions build/Publish/PublishNupkgToTransportFeed.targets
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), 'Common.props'))\Common.props" />

<PropertyGroup>
<!-- Capture 'OutputPath' before Publish.csproj modifies it -->
<OutputPathTransportFeed>$(OutputPath)</OutputPathTransportFeed>
<BuildTasksFeedDll>$(NuGet_Packages)\Microsoft.DotNet.Build.Tasks.Feed\$(BuildTasksFeedDllVersion)\lib\desktop\Microsoft.DotNet.Build.Tasks.Feed.dll</BuildTasksFeedDll>
</PropertyGroup>

<UsingTask TaskName="PushToBlobFeed" AssemblyFile="$(BuildTasksFeedDll)" />

<ItemGroup>
<NupkgsForPublishing Include="$(OutputPathTransportFeed)Packages\Microsoft.NET.Sdk.*.nupkg" />
<NupkgsForPublishing Include="$(OutputPathTransportFeed)Packages\Microsoft.NET.Build.Extensions.*.nupkg" />
</ItemGroup>

<PropertyGroup>
<RelativePath>packages</RelativePath>
<TransportFeedContainerName>$(TRANSPORTFEED_STORAGE_CONTAINER)</TransportFeedContainerName>
<TransportFeedContainerName Condition="'$(TransportFeedContainerName)' == ''">dotnet-core</TransportFeedContainerName>
<TransportFeedCloudDropAccessToken>$(TRANSPORTFEED_STORAGE_KEY)</TransportFeedCloudDropAccessToken>
<TransportFeedCloudDropAccountName>$(TRANSPORTFEED_STORAGE_ACCOUNT)</TransportFeedCloudDropAccountName>
<TransportFeedCloudDropAccountName Condition="'$(TransportFeedCloudDropAccountName)' == ''">dotnetfeed</TransportFeedCloudDropAccountName>
</PropertyGroup>

<Target Name="PublishNupkgToTransportFeed"
Condition=" '$(PUBLISH_NUPKG_TO_TRANSPORT_FEED)' == 'true' "
DependsOnTargets="RestorePackageForTransportFeed;
PushNupkgToTransportFeed" />

<Target Name="RestorePackageForTransportFeed">
<PropertyGroup>
<NewLineTF>
<![CDATA[
]]>
</NewLineTF>
<SetNuget_PackagesTF>set NUGET_PACKAGES=$(NuGet_Packages)</SetNuget_PackagesTF>
<SetDotnet_Skip_FirstTime>set DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true</SetDotnet_Skip_FirstTime>
<PublishProjectFile>"$(MSBuildThisFileDirectory)Publish.csproj"</PublishProjectFile>
</PropertyGroup>

<Exec Command="$(SetNuget_PackagesTF)$(NewLineTF)$(SetDotnet_Skip_FirstTime)$(NewLineTF)$(DotNetTool) restore $(PublishProjectFile) /v:minimal"
WorkingDirectory="$(RepositoryRootDirectory)" />
</Target>

<Target Name="PushNupkgToTransportFeed" >
<Error Condition="'$(TransportFeedContainerName)' == ''" Text="Missing property TransportFeedContainerName." />
<Error Condition="'$(TransportFeedCloudDropAccountName)' == ''" Text="Missing property TransportFeedCloudDropAccountName." />
<Error Condition="'$(TransportFeedCloudDropAccessToken)' == ''" Text="Missing property TransportFeedCloudDropAccessToken." />

<Message Text="Publish to $(TransportFeedContainerName) started" />
<PushToBlobFeed AccountKey="$(TransportFeedCloudDropAccessToken)"
AccountName="$(TransportFeedCloudDropAccountName)"
ContainerName="$(TransportFeedContainerName)"
IndexDirectory="$(IndexDirectory)"
ItemsToPush="@(NupkgsForPublishing)"
Overwrite="false"
PublishFlatContainer="false"
RelativePath="$(RelativePath)" />
</Target>

</Project>

0 comments on commit fc3e52d

Please sign in to comment.