25 types derived from ExecutableResource
Aspire.Hosting (3)
ApplicationModel\DotnetToolResource.cs (1)
20public class DotnetToolResource : ExecutableResource
ApplicationModel\ProjectRebuilderResource.cs (1)
14internal sealed class ProjectRebuilderResource : ExecutableResource, IResourceWithParent<IResource>
ApplicationModel\TerminalHostResource.cs (1)
12internal sealed class TerminalHostResource : ExecutableResource, IResourceWithParent<IResource>
Aspire.Hosting.Azure.Functions (1)
AzureFunctionsResource.cs (1)
82: ExecutableResource(name, command, ValidateAppDirectory(appDirectory)), IResourceWithServiceDiscovery, IAzureFunctionsResource, IResourceWithCustomWithReference<AzureFunctionsAppResource>
Aspire.Hosting.Blazor (1)
src\Shared\BrowserDebuggerResource.cs (1)
9: ExecutableResource(name, browser, workingDirectory)
Aspire.Hosting.DevTunnels (1)
DevTunnelResource.cs (1)
20: ExecutableResource(name, command, workingDirectory)
Aspire.Hosting.Dotnet (2)
DotnetProjectBuildResource.cs (1)
18internal sealed class DotnetProjectBuildResource : ExecutableResource, IDisposable
DotnetProjectResource.cs (1)
27ExecutableResource,
Aspire.Hosting.Go (1)
GoAppResource.cs (1)
37: ExecutableResource(name, "go", workingDirectory), IResourceWithServiceDiscovery, IContainerFilesDestinationResource;
Aspire.Hosting.Go.Tests (1)
AddGoAppTests.cs (1)
1193: ExecutableResource(name, command, workingDirectory), IResourceWithContainerFiles;
Aspire.Hosting.Java (2)
JavaAppResource.cs (1)
19: ExecutableResource(name, "java", workingDirectory), IJavaAppResource, IResourceWithServiceDiscovery, IContainerFilesDestinationResource;
JavaBuildResource.cs (1)
22: ExecutableResource(name, wrapperPath, workingDirectory)
Aspire.Hosting.JavaScript (3)
JavaScriptAppResource.cs (1)
16: ExecutableResource(name, command, workingDirectory), IResourceWithServiceDiscovery, IResourceWithContainerFiles;
JavaScriptInstallerResource.cs (1)
14: ExecutableResource(name, "node", workingDirectory);
src\Shared\BrowserDebuggerResource.cs (1)
9: ExecutableResource(name, browser, workingDirectory)
Aspire.Hosting.JavaScript.Tests (1)
AddNodeAppTests.cs (1)
429: ExecutableResource(name, command, workingDirectory), IResourceWithContainerFiles;
Aspire.Hosting.Python (3)
PythonAppResource.cs (1)
63: ExecutableResource(name, executablePath, appDirectory), IResourceWithServiceDiscovery, IContainerFilesDestinationResource;
PythonInstallerResource.cs (1)
14: ExecutableResource(name, "python", parent.WorkingDirectory)
PythonVenvCreatorResource.cs (1)
15: ExecutableResource(name, "python", parent.WorkingDirectory)
Aspire.Hosting.Python.Tests (1)
AddUvicornAppTests.cs (1)
95: ExecutableResource(name, command, workingDirectory), IResourceWithContainerFiles;
Aspire.Hosting.Rust (1)
RustAppResource.cs (1)
15: ExecutableResource(name, "cargo", workingDirectory), IResourceWithServiceDiscovery, IContainerFilesDestinationResource
Aspire.Hosting.Tests (4)
Dcp\DcpExecutorTests.cs (3)
11625private sealed class TestExecutableResource(string directory) : ExecutableResource("TestExecutable", "test", directory); 11626private sealed class TestOtherExecutableResource(string directory) : ExecutableResource("TestOtherExecutable", "test-other", directory); 11642private sealed class TestDotnetProjectExecutableResource(string directory) : ExecutableResource("TestDotnetProject", "dotnet", directory);
Dcp\ResourceSnapshotBuilderTests.cs (1)
365private sealed class TestDotnetProjectResource(string name) : ExecutableResource(name, "dotnet", "/app");
32 instantiations of ExecutableResource
Aspire.Hosting (4)
Dashboard\DashboardEventHandlers.cs (3)
130dashboardResource = new ExecutableResource(KnownResourceNames.AspireDashboard, fullyQualifiedDashboardPath, dashboardWorkingDirectory ?? ""); 141dashboardResource = new ExecutableResource( 153dashboardResource = new ExecutableResource(KnownResourceNames.AspireDashboard, "dotnet", dashboardWorkingDirectory ?? "");
ExecutableResourceBuilderExtensions.cs (1)
63var executable = new ExecutableResource(name, command, workingDirectory);
Aspire.Hosting.Dotnet.Tests (1)
DotnetProjectBuildCoordinatorTests.cs (1)
2202@event.Model.Resources[index] = new ExecutableResource(replaced.Resource.Name, "dotnet", workspace.Path);
Aspire.Hosting.Go (4)
GoHostingExtensions.cs (4)
371var tidyResource = new ExecutableResource( 420var vendorResource = new ExecutableResource( 466var downloadResource = new ExecutableResource( 514var vetResource = new ExecutableResource(
Aspire.Hosting.Maui.Tests (6)
MauiPlatformExtensionsTests.cs (6)
805var dashboard = appBuilder.AddResource(new ExecutableResource(KnownResourceNames.AspireDashboard, "dashboard", "")); 869var dashboard = appBuilder.AddResource(new ExecutableResource(KnownResourceNames.AspireDashboard, "dashboard", "")); 908var dashboard = appBuilder.AddResource(new ExecutableResource(KnownResourceNames.AspireDashboard, "dashboard", "")); 1191var dashboard = appBuilder.AddResource(new ExecutableResource(KnownResourceNames.AspireDashboard, "dashboard", "")); 1273var dashboard = appBuilder.AddResource(new ExecutableResource(KnownResourceNames.AspireDashboard, "dashboard", "")); 1309var dashboard = appBuilder.AddResource(new ExecutableResource(KnownResourceNames.AspireDashboard, "dashboard", ""));
Aspire.Hosting.Tests (17)
Dashboard\DashboardEventHandlersTests.cs (3)
326var dashboardResource = new ExecutableResource("aspire-dashboard", "dashboard.exe", "."); 376var dashboardResource = new ExecutableResource("aspire-dashboard", "dashboard.exe", "."); 418var dashboardResource = new ExecutableResource("aspire-dashboard", "dashboard.exe", ".");
Dcp\DcpExecutorTests.cs (1)
10257var replacement = new ExecutableResource(
Dcp\ExecutableLaunchPlanTests.cs (5)
20var resource = new ExecutableResource("app", "tool", "/tmp"); 67var resource = new ExecutableResource("app", "tool", "/tmp"); 100var resource = new ExecutableResource("app", "tool", "/tmp"); 205var resource = new ExecutableResource("app", "tool", "/tmp"); 247var resource = new ExecutableResource("app", "tool", "/tmp");
ExecutableResourceTests.cs (4)
104=> Assert.Throws<ArgumentNullException>("command", () => new ExecutableResource("name", command: null!, workingDirectory: ".")); 108=> Assert.Throws<ArgumentException>("command", () => new ExecutableResource("name", command: "", workingDirectory: ".")); 112=> Assert.Throws<ArgumentNullException>("workingDirectory", () => new ExecutableResource("name", command: "cmd", workingDirectory: null!)); 117var er = new ExecutableResource("name", command: "cmd", workingDirectory: "");
ResourceExtensionsTests.cs (2)
23var resource = new ExecutableResource("proj", "dotnet", "/app"); 32var resource = new ExecutableResource("exe", "dotnet", "/app");
ResourceNotificationTests.cs (1)
66nameof(ExecutableResource) => new ExecutableResource("test", "cmd", "."),
WithOtlpExporterTests.cs (1)
252var executable = builder.AddResource(new ExecutableResource("testExe", "test.exe", "."))
109 references to ExecutableResource
Aspire.Hosting (38)
ApplicationModel\ExecutableLaunchRecipe.cs (3)
301/// Creates launch plans for ordinary <see cref="ExecutableResource"/> instances. 313var resource = (ExecutableResource)context.Resource;
ApplicationModel\ResourceExtensions.cs (2)
1920ExecutableResource when resource.HasAnnotationOfType<IProjectMetadata>() => KnownResourceTypes.Project, 1921ExecutableResource => KnownResourceTypes.Executable,
Ats\AtsTypeMappings.cs (1)
49[assembly: AspireExport(typeof(ExecutableResource))]
Ats\CoreExports.cs (2)
133public static IResourceBuilder<ExecutableResource> WithExecutableVolumeForPolyglot( 134this IResourceBuilder<ExecutableResource> resource,
BuiltInDistributedApplicationEventSubscriptionHandlers.cs (1)
25foreach (var executable in beforeStartEvent.Model.GetExecutableResources())
ContainerExecutableResourceExtensions.cs (1)
9/// Provides extension methods for working with <see cref="ExecutableResource"/> objects.
Dashboard\DashboardEventHandlers.cs (1)
125ExecutableResource dashboardResource;
Dcp\DcpNameGenerator.cs (2)
64else if (resource is ExecutableResource or ContainerExecutableResource) 78if (resource is not (ExecutableResource or ProjectResource))
Dcp\ExecutableCreator.cs (1)
311foreach (var resource in _model.GetExecutableResources())
ExecutableResourceBuilderExtensions.cs (12)
33public static IResourceBuilder<ExecutableResource> AddExecutable(this IDistributedApplicationBuilder builder, [ResourceName] string name, string command, string workingDirectory, params string[]? args) 54public static IResourceBuilder<ExecutableResource> AddExecutable(this IDistributedApplicationBuilder builder, [ResourceName] string name, string command, string workingDirectory, params object[]? args) 63var executable = new ExecutableResource(name, command, workingDirectory); 75/// Adds annotation to <see cref="ExecutableResource" /> to support containerization during deployment. 81public static IResourceBuilder<T> PublishAsDockerFile<T>(this IResourceBuilder<T> builder) where T : ExecutableResource 87/// Adds annotation to <see cref="ExecutableResource" /> to support containerization during deployment. 96public static IResourceBuilder<T> PublishAsDockerFile<T>(this IResourceBuilder<T> builder, IEnumerable<DockerBuildArg>? buildArgs) where T : ExecutableResource 110/// Adds support for containerizing this <see cref="ExecutableResource"/> during deployment. 127where T : ExecutableResource 196public static IResourceBuilder<T> WithCommand<T>(this IResourceBuilder<T> builder, string command) where T : ExecutableResource 227public static IResourceBuilder<T> WithWorkingDirectory<T>(this IResourceBuilder<T> builder, string workingDirectory) where T : ExecutableResource 245private sealed class ExecutableContainerResource(ExecutableResource er) : ContainerResource(er.Name)
ExecutableResourceExtensions.cs (3)
9/// Provides extension methods for working with <see cref="ExecutableResource"/> objects. 19public static IEnumerable<ExecutableResource> GetExecutableResources(this DistributedApplicationModel model) 23return model.Resources.OfType<ExecutableResource>();
Lifecycle\DotnetBuildCommandEventingSubscriber.cs (3)
37var executable = (ExecutableResource)@event.Resource; 106if (resource is not ExecutableResource { Command: "dotnet" })
Orchestrator\ApplicationOrchestrator.cs (1)
798resource is ExecutableResource ||
Publishing\ManifestPublishingContext.cs (2)
138else if (resource is ExecutableResource executable) 262private async Task WriteExecutableAsync(ExecutableResource executable)
ResourceBuilderExtensions.cs (3)
140if (builder.Resource is ContainerResource or ExecutableResource or ProjectResource) 208if (builder.Resource is ContainerResource or ExecutableResource or ProjectResource) 5446where T : ExecutableResource
Aspire.Hosting.Azure.AppContainers (1)
AzureContainerAppExecutableExtensions.cs (1)
36where T : ExecutableResource
Aspire.Hosting.Azure.EntraId.Tests (3)
EntraIdProvisioningTests.cs (3)
590[InlineData(nameof(ExecutableResource), false)] 593[InlineData(nameof(ExecutableResource), true)] 605nameof(ExecutableResource) => builder.AddExecutable("consumer", "node", "."),
Aspire.Hosting.Azure.Tests (1)
PublicApiTests\AppContainersPublicApiTests.cs (1)
51IResourceBuilder<ExecutableResource> executable = null!;
Aspire.Hosting.Blazor (1)
BlazorGatewayExtensions.cs (1)
170else if (gateway.Resource is ExecutableResource executableResource)
Aspire.Hosting.Dotnet.Tests (1)
DotnetProjectResourceTests.cs (1)
84Assert.IsAssignableFrom<ExecutableResource>(app.Resource);
Aspire.Hosting.Foundry (1)
HostedAgent\HostedAgentBuilderExtension.cs (1)
484else if (resource is ExecutableResource executableResource)
Aspire.Hosting.Go (8)
GoHostingExtensions.cs (4)
371var tidyResource = new ExecutableResource( 420var vendorResource = new ExecutableResource( 466var downloadResource = new ExecutableResource( 514var vetResource = new ExecutableResource(
GoModTidyBuilderAnnotation.cs (2)
8internal sealed class GoModTidyBuilderAnnotation(IResourceBuilder<ExecutableResource> sibling) : IResourceAnnotation 10public IResourceBuilder<ExecutableResource> Sibling { get; } = sibling;
GoModVendorBuilderAnnotation.cs (2)
8internal sealed class GoModVendorBuilderAnnotation(IResourceBuilder<ExecutableResource> sibling) : IResourceAnnotation 10public IResourceBuilder<ExecutableResource> Sibling { get; } = sibling;
Aspire.Hosting.Java (4)
JavaHostingExtensions.cs (4)
901var buildResource = builder.ApplicationBuilder.Resources 902.OfType<ExecutableResource>() 972var buildResource = builder.ApplicationBuilder.Resources 973.OfType<ExecutableResource>()
Aspire.Hosting.JavaScript (2)
JavaScriptPackageInstallerAnnotation.cs (2)
11public sealed class JavaScriptPackageInstallerAnnotation(ExecutableResource installerResource) : IResourceAnnotation 16public ExecutableResource Resource { get; } = installerResource;
Aspire.Hosting.JavaScript.Tests (1)
IntegrationTests.cs (1)
72Assert.IsAssignableFrom<ExecutableResource>(installer);
Aspire.Hosting.Kubernetes (2)
KubernetesEnvironmentExtensions.cs (2)
114resource is not ProjectResource and not ExecutableResource and not ContainerResource) 180item.Resource is ProjectResource or ExecutableResource &&
Aspire.Hosting.Python (2)
PythonPackageInstallerAnnotation.cs (2)
11internal sealed class PythonPackageInstallerAnnotation(ExecutableResource installerResource) : IResourceAnnotation 16public ExecutableResource Resource { get; } = installerResource;
Aspire.Hosting.Tests (42)
Dashboard\DashboardEventHandlersTests.cs (13)
326var dashboardResource = new ExecutableResource("aspire-dashboard", "dashboard.exe", "."); 376var dashboardResource = new ExecutableResource("aspire-dashboard", "dashboard.exe", "."); 418var dashboardResource = new ExecutableResource("aspire-dashboard", "dashboard.exe", "."); 640var executableResource = Assert.IsType<ExecutableResource>(dashboardResource); 722var executableResource = Assert.IsType<ExecutableResource>(dashboardResource); 791var executableResource = Assert.IsType<ExecutableResource>(dashboardResource); 858var executableResource = Assert.IsType<ExecutableResource>(dashboardResource); 902var executableResource = Assert.IsType<ExecutableResource>(dashboardResource);
Dashboard\DashboardResourceTests.cs (6)
59var dashboard = Assert.Single(model.Resources.OfType<ExecutableResource>()); 360var dashboard = Assert.Single(model.Resources.OfType<ExecutableResource>()); 746var dashboard = Assert.Single(model.Resources.OfType<ExecutableResource>());
Dcp\DcpExecutorTests.cs (4)
1870(Action<IResourceBuilder<ExecutableResource>> AddEndpoint, string ErrorMessageFragment)[] testcases = [ 10257var replacement = new ExecutableResource( 11098private static IResourceBuilder<ExecutableResource> AddExecutableWithPrecomputedReplicas(IDistributedApplicationBuilder builder) 11211var resource = builder.AddExecutable("shell", "cmd.exe", ".")
Dcp\ExecutableLaunchPlanTests.cs (5)
20var resource = new ExecutableResource("app", "tool", "/tmp"); 67var resource = new ExecutableResource("app", "tool", "/tmp"); 100var resource = new ExecutableResource("app", "tool", "/tmp"); 205var resource = new ExecutableResource("app", "tool", "/tmp"); 247var resource = new ExecutableResource("app", "tool", "/tmp");
ExecutableResourceTests.cs (1)
117var er = new ExecutableResource("name", command: "cmd", workingDirectory: "");
ExecutionConfigurationGathererTests.cs (5)
29var resource = builder.AddExecutable("test", "test.exe", ".") 51var resource = builder.AddExecutable("test", "test.exe", ".") 74var resource = builder.AddExecutable("test", "test.exe", ".").Resource; 92var resource = builder.AddExecutable("test", "test.exe", ".") 125var consumer = builder.AddExecutable("consumer", "consumer.exe", ".")
ResourceExtensionsTests.cs (2)
23var resource = new ExecutableResource("proj", "dotnet", "/app"); 32var resource = new ExecutableResource("exe", "dotnet", "/app");
ResourceNotificationTests.cs (2)
55[InlineData(typeof(ExecutableResource), KnownResourceTypes.Executable)] 66nameof(ExecutableResource) => new ExecutableResource("test", "cmd", "."),
WithEndpointTests.cs (2)
409var resource = Assert.Single(exeResources); 1020var resource = Assert.Single(appModel.GetExecutableResources());
WithTerminalTests.cs (2)
1102private static void CleanUpTerminalHostFiles(IResourceBuilder<ExecutableResource> resource) 1137IResourceBuilder<ExecutableResource> builder = null!;
Aspire.Playground.Tests (1)
Infrastructure\DistributedApplicationExtensions.cs (1)
149(ProjectResource or ExecutableResource)
Stress.AppHost (1)
CommandResources.cs (1)
1485.Where(r => r.IsContainer() || r is ProjectResource || r is ExecutableResource)