diff --git a/src/Aspire.Hosting.Azure/AzurePublisherExtensions.cs b/src/Aspire.Hosting.Azure/AzurePublisherExtensions.cs
index 1f22bb68a23..4cab3815997 100644
--- a/src/Aspire.Hosting.Azure/AzurePublisherExtensions.cs
+++ b/src/Aspire.Hosting.Azure/AzurePublisherExtensions.cs
@@ -18,9 +18,9 @@ public static class AzurePublisherExtensions
/// The name of the publisher used when using the Aspire CLI.
/// Callback to configure Azure Container Apps publisher options.
[Experimental("ASPIREPUBLISHERS001", UrlFormat = "https://aka.ms/dotnet/aspire/diagnostics#{0}")]
- public static void AddAzurePublisher(this IDistributedApplicationBuilder builder, string name, Action? configureOptions = null)
+ public static IDistributedApplicationBuilder AddAzurePublisher(this IDistributedApplicationBuilder builder, string name, Action? configureOptions = null)
{
- builder.AddPublisher(name, configureOptions);
+ return builder.AddPublisher(name, configureOptions);
}
///
@@ -29,8 +29,8 @@ public static void AddAzurePublisher(this IDistributedApplicationBuilder builder
/// The .
/// Callback to configure Azure Container Apps publisher options.
[Experimental("ASPIREAZURE001", UrlFormat = "https://aka.ms/dotnet/aspire/diagnostics#{0}")]
- public static void AddAzurePublisher(this IDistributedApplicationBuilder builder, Action? configureOptions = null)
+ public static IDistributedApplicationBuilder AddAzurePublisher(this IDistributedApplicationBuilder builder, Action? configureOptions = null)
{
- builder.AddPublisher("azure", configureOptions);
+ return builder.AddPublisher("azure", configureOptions);
}
}
\ No newline at end of file
diff --git a/src/Aspire.Hosting.Docker/DockerComposePublisherExtensions.cs b/src/Aspire.Hosting.Docker/DockerComposePublisherExtensions.cs
index 0e85a876050..8f0f4504f93 100644
--- a/src/Aspire.Hosting.Docker/DockerComposePublisherExtensions.cs
+++ b/src/Aspire.Hosting.Docker/DockerComposePublisherExtensions.cs
@@ -18,9 +18,9 @@ public static class DockerComposePublisherExtensions
/// The .
/// The name of the publisher used when using the Aspire CLI.
/// Callback to configure Docker Compose publisher options.
- public static void AddDockerComposePublisher(this IDistributedApplicationBuilder builder, string name, Action? configureOptions = null)
+ public static IDistributedApplicationBuilder AddDockerComposePublisher(this IDistributedApplicationBuilder builder, string name, Action? configureOptions = null)
{
- builder.AddPublisher(name, configureOptions);
+ return builder.AddPublisher(name, configureOptions);
}
///
@@ -28,8 +28,8 @@ public static void AddDockerComposePublisher(this IDistributedApplicationBuilder
///
/// The .
/// Callback to configure Docker Compose publisher options.
- public static void AddDockerComposePublisher(this IDistributedApplicationBuilder builder, Action? configureOptions = null)
+ public static IDistributedApplicationBuilder AddDockerComposePublisher(this IDistributedApplicationBuilder builder, Action? configureOptions = null)
{
- builder.AddPublisher("docker-compose", configureOptions);
+ return builder.AddPublisher("docker-compose", configureOptions);
}
}
diff --git a/src/Aspire.Hosting.Kubernetes/KubernetesPublisherExtensions.cs b/src/Aspire.Hosting.Kubernetes/KubernetesPublisherExtensions.cs
index 9f233dedfdd..3bb086210b3 100644
--- a/src/Aspire.Hosting.Kubernetes/KubernetesPublisherExtensions.cs
+++ b/src/Aspire.Hosting.Kubernetes/KubernetesPublisherExtensions.cs
@@ -18,9 +18,9 @@ public static class KubernetesPublisherExtensions
/// The .
/// The name of the publisher used when using the Aspire CLI.
/// Callback to configure Kubernetes publisher options.
- public static void AddKubernetesPublisher(this IDistributedApplicationBuilder builder, string name, Action? configureOptions = null)
+ public static IDistributedApplicationBuilder AddKubernetesPublisher(this IDistributedApplicationBuilder builder, string name, Action? configureOptions = null)
{
- builder.AddPublisher(name, configureOptions);
+ return builder.AddPublisher(name, configureOptions);
}
///
@@ -28,8 +28,8 @@ public static void AddKubernetesPublisher(this IDistributedApplicationBuilder bu
///
/// The .
/// Callback to configure Kubernetes publisher options.
- public static void AddKubernetesPublisher(this IDistributedApplicationBuilder builder, Action? configureOptions = null)
+ public static IDistributedApplicationBuilder AddKubernetesPublisher(this IDistributedApplicationBuilder builder, Action? configureOptions = null)
{
- builder.AddPublisher("kubernetes", configureOptions);
+ return builder.AddPublisher("kubernetes", configureOptions);
}
}
\ No newline at end of file
diff --git a/src/Aspire.Hosting/DistributedApplicationExecutionContext.cs b/src/Aspire.Hosting/DistributedApplicationExecutionContext.cs
index 119d0ffecdd..b230701616b 100644
--- a/src/Aspire.Hosting/DistributedApplicationExecutionContext.cs
+++ b/src/Aspire.Hosting/DistributedApplicationExecutionContext.cs
@@ -1,6 +1,8 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
+using System.Diagnostics.CodeAnalysis;
+
namespace Aspire.Hosting;
///
@@ -89,5 +91,6 @@ public IServiceProvider ServiceProvider
///
/// Returns true if the current operation is inspecting.
///
+ [Experimental("ASPIREPUBLISHERS001")]
public bool IsInspectMode => Operation == DistributedApplicationOperation.Inspect;
}
diff --git a/src/Aspire.Hosting/DistributedApplicationOperation.cs b/src/Aspire.Hosting/DistributedApplicationOperation.cs
index 6cdecb8d363..80b5b8fc178 100644
--- a/src/Aspire.Hosting/DistributedApplicationOperation.cs
+++ b/src/Aspire.Hosting/DistributedApplicationOperation.cs
@@ -1,6 +1,8 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
+using System.Diagnostics.CodeAnalysis;
+
namespace Aspire.Hosting;
///
@@ -21,5 +23,6 @@ public enum DistributedApplicationOperation
///
/// AppHost is being run for the purpose of inspecting the application model from the launcher.
///
+ [Experimental("ASPIREPUBLISHERS001")]
Inspect
}
diff --git a/src/Aspire.Hosting/PublisherDistributedApplicationBuilderExtensions.cs b/src/Aspire.Hosting/PublisherDistributedApplicationBuilderExtensions.cs
index c5c0bd0d795..f879ccc8938 100644
--- a/src/Aspire.Hosting/PublisherDistributedApplicationBuilderExtensions.cs
+++ b/src/Aspire.Hosting/PublisherDistributedApplicationBuilderExtensions.cs
@@ -21,7 +21,7 @@ public static class PublisherDistributedApplicationBuilderExtensions
/// The name of the publisher.
/// Callback to configure options for the publisher.
[Experimental("ASPIREPUBLISHERS001")]
- public static void AddPublisher(this IDistributedApplicationBuilder builder, string name, Action? configureOptions = null)
+ public static IDistributedApplicationBuilder AddPublisher(this IDistributedApplicationBuilder builder, string name, Action? configureOptions = null)
where TPublisher : class, IDistributedApplicationPublisher
where TPublisherOptions : class
{
@@ -43,5 +43,7 @@ public static void AddPublisher(this IDistributed
{
configureOptions?.Invoke(options);
});
+
+ return builder;
}
}
\ No newline at end of file
diff --git a/tests/Aspire.Hosting.Tests/OperationModesTests.cs b/tests/Aspire.Hosting.Tests/OperationModesTests.cs
index 5485846f872..9f9d0799e95 100644
--- a/tests/Aspire.Hosting.Tests/OperationModesTests.cs
+++ b/tests/Aspire.Hosting.Tests/OperationModesTests.cs
@@ -1,6 +1,8 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
+#pragma warning disable ASPIREPUBLISHERS001
+
using Aspire.Hosting.Backchannel;
using Aspire.Hosting.Tests.Utils;
using Aspire.Hosting.Utils;