Skip to content

Commit 024d067

Browse files
committed
Use DateTime instead of DateTimeOffset in ThisAssembly
This avoids a compile break when targeting nano framework.
1 parent 0655929 commit 024d067

File tree

3 files changed

+14
-12
lines changed

3 files changed

+14
-12
lines changed

src/NerdBank.GitVersioning.Tests/AssemblyInfoTest.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,9 @@ namespace AssemblyInfo
3434
[<assembly: System.Reflection.AssemblyFileVersionAttribute(""1.3.1.0"")>]
3535
[<assembly: System.Reflection.AssemblyInformationalVersionAttribute("""")>]
3636
do()
37+
#if NETSTANDARD || NETFRAMEWORK || NETCOREAPP
3738
[<System.CodeDom.Compiler.GeneratedCode(""" + AssemblyVersionInfo.GeneratorName + @""",""" + AssemblyVersionInfo.GeneratorVersion + @""")>]
39+
#endif
3840
type internal ThisAssembly() =
3941
static member internal AssemblyVersion = ""1.3.0.0""
4042
static member internal AssemblyFileVersion = ""1.3.1.0""

src/NerdBank.GitVersioning.Tests/BuildIntegrationTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -799,7 +799,7 @@ public async Task AssemblyInfo(bool isVB, bool includeNonVersionAttributes, bool
799799
if (gitRepo)
800800
{
801801
Assert.True(long.TryParse(result.GitCommitDateTicks, out _), $"Invalid value for GitCommitDateTicks: '{result.GitCommitDateTicks}'");
802-
DateTimeOffset gitCommitDate = new DateTimeOffset(long.Parse(result.GitCommitDateTicks), TimeSpan.Zero);
802+
var gitCommitDate = new DateTime(long.Parse(result.GitCommitDateTicks), DateTimeKind.Utc);
803803
Assert.Equal(gitCommitDate, thisAssemblyClass.GetProperty("GitCommitDate", fieldFlags)?.GetValue(null) ?? thisAssemblyClass.GetField("GitCommitDate", fieldFlags)?.GetValue(null) ?? string.Empty);
804804
}
805805
else

src/Nerdbank.GitVersioning.Tasks/AssemblyVersionInfo.cs

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -233,22 +233,22 @@ private static CodeMemberField CreateField(string name, string value)
233233

234234
private static IEnumerable<CodeTypeMember> CreateCommitDateProperty(long ticks)
235235
{
236-
// internal static System.DateTimeOffset GitCommitDate {{ get; }} = new System.DateTimeOffset({ticks}, System.TimeSpan.Zero);");
237-
yield return new CodeMemberField(typeof(DateTimeOffset), "gitCommitDate")
236+
// internal static System.DateTime GitCommitDate {{ get; }} = new System.DateTime({ticks}, System.DateTimeKind.Utc);");
237+
yield return new CodeMemberField(typeof(DateTime), "gitCommitDate")
238238
{
239239
Attributes = MemberAttributes.Private,
240240
InitExpression = new CodeObjectCreateExpression(
241-
typeof(DateTimeOffset),
241+
typeof(DateTime),
242242
new CodePrimitiveExpression(ticks),
243243
new CodePropertyReferenceExpression(
244-
new CodeTypeReferenceExpression(typeof(TimeSpan)),
245-
nameof(TimeSpan.Zero)))
244+
new CodeTypeReferenceExpression(typeof(DateTimeKind)),
245+
nameof(DateTimeKind.Utc)))
246246
};
247247

248248
var property = new CodeMemberProperty()
249249
{
250250
Attributes = MemberAttributes.Assembly,
251-
Type = new CodeTypeReference(typeof(DateTimeOffset)),
251+
Type = new CodeTypeReference(typeof(DateTime)),
252252
Name = "GitCommitDate",
253253
HasGet = true,
254254
HasSet = false,
@@ -471,7 +471,7 @@ internal override void DeclareAttribute(Type type, string arg)
471471

472472
internal override void AddCommitDateProperty(long ticks)
473473
{
474-
this.codeBuilder.AppendLine($" static member internal GitCommitDate = new System.DateTimeOffset({ticks}L, System.TimeSpan.Zero)");
474+
this.codeBuilder.AppendLine($" static member internal GitCommitDate = new System.DateTime({ticks}L, System.DateTimeKind.Utc)");
475475
}
476476

477477
internal override void EndThisAssemblyClass()
@@ -516,7 +516,7 @@ internal override void AddThisAssemblyMember(string name, string value)
516516

517517
internal override void AddCommitDateProperty(long ticks)
518518
{
519-
this.codeBuilder.AppendLine($" internal static readonly System.DateTimeOffset GitCommitDate = new System.DateTimeOffset({ticks}, System.TimeSpan.Zero);");
519+
this.codeBuilder.AppendLine($" internal static readonly System.DateTime GitCommitDate = new System.DateTime({ticks}L, System.DateTimeKind.Utc);");
520520
}
521521

522522
internal override void EndThisAssemblyClass()
@@ -539,9 +539,9 @@ internal override void DeclareAttribute(Type type, string arg)
539539

540540
internal override void StartThisAssemblyClass()
541541
{
542-
this.codeBuilder.AppendLine($"#if {CompilerDefinesAroundGeneratedCodeAttribute}");
542+
this.codeBuilder.AppendLine($"#If {CompilerDefinesAroundGeneratedCodeAttribute.Replace("||", " Or ")} Then");
543543
this.codeBuilder.AppendLine($"<System.CodeDom.Compiler.GeneratedCode(\"{GeneratorName}\",\"{GeneratorVersion}\")>");
544-
this.codeBuilder.AppendLine("#endif");
544+
this.codeBuilder.AppendLine("#End If");
545545
this.codeBuilder.AppendLine("Partial Friend NotInheritable Class ThisAssembly");
546546
}
547547

@@ -552,7 +552,7 @@ internal override void AddThisAssemblyMember(string name, string value)
552552

553553
internal override void AddCommitDateProperty(long ticks)
554554
{
555-
this.codeBuilder.AppendLine($" Friend Shared ReadOnly GitCommitDate As System.DateTimeOffset = New System.DateTimeOffset({ticks}, System.TimeSpan.Zero)");
555+
this.codeBuilder.AppendLine($" Friend Shared ReadOnly GitCommitDate As System.DateTime = New System.DateTime({ticks}L, System.DateTimeKind.Utc)");
556556
}
557557

558558
internal override void EndThisAssemblyClass()

0 commit comments

Comments
 (0)