-
Notifications
You must be signed in to change notification settings - Fork 0
/
Usage.Examples.Multitarget.Hybrid.csproj
84 lines (68 loc) · 5.33 KB
/
Usage.Examples.Multitarget.Hybrid.csproj
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
72
73
74
75
76
77
78
79
80
81
82
83
84
<Project Sdk="Microsoft.NET.Sdk">
<!-- "CreateNew" does in fact work. This is what results.
We could potentially inject some whitespace, but this is perfectly fine for now. -->
<PropertyGroup>
<PackageVersion>2024.162.2026.1</PackageVersion>
<InformationalVersion>2024.162.2026.1</InformationalVersion>
<AssemblyVersion>2024.162.2026.1</AssemblyVersion>
<FileVersion>2024.162.2026.1</FileVersion>
<Version>2024.162.2026.1</Version>
</PropertyGroup>
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<RootNamespace>Usage.Examples.Multitarget.Hybrid</RootNamespace>
</PropertyGroup>
<PropertyGroup>
<BumpAssemblyVersionsVersion>1.9.0</BumpAssemblyVersionsVersion>
<VerboseBumpAssemblyVersions>true</VerboseBumpAssemblyVersions>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="BumpAssemblyVersions" Version="1.9.0">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
</ItemGroup>
<ItemGroup>
<!-- Legit, "Year" will, in fact, yield two or more such providers. This is by design in order to avoid errant provider references,
and I now call it out by name when it happens. Need to specify something more than that, like "YearVersion". -->
<BumpVersionSpec Include="Version" DefaultVersion="0.0.0.0" CreateNew="true" UseUtc="true" MayReset="true" MajorProviderTemplate="YearVersion" MinorProviderTemplate="DayOfYear" PatchProviderTemplate="HourMinute" BuildProviderTemplate="Increment" />
<!-- Additionally, "MayReset" now is be applicable in a provider agnostic manner.
Documentation in the README is already up to date with this design decision. -->
<BumpVersionSpec Include="AssemblyVersion" DefaultVersion="0.0.0.0" CreateNew="true" UseUtc="true" MayReset="true" MajorProviderTemplate="YearVersion" MinorProviderTemplate="DayOfYear" PatchProviderTemplate="HourMinute" BuildProviderTemplate="Increment" />
<BumpVersionSpec Include="FileVersion" DefaultVersion="0.0.0.0" CreateNew="true" UseUtc="true" MayReset="true" MajorProviderTemplate="YearVersion" MinorProviderTemplate="DayOfYear" PatchProviderTemplate="HourMinute" BuildProviderTemplate="Increment" />
<BumpVersionSpec Include="InformationalVersion" DefaultVersion="0.0.0.0" CreateNew="true" UseUtc="true" MayReset="true" MajorProviderTemplate="YearVersion" MinorProviderTemplate="DayOfYear" PatchProviderTemplate="HourMinute" BuildProviderTemplate="Increment" />
<BumpVersionSpec Include="PackageVersion" DefaultVersion="0.0.0.0" CreateNew="true" UseUtc="true" MayReset="true" MajorProviderTemplate="YearVersion" MinorProviderTemplate="DayOfYear" PatchProviderTemplate="HourMinute" BuildProviderTemplate="Increment" />
</ItemGroup>
<!-- TODO: we think that the 'generated' props/targets importation may be evaluating things prior to seeing things like target frameworks (?) -->
<!-- TODO: not sure how/why that would be possible... -->
<Target Name="BavAfterGetTargetFrameworks" AfterTargets="GetTargetFrameworks" BeforeTargets="BeforeBuild">
<PropertyGroup Condition="'$(TargetFramework)' != ''">
<BavBeforeTargets>BeforeBuild</BavBeforeTargets>
</PropertyGroup>
<PropertyGroup Condition="'$(TargetFramework)' == ''">
<BavBeforeTargets>DispatchToInnerBuilds</BavBeforeTargets>
</PropertyGroup>
<Message Importance="high" Text="After get target frameworks... '$(BavBeforeTargets)', target(s) = '$(TargetFramework)|$(TargetFrameworks)'" />
<Message Importance="high" Text="BumpAssemblyVersionTaskDirectory = '$(BumpAssemblyVersionTaskDirectory)'" />
<Message Importance="high" Text="BavBeforeTargets = '$(BavBeforeTargets)'" />
</Target>
<Target Name="BavAfterGetTargetFrameworksMulti" AfterTargets="GetTargetFrameworks" BeforeTargets="DispatchToInnerBuilds">
<PropertyGroup Condition="'$(TargetFramework)' != ''">
<BavBeforeTargets>BeforeBuild</BavBeforeTargets>
</PropertyGroup>
<PropertyGroup Condition="'$(TargetFramework)' == ''">
<BavBeforeTargets>DispatchToInnerBuilds</BavBeforeTargets>
</PropertyGroup>
<Message Importance="high" Text="After get target frameworks multi... '$(BavBeforeTargets)', target(s) = '$(TargetFramework)|$(TargetFrameworks)'" />
</Target>
<Target Name="HybridBeforeBuild" BeforeTargets="BeforeBuild">
<Message Importance="high" Text="Before before build... '$(BavBeforeTargets)', target(s) = '$(TargetFramework)|$(TargetFrameworks)'" />
</Target>
<Target Name="HybridBeforeBumpAssemblyVersions" BeforeTargets="BumpAssemblyVersions">
<Message Importance="high" Text="Before bump assembly versions... '$(BavBeforeTargets)', target(s) = '$(TargetFramework)|$(TargetFrameworks)'" />
</Target>
<Target Name="HybridAfterBumpAssemblyVersions" AfterTargets="BumpAssemblyVersions">
<Message Importance="high" Text="After bump assembly versions... '$(BavBeforeTargets)', target(s) = '$(TargetFramework)|$(TargetFrameworks)'" />
</Target>
</Project>