Xamarin Public Jenkins (auto-signing) 64ac736ec5 Imported Upstream version 6.0.0.172
Former-commit-id: f3cc9b82f3e5bd8f0fd3ebc098f789556b44e9cd
2019-04-12 14:10:50 +00:00

90 lines
4.8 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="BuildAndTest" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
<PackageReportDir Condition="'$(PackageReportDir)' == ''">$(BinDir)pkg/reports/</PackageReportDir>
<BuildAllPackages>false</BuildAllPackages>
</PropertyGroup>
<ItemGroup Condition="'$(BuildAllPackages)' == 'true'">
<Project Include="$(MSBuildThisFileDirectory)..\pkg\*\*.builds" Condition="'$(SkipManagedPackageBuild)' != 'true'">
<AdditionalProperties>$(AdditionalProperties)</AdditionalProperties>
</Project>
<Project Include="*\pkg\**\*.pkgproj" Condition="'$(SkipManagedPackageBuild)' != 'true' AND '$(BuildAllConfigurations)' == 'true'">
<AdditionalProperties>$(AdditionalProperties)</AdditionalProperties>
</Project>
</ItemGroup>
<ItemGroup Condition="'$(BuildAllPackages)' == 'false' AND '$(SkipManagedPackageBuild)' != 'true'" >
<Project Include="$(MSBuildThisFileDirectory)..\pkg\Microsoft.Private.PackageBaseline\Microsoft.Private.PackageBaseline.builds">
<AdditionalProperties>$(AdditionalProperties)</AdditionalProperties>
</Project>
<Project Include="$(MSBuildThisFileDirectory)..\pkg\Microsoft.Private.CoreFx.NETCoreApp\Microsoft.Private.CoreFx.NETCoreApp.builds">
<AdditionalProperties>$(AdditionalProperties)</AdditionalProperties>
</Project>
<!-- add specific builds / pkgproj's here to include in servicing builds -->
<!--
In general we are servicing 2.x library packages from release/2.1 branch so only add library packages
to this build if they contain unique 2.2 features. If they are added here you need to ensure their
versions are bumped higher then what has shipped in release/2.1.
-->
</ItemGroup>
<!-- Need the PackageIndexFile file property from baseline.props -->
<Import Project="../pkg/baseline/baseline.props" />
<UsingTask TaskName="UpdatePackageIndex" AssemblyFile="$(PackagingTaskDir)Microsoft.DotNet.Build.Tasks.Packaging.dll"/>
<!--
Updates the package index to mark all packages we are building that can go stable as stable.
this will allow for a kicked off build to control package stability at queue time. This does edit
the package index in-place but that shouldn't cause any problems for official builds are the only
ones that might do this. After we ship a stable set of packages this target should be ran and the
changes to the package index should be commited to the repo.
-->
<Target Name="UpdatePackageIndexWithStableVersions"
BeforeTargets="BuildAllProjects"
Condition="'$(IncludePreReleaseLabelInPackageVersion)' != 'true'">
<ItemGroup>
<!--
The private packages don't get stabilized so they don't need to be included
in the set of packages that we are gathering stable versions from.
-->
<PkgProjects Include="$(MSBuildThisFileDirectory)..\pkg\*\*.pkgproj" Exclude="$(MSBuildThisFileDirectory)..\pkg\*Private*\*.pkgproj" />
<PkgProjects Include="*\pkg\**\*.pkgproj" />
</ItemGroup>
<MSBuild Targets="GetPackageIdentityIfStable"
BuildInParallel="$(BuildInParallel)"
Projects="@(PkgProjects)"
RemoveProperties="Configuration">
<Output TaskParameter="TargetOutputs"
ItemName="_StablePackages" />
</MSBuild>
<Message Text="Marking package '%(_StablePackages.Identity)' stable with version '%(_StablePackages.Version)'" />
<UpdatePackageIndex
PackageIndexFile="$(PackageIndexFile)"
StablePackages="@(_StablePackages)" />
</Target>
<UsingTask TaskName="GenerateNetStandardSupportTable" AssemblyFile="$(PackagingTaskDir)Microsoft.DotNet.Build.Tasks.Packaging.dll" />
<Target Name="GenerateNETStandardDocs">
<Error Condition="'$(WcfPackageReportDir)' == ''"
Text="WcfPackageReportDir must be specified to point to the package report directory of the WCF repo. EG: /p:WcfPackageReportDir=c:\src\wcf\bin\pkg\reports\" />
<ItemGroup>
<Reports Include="$(PackageReportDir)*.json" />
<Reports Include="$(WcfPackageReportDir)*.json" />
</ItemGroup>
<GenerateNetStandardSupportTable Reports="@(Reports)" DocFilePath="$(ProjectDir)Documentation\architecture\net-platform-standard.md" InsertIntoFile="True" />
</Target>
<!-- Importing versioning.targets adds the hooks so that a traversal build will generate the "SyncInfoFile" (version.txt) which we package. -->
<Import Project="$(ToolsDir)versioning.targets" Condition="Exists('$(ToolsDir)versioning.targets')" />
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.traversal.targets))\dir.traversal.targets" />
</Project>