|
1 | 1 | <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
2 | | - <UsingTask AssemblyFile="$(MSBuildThisFileDirectory)../lib/netstandard2.0/Ionide.KeepAChangelog.Tasks.dll" TaskName="Ionide.KeepAChangelog.Tasks.ParseChangeLogs"/> |
| 2 | + <UsingTask AssemblyFile="$(MSBuildThisFileDirectory)../lib/netstandard2.0/Ionide.KeepAChangelog.Tasks.dll" TaskName="Ionide.KeepAChangelog.Tasks.ParseChangeLogs" /> |
3 | 3 |
|
4 | 4 | <PropertyGroup> |
| 5 | + <!-- For single-target builds (or inner builds of a multi-targeted build) we must run before any of the normal versioning-related targets are run. |
| 6 | + This is surprisingly hard to time correctly. PrepareForBuild is the best location I've been able to find, and Rainer agrees this is a logical spot. --> |
5 | 7 | <PrepareForBuildDependsOn> |
6 | 8 | SetVersionFromChangelog; |
7 | 9 | $(PrepareForBuildDependsOn) |
8 | 10 | </PrepareForBuildDependsOn> |
9 | 11 | </PropertyGroup> |
10 | | - |
11 | | - <Target Name="GetChangelogVersion" |
12 | | - Condition="'$(ChangelogFile)' != '' and Exists('$(ChangelogFile)')" |
13 | | - Inputs="$(ChangelogFile)" |
14 | | - Outputs="UnreleasedChangelog;CurrentReleaseChangelog;AllReleasedChangelogslLatestReleaseNotes"> |
15 | | - <Ionide.KeepAChangelog.Tasks.ParseChangeLogs |
16 | | - ChangelogFile="$(ChangelogFile)"> |
17 | | - <Output TaskParameter="UnreleasedChangelog" ItemName="UnreleasedChangelog"/> |
18 | | - <Output TaskParameter="CurrentReleaseChangelog" ItemName="CurrentReleaseChangelog"/> |
| 12 | + |
| 13 | + <Target Name="GetChangelogVersion" Condition="'$(ChangelogFile)' != '' and Exists('$(ChangelogFile)')" Inputs="$(ChangelogFile)" Outputs="UnreleasedChangelog;CurrentReleaseChangelog;AllReleasedChangelogslLatestReleaseNotes"> |
| 14 | + <Ionide.KeepAChangelog.Tasks.ParseChangeLogs ChangelogFile="$(ChangelogFile)"> |
| 15 | + <Output TaskParameter="UnreleasedChangelog" ItemName="UnreleasedChangelog" /> |
| 16 | + <Output TaskParameter="CurrentReleaseChangelog" ItemName="CurrentReleaseChangelog" /> |
19 | 17 | <Output TaskParameter="AllReleasedChangelogs" ItemName="AllReleasedChangelogs" /> |
20 | 18 | <Output TaskParameter="LatestReleaseNotes" ItemName="LatestReleaseNotes" /> |
21 | 19 | </Ionide.KeepAChangelog.Tasks.ParseChangeLogs> |
22 | 20 | </Target> |
23 | 21 |
|
24 | | - <Target Name="SetVersionFromChangelog" |
25 | | - DependsOnTargets="GetChangelogVersion"> |
| 22 | + <Target Name="SetVersionFromChangelog" DependsOnTargets="GetChangelogVersion"> |
26 | 23 | <PropertyGroup Condition="'@(CurrentReleaseChangelog)' != ''"> |
27 | 24 | <Version>%(CurrentReleaseChangelog.Identity)</Version> |
28 | 25 | <PackageVersion>%(CurrentReleaseChangelog.Identity)</PackageVersion> |
29 | 26 | <PackageReleaseNotes>@(LatestReleaseNotes)</PackageReleaseNotes> |
30 | 27 | </PropertyGroup> |
31 | 28 |
|
32 | 29 | <ItemGroup Condition="'@(CurrentReleaseChangelog)' != '' and '$(GenerateAssemblyInfo)' == 'true'"> |
33 | | - <AssemblyAttribute Include="System.Reflection.AssemblyMetadataAttribute" Condition="'$(GenerateRepositoryUrlAttribute)' == 'true' and ('$(RepositoryUrl)' != '' or '$(PublishRepositoryUrl)' == 'true')" > |
| 30 | + <AssemblyAttribute Include="System.Reflection.AssemblyMetadataAttribute" Condition="'$(GenerateRepositoryUrlAttribute)' == 'true' and ('$(RepositoryUrl)' != '' or '$(PublishRepositoryUrl)' == 'true')"> |
34 | 31 | <_Parameter1>BuildDate</_Parameter1> |
35 | 32 | <_Parameter2>%(CurrentReleaseChangelog.Date)</_Parameter2> |
36 | 33 | </AssemblyAttribute> |
|
0 commit comments