Description
When experimental polyglot languages are enabled, aspire new exposes a dedicated top-level empty AppHost entry for Java, but not for Python.
With both feature flags enabled:
aspire config set -g features.experimentalPolyglot:python true
aspire config set -g features.experimentalPolyglot:java true
aspire new
The top-level template picker includes:
Empty (Java AppHost)
Empty (TypeScript AppHost)
Empty AppHost
but there is no equivalent:
Python is only reachable via the generic Empty AppHost language picker, while Java is reachable both from the top-level picker and through direct command/template registration.
Expected behavior
Top-level empty AppHost entries should be consistent across enabled experimental AppHost languages. Either:
- Python should get a dedicated
Empty (Python AppHost) top-level entry when experimentalPolyglot:python is enabled, or
- Java/other experimental languages should not appear as dedicated top-level entries and should instead only be available through the generic
Empty AppHost language picker.
Actual behavior
Java appears as a top-level empty AppHost template when enabled; Python does not.
Notes
The current CLI registrations appear inconsistent:
CliTemplateFactory registers KnownTemplateId.JavaEmptyAppHost as a direct callback template.
KnownTemplateId has JavaEmptyAppHost, but no PythonEmptyAppHost.
- The generic
aspire-empty callback includes Python in selectableAppHostLanguages.
Likely affected area:
src/Aspire.Cli/Templating/CliTemplateFactory.cs
src/Aspire.Cli/Templating/KnownTemplateId.cs
Description
When experimental polyglot languages are enabled,
aspire newexposes a dedicated top-level empty AppHost entry for Java, but not for Python.With both feature flags enabled:
The top-level template picker includes:
but there is no equivalent:
Python is only reachable via the generic
Empty AppHostlanguage picker, while Java is reachable both from the top-level picker and through direct command/template registration.Expected behavior
Top-level empty AppHost entries should be consistent across enabled experimental AppHost languages. Either:
Empty (Python AppHost)top-level entry whenexperimentalPolyglot:pythonis enabled, orEmpty AppHostlanguage picker.Actual behavior
Java appears as a top-level empty AppHost template when enabled; Python does not.
Notes
The current CLI registrations appear inconsistent:
CliTemplateFactoryregistersKnownTemplateId.JavaEmptyAppHostas a direct callback template.KnownTemplateIdhasJavaEmptyAppHost, but noPythonEmptyAppHost.aspire-emptycallback includes Python inselectableAppHostLanguages.Likely affected area:
src/Aspire.Cli/Templating/CliTemplateFactory.cssrc/Aspire.Cli/Templating/KnownTemplateId.cs