-
Notifications
You must be signed in to change notification settings - Fork 4.7k
/
libraries-packages.proj
71 lines (59 loc) · 3.65 KB
/
libraries-packages.proj
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<Project Sdk="Microsoft.Build.Traversal" DefaultTargets="Pack">
<PropertyGroup>
<AdditionalBuildTargetFrameworks Condition="'$(DotNetBuildFromSource)' == 'true'">$(AdditionalBuildTargetFrameworks);package-$(Configuration)</AdditionalBuildTargetFrameworks>
</PropertyGroup>
<PropertyGroup>
<PackagingTaskAssembly>$(NuGetPackageRoot)microsoft.dotnet.build.tasks.packaging\$(MicrosoftDotNetBuildTasksPackagingVersion)\tools\</PackagingTaskAssembly>
<PackagingTaskAssembly Condition="'$(MSBuildRuntimeType)' == 'core'">$(PackagingTaskAssembly)netcoreapp3.1\</PackagingTaskAssembly>
<PackagingTaskAssembly Condition="'$(MSBuildRuntimeType)' != 'core'">$(PackagingTaskAssembly)net472\</PackagingTaskAssembly>
<PackagingTaskAssembly>$(PackagingTaskAssembly)Microsoft.DotNet.Build.Tasks.Packaging.dll</PackagingTaskAssembly>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="$(PkgDir)*\*.proj" Exclude="$(PkgDir)test\*" />
<ProjectReference Include="$(MSBuildThisFileDirectory)*\src\*.*proj"
Condition="('$(BuildAllConfigurations)' == 'true' or '$(DotNetBuildFromSource)' == 'true')"
Exclude="$(MSBuildThisFileDirectory)*\src\**\*.shproj"/>
</ItemGroup>
<!-- Need the PackageIndexFile file property from baseline.props -->
<Import Project="$(PkgDir)baseline\baseline.props" />
<!-- Calculate PackageDownload items for restore. Skip this logic during source build to avoid pre-builts. -->
<Import Project="$(RepositoryEngineeringDir)restore\harvestPackages.targets" Condition="'$(MSBuildRestoreSessionId)' != '' and '$(DotNetBuildFromSource)' != 'true'" />
<!--
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.
-->
<UsingTask TaskName="UpdatePackageIndex" AssemblyFile="$(PackagingTaskAssembly)"/>
<Target Name="UpdatePackageIndexWithStableVersions"
BeforeTargets="Build;Pack"
Condition="'$(DotNetFinalVersionKind)' == 'release'">
<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="$(PkgDir)*\*.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>
<Target Name="SetAzureDevOpsVariableForBuiltPackages"
Condition="'$(ContinuousIntegrationBuild)' == 'true'"
AfterTargets="Build;Pack">
<ItemGroup>
<_PackageReports Include="$(PackageReportDir)*.json" />
</ItemGroup>
<Message Condition="'@(_PackageReports)' != '' and Exists('$(ArtifactsDir)packages')" Importance="High" Text="##vso[task.setvariable variable=_librariesBuildProducedPackages]true" />
</Target>
</Project>