Skip to content

Commit 1c3a009

Browse files
committed
Fixed Analyzer Namespacing
1 parent 908ec37 commit 1c3a009

File tree

4 files changed

+81
-22
lines changed

4 files changed

+81
-22
lines changed

src/HotChocolate/Fusion/src/Composition.Analyzers/ConfigurationGenerator.cs

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,7 @@ private static void Execute(
188188
{
189189
if (syntaxInfos.Length == 0)
190190
{
191+
WriteNoOpCompose(context);
191192
return;
192193
}
193194

@@ -223,8 +224,11 @@ private static void Execute(
223224

224225
if (gateways.Count == 0)
225226
{
227+
WriteNoOpCompose(context);
226228
return;
227229
}
230+
231+
WriteCompose(context);
228232

229233
var code = StringBuilderPool.Get();
230234
using var writer = new CodeWriter(code);
@@ -299,6 +303,30 @@ private static void Execute(
299303
context.AddSource("FusionConfiguration.g.cs", code.ToString());
300304
StringBuilderPool.Return(code);
301305
}
306+
307+
private static void WriteCompose(SourceProductionContext context)
308+
{
309+
var code = StringBuilderPool.Get();
310+
using var writer = new CodeWriter(code);
311+
312+
writer.WriteFileHeader();
313+
writer.Write(AnalyzerResources.Compose);
314+
315+
context.AddSource("FusionCompose.g.cs", code.ToString());
316+
StringBuilderPool.Return(code);
317+
}
318+
319+
private static void WriteNoOpCompose(SourceProductionContext context)
320+
{
321+
var code = StringBuilderPool.Get();
322+
using var writer = new CodeWriter(code);
323+
324+
writer.WriteFileHeader();
325+
writer.Write(AnalyzerResources.NoOpCompose);
326+
327+
context.AddSource("FusionCompose.g.cs", code.ToString());
328+
StringBuilderPool.Return(code);
329+
}
302330

303331
private static void AddInitializationContent(IncrementalGeneratorPostInitializationContext context)
304332
{

src/HotChocolate/Fusion/src/Composition.Analyzers/Properties/AnalyzerResources.Designer.cs

Lines changed: 12 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/HotChocolate/Fusion/src/Composition.Analyzers/Properties/AnalyzerResources.resx

Lines changed: 37 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ using System.Net.Mime;
2727
using System.Text;
2828
using System.Text.Json;
2929
using System.Text.Json.Serialization;
30-
using HotChocolate.Execution.Configuration;
3130
using HotChocolate.Fusion;
3231
using HotChocolate.Fusion.Composition;
3332
using HotChocolate.Fusion.Composition.Features;
@@ -39,7 +38,6 @@ using Microsoft.Extensions.DependencyInjection;
3938

4039
namespace HotChocolate.Fusion.Composition.Tooling
4140
{
42-
4341
internal static class FusionGatewayConfgHelper
4442
{
4543
public static async Task ConfigureAsync(CancellationToken cancellationToken = default)
@@ -604,19 +602,6 @@ namespace Aspire.Hosting
604602
{
605603
internal static class FusionExtensions
606604
{
607-
public static DistributedApplication Compose(this DistributedApplication application)
608-
{
609-
var options = application.Services.GetRequiredService<DistributedApplicationOptions>();
610-
611-
if (options.Args is ["compose"])
612-
{
613-
global::HotChocolate.Fusion.Composition.Tooling.FusionGatewayConfgHelper.ConfigureAsync().Wait();
614-
Environment.Exit(0);
615-
}
616-
617-
return application;
618-
}
619-
620605
public static IResourceBuilder<FusionGatewayResource> AddFusionGateway<TProject>(
621606
this IDistributedApplicationBuilder builder,
622607
string name)
@@ -657,7 +642,42 @@ namespace Aspire.Hosting
657642

658643
public FusionGatewayResource Resource { get; } = new(projectResourceBuilder.Resource);
659644
}
660-
}
661-
</value>
645+
}</value>
646+
</data>
647+
<data name="NoOpCompose" xml:space="preserve">
648+
<value>using Microsoft.Extensions.DependencyInjection;
649+
650+
namespace Aspire.Hosting
651+
{
652+
internal static class DistributedApplicationExtensions
653+
{
654+
public static DistributedApplication Compose(this DistributedApplication application)
655+
{
656+
return application;
657+
}
658+
}
659+
}</value>
660+
</data>
661+
<data name="Compose" xml:space="preserve">
662+
<value>using Microsoft.Extensions.DependencyInjection;
663+
664+
namespace Aspire.Hosting
665+
{
666+
internal static class HotChocolateDistributedApplicationExtensions
667+
{
668+
public static DistributedApplication Compose(this DistributedApplication application)
669+
{
670+
var options = application.Services.GetRequiredService&lt;DistributedApplicationOptions&gt;();
671+
672+
if (options.Args is ["compose"])
673+
{
674+
global::HotChocolate.Fusion.Composition.Tooling.FusionGatewayConfgHelper.ConfigureAsync().Wait();
675+
Environment.Exit(0);
676+
}
677+
678+
return application;
679+
}
680+
}
681+
}</value>
662682
</data>
663683
</root>

src/HotChocolate/Fusion/test/Composition.Analyzers.Tests/Program.cs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,17 +62,16 @@ public static void Foo(string[] args)
6262
.WithEnvironment("Identity__Url", identityHttpsEndpoint);
6363

6464
// Fusion
65-
builder
65+
var gateway = builder
6666
.AddFusionGateway<Projects.eShop_Gateway>("gateway")
6767
.WithSubgraph(basketApi)
68-
.WithSubgraph(identityApi.GetEndpoint("http"))
68+
.WithSubgraph(identityApi)
6969
.WithSubgraph(catalogApi)
7070
.WithSubgraph(orderingApi)
71-
.WithSubgraph(purchaseApi)
72-
.WithEnvironment("Identity__Url", identityHttpsEndpoint);
73-
71+
.WithSubgraph(purchaseApi);
7472

7573
builder.Build().Compose().Run();
7674
}
7775
}
7876

77+

0 commit comments

Comments
 (0)