-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDirectory.Build.targets
More file actions
42 lines (36 loc) · 1.72 KB
/
Directory.Build.targets
File metadata and controls
42 lines (36 loc) · 1.72 KB
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
<!-- ./Directory.Build.targets -->
<Project>
<PropertyGroup>
<VersionFile>VERSION.g.txt</VersionFile>
<ArtifactsPath>$(MSBuildThisFileDirectory)artifacts</ArtifactsPath>
<PackageReleaseNotesFile Condition="'$(PackageReleaseNotesFile)'==''">
$(ArtifactsPath)/package/release/ReleaseNotes.md
</PackageReleaseNotesFile>
</PropertyGroup>
<Target Name="_StartBuild" BeforeTargets="Build">
<Message Text="------- $(AssemblyName):$(Version) is building" Importance="High"/>
</Target>
<Target Name="_EndBuild" AfterTargets="Build">
<WriteLinesToFile File="$(VersionFile)" Lines="$(Version)" Overwrite="true"/>
</Target>
<Target Name="_SetPackageReleaseNotes"
BeforeTargets="GenerateNuspec"
Condition="'$(Configuration)'=='Release' And Exists('$(PackageReleaseNotesFile)')">
<ReadLinesFromFile File="$(PackageReleaseNotesFile)">
<Output TaskParameter="Lines" ItemName="_ReleaseNotesLines"/>
</ReadLinesFromFile>
<PropertyGroup>
<!-- Convert an array of strings to text with \n -->
<PackageReleaseNotes>@(_ReleaseNotesLines, '%0A')</PackageReleaseNotes>
</PropertyGroup>
<Message Text="------- Release notes file: $(PackageReleaseNotesFile)" Importance="High"/>
<Message Text="------- PackageReleaseNotes length: $([System.String]::Copy('$(PackageReleaseNotes)').Length)"
Importance="Low"/>
</Target>
<ItemGroup>
<None Update="$(VersionFile)">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
</None>
</ItemGroup>
</Project>