Skip to content

Commit 549586b

Browse files
committed
Write "auto-generated" header comment, to prevent 3rd party analyzers from producing diagnostics
1 parent 0fe0c59 commit 549586b

File tree

2 files changed

+29
-7
lines changed

2 files changed

+29
-7
lines changed

src/JsonApiDotNetCore.SourceGenerators/SourceCodeWriter.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ public string Write(INamedTypeSymbol resourceType, ITypeSymbol idType, JsonApiEn
5959
_sourceBuilder.Clear();
6060
_depth = 0;
6161

62+
WriteAutoGeneratedComment();
63+
6264
if (idType.IsReferenceType && idType.NullableAnnotation == NullableAnnotation.Annotated)
6365
{
6466
WriteNullableEnable();
@@ -82,6 +84,12 @@ public string Write(INamedTypeSymbol resourceType, ITypeSymbol idType, JsonApiEn
8284
return _sourceBuilder.ToString();
8385
}
8486

87+
private void WriteAutoGeneratedComment()
88+
{
89+
_sourceBuilder.AppendLine("// <auto-generated />");
90+
_sourceBuilder.AppendLine();
91+
}
92+
8593
private void WriteNullableEnable()
8694
{
8795
_sourceBuilder.AppendLine("#nullable enable");

test/SourceGeneratorTests/ControllerGenerationTests.cs

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,9 @@ public sealed class Item : Identifiable<long>
5151
GeneratorDriverRunResult runResult = driver.GetRunResult();
5252
runResult.Should().NotHaveDiagnostics();
5353

54-
runResult.Should().HaveProducedSourceCode(@"using Microsoft.Extensions.Logging;
54+
runResult.Should().HaveProducedSourceCode(@"// <auto-generated />
55+
56+
using Microsoft.Extensions.Logging;
5557
using JsonApiDotNetCore.Configuration;
5658
using JsonApiDotNetCore.Controllers;
5759
using JsonApiDotNetCore.Services;
@@ -111,7 +113,9 @@ public sealed class Item : Identifiable<long>
111113
GeneratorDriverRunResult runResult = driver.GetRunResult();
112114
runResult.Should().NotHaveDiagnostics();
113115

114-
runResult.Should().HaveProducedSourceCode(@"using Microsoft.Extensions.Logging;
116+
runResult.Should().HaveProducedSourceCode(@"// <auto-generated />
117+
118+
using Microsoft.Extensions.Logging;
115119
using JsonApiDotNetCore.Configuration;
116120
using JsonApiDotNetCore.Controllers;
117121
using JsonApiDotNetCore.Services;
@@ -171,7 +175,9 @@ public sealed class Item : Identifiable<long>
171175
GeneratorDriverRunResult runResult = driver.GetRunResult();
172176
runResult.Should().NotHaveDiagnostics();
173177

174-
runResult.Should().HaveProducedSourceCode(@"using Microsoft.Extensions.Logging;
178+
runResult.Should().HaveProducedSourceCode(@"// <auto-generated />
179+
180+
using Microsoft.Extensions.Logging;
175181
using JsonApiDotNetCore.Configuration;
176182
using JsonApiDotNetCore.Controllers;
177183
using JsonApiDotNetCore.Services;
@@ -234,7 +240,9 @@ public sealed class Item : Identifiable<long>
234240
GeneratorDriverRunResult runResult = driver.GetRunResult();
235241
runResult.Should().NotHaveDiagnostics();
236242

237-
runResult.Should().HaveProducedSourceCode(@"using Microsoft.Extensions.Logging;
243+
runResult.Should().HaveProducedSourceCode(@"// <auto-generated />
244+
245+
using Microsoft.Extensions.Logging;
238246
using JsonApiDotNetCore.Configuration;
239247
using JsonApiDotNetCore.Controllers;
240248
using JsonApiDotNetCore.Services;
@@ -574,7 +582,9 @@ public sealed class Item : Identifiable<long>
574582
GeneratorDriverRunResult runResult = driver.GetRunResult();
575583
runResult.Should().NotHaveDiagnostics();
576584

577-
runResult.Should().HaveProducedSourceCode(@"using Microsoft.Extensions.Logging;
585+
runResult.Should().HaveProducedSourceCode(@"// <auto-generated />
586+
587+
using Microsoft.Extensions.Logging;
578588
using JsonApiDotNetCore.Configuration;
579589
using JsonApiDotNetCore.Controllers;
580590
using JsonApiDotNetCore.Services;
@@ -633,7 +643,9 @@ public sealed class Item : Identifiable<long>
633643
GeneratorDriverRunResult runResult = driver.GetRunResult();
634644
runResult.Should().NotHaveDiagnostics();
635645

636-
runResult.Should().HaveProducedSourceCode(@"using Microsoft.Extensions.Logging;
646+
runResult.Should().HaveProducedSourceCode(@"// <auto-generated />
647+
648+
using Microsoft.Extensions.Logging;
637649
using JsonApiDotNetCore.Configuration;
638650
using JsonApiDotNetCore.Controllers;
639651
using JsonApiDotNetCore.Services;
@@ -691,7 +703,9 @@ public sealed class Item : Identifiable<long>
691703
GeneratorDriverRunResult runResult = driver.GetRunResult();
692704
runResult.Should().NotHaveDiagnostics();
693705

694-
runResult.Should().HaveProducedSourceCode(@"using Microsoft.Extensions.Logging;
706+
runResult.Should().HaveProducedSourceCode(@"// <auto-generated />
707+
708+
using Microsoft.Extensions.Logging;
695709
using JsonApiDotNetCore.Configuration;
696710
using JsonApiDotNetCore.Controllers;
697711
using JsonApiDotNetCore.Services;

0 commit comments

Comments
 (0)