Skip to content

Commit 5d2b501

Browse files
authored
Set library version attributes (#111)
1 parent 1c3adbb commit 5d2b501

File tree

2 files changed

+25
-5
lines changed

2 files changed

+25
-5
lines changed

.editorconfig

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,15 @@
11
# Remove the line below if you want to inherit .editorconfig settings from higher directories
22
root = true
33

4+
# Project files
5+
[*.csproj]
6+
indent_size = 2
7+
indent_style = space
8+
tab_width = 2
9+
end_of_line = crlf
10+
insert_final_newline = true
11+
charset = utf-8
12+
413
# C# files
514
[*.cs]
615

Rubjerg.Graphviz/Rubjerg.Graphviz.csproj

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@
7070
- Otherwise: 2.0.2-dev-<timestamp>
7171
-->
7272

73-
<Target Name="ComputeVersion" BeforeTargets="GenerateNuspec">
73+
<Target Name="ComputeVersion" BeforeTargets="BeforeCompile" >
7474
<PropertyGroup>
7575
<_GitTmpFile>$([System.String]::Copy('$(IntermediateOutputPath)git-info.txt').Replace('\', '/'))</_GitTmpFile>
7676
<Timestamp>$([System.DateTime]::UtcNow.ToString("yyyyMMddHHmmss"))</Timestamp>
@@ -109,6 +109,9 @@
109109
<!-- 6. Version logic -->
110110
<PropertyGroup>
111111
<BaseVersion>$([System.Text.RegularExpressions.Regex]::Replace($(LatestTag), '^v', ''))</BaseVersion>
112+
<BaseVersion Condition="'$(LatestTag)' == ''">0.0.1</BaseVersion>
113+
<MajorVersion>$([System.Text.RegularExpressions.Regex]::Match('$(BaseVersion)', '^\d+').Value)</MajorVersion>
114+
<MajorVersion Condition="'$(MajorVersion)' == ''">0</MajorVersion>
112115

113116
<!-- Case 1: On exact tag, clean -->
114117
<_ResolvedVersion Condition="'$(ExactTag)' != '' and '$(IsDirty)' == 'no'">
@@ -125,9 +128,14 @@
125128
$(BaseVersion)-dev-$(Timestamp)
126129
</_ResolvedVersion>
127130

128-
<PackageVersion>$([System.String]::Copy($(_ResolvedVersion)).Trim())</PackageVersion>
129-
</PropertyGroup>
131+
<Version>$([System.String]::Copy($(_ResolvedVersion)).Trim())</Version>
130132

133+
<PackageVersion>$(Version)</PackageVersion> <!-- free form -->
134+
<InformationalVersion>$(Version)</InformationalVersion> <!-- free form, "Product Version" in file properties -->
135+
<AssemblyVersion>$(MajorVersion).0.0.0</AssemblyVersion> <!-- numeric, change only on breaking changes, which is what msft recommends for semver packages -->
136+
<FileVersion>$(AssemblyVersion)</FileVersion> <!-- numeric, "File Version" in file properties, match Assembly Version for easy visibility -->
137+
</PropertyGroup>
138+
131139
<Message Importance="High" Text="--- Git Version Debug Info ---" />
132140
<Message Importance="High" Text="LatestTag : $(LatestTag)" />
133141
<Message Importance="High" Text="ExactTag : $(ExactTag)" />
@@ -136,9 +144,12 @@
136144
<Message Importance="High" Text="MasterDescendant : $(MasterDescendant)" />
137145
<Message Importance="High" Text="BaseVersion : $(BaseVersion)" />
138146
<Message Importance="High" Text="_ResolvedVersion : $(_ResolvedVersion)" />
139-
<Message Importance="High" Text="Final Version : $(PackageVersion)" />
140147
<Message Importance="High" Text="----------------------------------" />
141-
148+
<Message Importance="High" Text="Package Version : $(PackageVersion)" />
149+
<Message Importance="High" Text="Assembly Version : $(AssemblyVersion)" />
150+
<Message Importance="High" Text="File Version : $(FileVersion)" />
151+
<Message Importance="High" Text="Informational Version : $(InformationalVersion)" />
152+
<Message Importance="High" Text="----------------------------------" />
142153
</Target>
143154

144155
</Project>

0 commit comments

Comments
 (0)