24 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.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)
33public class DotnetProjectResource : ExecutableResource, IResourceWithServiceDiscovery
Aspire.Hosting.Go (1)
GoAppResource.cs (1)
37: ExecutableResource(name, "go", workingDirectory), IResourceWithServiceDiscovery, IContainerFilesDestinationResource;
Aspire.Hosting.Go.Tests (1)
AddGoAppTests.cs (1)
1194: 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)
431: 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)
97: 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)
10399private sealed class TestExecutableResource(string directory) : ExecutableResource("TestExecutable", "test", directory); 10400private sealed class TestOtherExecutableResource(string directory) : ExecutableResource("TestOtherExecutable", "test-other", directory); 10416private sealed class TestDotnetProjectExecutableResource(string directory) : ExecutableResource("TestDotnetProject", "dotnet", directory);
Dcp\ResourceSnapshotBuilderTests.cs (1)
365private sealed class TestDotnetProjectResource(string name) : ExecutableResource(name, "dotnet", "/app");
30 instantiations of ExecutableResource
Aspire.Hosting (3)
Dashboard\DashboardEventHandlers.cs (2)
292dashboardResource = new ExecutableResource(KnownResourceNames.AspireDashboard, fullyQualifiedDashboardPath, dashboardWorkingDirectory ?? ""); 326dashboardResource = new ExecutableResource(KnownResourceNames.AspireDashboard, "dotnet", dashboardWorkingDirectory ?? "");
ExecutableResourceBuilderExtensions.cs (1)
61var executable = new ExecutableResource(name, command, workingDirectory);
Aspire.Hosting.Dotnet.Tests (1)
DotnetProjectBuildCoordinatorTests.cs (1)
1671@event.Model.Resources[index] = new ExecutableResource(replaced.Resource.Name, "dotnet", workspace.Path);
Aspire.Hosting.Go (4)
GoHostingExtensions.cs (4)
373var tidyResource = new ExecutableResource( 422var vendorResource = new ExecutableResource( 468var downloadResource = new ExecutableResource( 516var vetResource = new ExecutableResource(
Aspire.Hosting.Maui.Tests (6)
MauiPlatformExtensionsTests.cs (6)
804var dashboard = appBuilder.AddResource(new ExecutableResource(KnownResourceNames.AspireDashboard, "dashboard", "")); 868var dashboard = appBuilder.AddResource(new ExecutableResource(KnownResourceNames.AspireDashboard, "dashboard", "")); 907var dashboard = appBuilder.AddResource(new ExecutableResource(KnownResourceNames.AspireDashboard, "dashboard", "")); 1190var dashboard = appBuilder.AddResource(new ExecutableResource(KnownResourceNames.AspireDashboard, "dashboard", "")); 1272var dashboard = appBuilder.AddResource(new ExecutableResource(KnownResourceNames.AspireDashboard, "dashboard", "")); 1308var dashboard = appBuilder.AddResource(new ExecutableResource(KnownResourceNames.AspireDashboard, "dashboard", ""));
Aspire.Hosting.Tests (16)
Dashboard\DashboardEventHandlersTests.cs (3)
297var dashboardResource = new ExecutableResource("aspire-dashboard", "dashboard.exe", "."); 347var dashboardResource = new ExecutableResource("aspire-dashboard", "dashboard.exe", "."); 388var dashboardResource = new ExecutableResource("aspire-dashboard", "dashboard.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 (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", "."))
96 references to ExecutableResource
Aspire.Hosting (34)
ApplicationModel\ExecutableLaunchRecipe.cs (3)
301/// Creates launch plans for ordinary <see cref="ExecutableResource"/> instances. 313var resource = (ExecutableResource)context.Resource;
ApplicationModel\ResourceExtensions.cs (2)
1867ExecutableResource when resource.HasAnnotationOfType<IProjectMetadata>() => KnownResourceTypes.Project, 1868ExecutableResource => KnownResourceTypes.Executable,
Ats\AtsTypeMappings.cs (1)
48[assembly: AspireExport(typeof(ExecutableResource))]
Ats\CoreExports.cs (2)
131public static IResourceBuilder<ExecutableResource> WithExecutableVolumeForPolyglot( 132this IResourceBuilder<ExecutableResource> resource,
BuiltInDistributedApplicationEventSubscriptionHandlers.cs (1)
27foreach (var executable in beforeStartEvent.Model.GetExecutableResources())
ContainerExecutableResourceExtensions.cs (1)
9/// Provides extension methods for working with <see cref="ExecutableResource"/> objects.
Dashboard\DashboardEventHandlers.cs (1)
287ExecutableResource dashboardResource;
Dcp\DcpNameGenerator.cs (2)
49else if (resource is ExecutableResource or ContainerExecutableResource) 74if (resource is not (ExecutableResource or ProjectResource))
Dcp\ExecutableCreator.cs (1)
235foreach (var resource in _model.GetExecutableResources())
ExecutableResourceBuilderExtensions.cs (12)
31public static IResourceBuilder<ExecutableResource> AddExecutable(this IDistributedApplicationBuilder builder, [ResourceName] string name, string command, string workingDirectory, params string[]? args) 52public static IResourceBuilder<ExecutableResource> AddExecutable(this IDistributedApplicationBuilder builder, [ResourceName] string name, string command, string workingDirectory, params object[]? args) 61var executable = new ExecutableResource(name, command, workingDirectory); 73/// Adds annotation to <see cref="ExecutableResource" /> to support containerization during deployment. 79public static IResourceBuilder<T> PublishAsDockerFile<T>(this IResourceBuilder<T> builder) where T : ExecutableResource 85/// Adds annotation to <see cref="ExecutableResource" /> to support containerization during deployment. 94public static IResourceBuilder<T> PublishAsDockerFile<T>(this IResourceBuilder<T> builder, IEnumerable<DockerBuildArg>? buildArgs) where T : ExecutableResource 108/// Adds support for containerizing this <see cref="ExecutableResource"/> during deployment. 125where T : ExecutableResource 181public static IResourceBuilder<T> WithCommand<T>(this IResourceBuilder<T> builder, string command) where T : ExecutableResource 212public static IResourceBuilder<T> WithWorkingDirectory<T>(this IResourceBuilder<T> builder, string workingDirectory) where T : ExecutableResource 230private 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>();
Orchestrator\ApplicationOrchestrator.cs (1)
808resource is ExecutableResource ||
Publishing\ManifestPublishingContext.cs (2)
130else if (resource is ExecutableResource executable) 254private async Task WriteExecutableAsync(ExecutableResource executable)
ResourceBuilderExtensions.cs (2)
124if (builder.Resource is ContainerResource or ExecutableResource or ProjectResource) 192if (builder.Resource is ContainerResource or ExecutableResource or ProjectResource)
Aspire.Hosting.Azure.AppContainers (1)
AzureContainerAppExecutableExtensions.cs (1)
36where T : ExecutableResource
Aspire.Hosting.Azure.Tests (1)
PublicApiTests\AppContainersPublicApiTests.cs (1)
51IResourceBuilder<ExecutableResource> executable = null!;
Aspire.Hosting.Dotnet.Tests (1)
DotnetProjectResourceTests.cs (1)
92Assert.IsAssignableFrom<ExecutableResource>(app.Resource);
Aspire.Hosting.Foundry (1)
HostedAgent\HostedAgentBuilderExtension.cs (1)
476else if (resource is ExecutableResource executableResource)
Aspire.Hosting.Go (8)
GoHostingExtensions.cs (4)
373var tidyResource = new ExecutableResource( 422var vendorResource = new ExecutableResource( 468var downloadResource = new ExecutableResource( 516var 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)
904var buildResource = builder.ApplicationBuilder.Resources 905.OfType<ExecutableResource>() 975var buildResource = builder.ApplicationBuilder.Resources 976.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)
116resource is not ProjectResource and not ExecutableResource and not ContainerResource) 182item.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 (37)
Dashboard\DashboardEventHandlersTests.cs (11)
297var dashboardResource = new ExecutableResource("aspire-dashboard", "dashboard.exe", "."); 347var dashboardResource = new ExecutableResource("aspire-dashboard", "dashboard.exe", "."); 388var dashboardResource = new ExecutableResource("aspire-dashboard", "dashboard.exe", "."); 611var executableResource = Assert.IsType<ExecutableResource>(dashboardResource); 692var executableResource = Assert.IsType<ExecutableResource>(dashboardResource); 761var executableResource = Assert.IsType<ExecutableResource>(dashboardResource); 828var executableResource = Assert.IsType<ExecutableResource>(dashboardResource);
Dashboard\DashboardResourceTests.cs (6)
51var dashboard = Assert.Single(model.Resources.OfType<ExecutableResource>()); 342var dashboard = Assert.Single(model.Resources.OfType<ExecutableResource>()); 728var dashboard = Assert.Single(model.Resources.OfType<ExecutableResource>());
Dcp\DcpExecutorTests.cs (2)
1518(Action<IResourceBuilder<ExecutableResource>> AddEndpoint, string ErrorMessageFragment)[] testcases = [ 10024var 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 (4)
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", ".")
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)
1003private static void CleanUpTerminalHostFiles(IResourceBuilder<ExecutableResource> resource) 1038IResourceBuilder<ExecutableResource> builder = null!;
Aspire.Playground.Tests (1)
Infrastructure\DistributedApplicationExtensions.cs (1)
149(ProjectResource or ExecutableResource)
Stress.AppHost (1)
CommandResources.cs (1)
1408.Where(r => r.IsContainer() || r is ProjectResource || r is ExecutableResource)