Skip to content

Commit c899abd

Browse files
committed
Support AssemblyInformationalVersion on nuget version generation
1 parent abb0184 commit c899abd

File tree

1 file changed

+32
-3
lines changed

1 file changed

+32
-3
lines changed

Build/build.proj

+32-3
Original file line numberDiff line numberDiff line change
@@ -46,24 +46,31 @@
4646
<GetAssemblyIdentity AssemblyFiles="$(PackageDir)\Griddly.Core\lib\net45\Griddly.Mvc.dll">
4747
<Output TaskParameter="Assemblies" ItemName="AsmInfo" />
4848
</GetAssemblyIdentity>
49+
<GetAssemblyInformationalVersion AssemblyFile="$(PackageDir)\Griddly.Core\lib\net45\Griddly.Mvc.dll">
50+
<Output TaskParameter="Value" ItemName="AssemblyVersion" />
51+
</GetAssemblyInformationalVersion>
52+
<PropertyGroup>
53+
<AssemblyVersion Condition="@(AssemblyVersion) != ''">@(AssemblyVersion)</AssemblyVersion>
54+
<AssemblyVersion Condition="$(AssemblyVersion) == ''">%(AsmInfo.Version)</AssemblyVersion>
55+
</PropertyGroup>
4956

5057
<!-- insert the version number into the nuspec files -->
5158
<XmlUpdate
5259
Namespace="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd"
5360
XmlFileName="$(PackageDir)\Griddly\Griddly.nuspec"
5461
XPath="/package/metadata/version"
55-
Value="%(AsmInfo.Version)" />
62+
Value="$(AssemblyVersion)" />
5663
<XmlUpdate
5764
Namespace="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd"
5865
XmlFileName="$(PackageDir)\Griddly.Core\Griddly.Core.nuspec"
5966
XPath="/package/metadata/version"
60-
Value="%(AsmInfo.Version)" />
67+
Value="$(AssemblyVersion)" />
6168

6269
<XmlUpdate
6370
Namespace="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd"
6471
XmlFileName="$(PackageDir)\Griddly\Griddly.nuspec"
6572
XPath="/package/metadata/dependencies/group/dependency[@id='Griddly.Core']/@version"
66-
Value="%(AsmInfo.Version)" />
73+
Value="$(AssemblyVersion)" />
6774

6875
<Exec WorkingDirectory="$(PackageDir)"
6976
Command="$(BaseDir)\.nuget\nuget.exe pack $(PackageDir)\Griddly\Griddly.nuspec" />
@@ -76,4 +83,26 @@
7683

7784
<Copy SourceFiles="@(OutputPackages)" DestinationFolder="$(PackageDir)"/>
7885
</Target>
86+
87+
<UsingTask TaskName="GetAssemblyInformationalVersion" TaskFactory="CodeTaskFactory"
88+
AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
89+
<ParameterGroup>
90+
<AssemblyFile ParameterType="System.String" Required="true" />
91+
<Value ParameterType="System.String" Output="true" />
92+
</ParameterGroup>
93+
<Task>
94+
<Reference Include="System.Core" />
95+
<Using Namespace="System" />
96+
<Using Namespace="System.IO" />
97+
<Using Namespace="System.Diagnostics" />
98+
<Using Namespace="System.Reflection" />
99+
<Code Type="Fragment" Language="cs">
100+
<![CDATA[
101+
var attr = Attribute.GetCustomAttribute(Assembly.LoadFile(Path.GetFullPath(AssemblyFile)), typeof(AssemblyInformationalVersionAttribute)) as AssemblyInformationalVersionAttribute;
102+
103+
Value = attr != null ? attr.InformationalVersion : null;
104+
]]>
105+
</Code>
106+
</Task>
107+
</UsingTask>
79108
</Project>

0 commit comments

Comments
 (0)