microsoft / microsoft/aspire

Allow extending the IProjectMetadata via another package

Open
#3,968 1 comment 0 reactions 0 assignees View on GitHub
area-app-model
Dominant language
C#
Stars
6.3k
Forks
991
Avg merge
2d 15h
Merged PRs (30d)
196

Description

I drafted a [PR](https://github.com/dotnet/aspire/pull/3866) (work in progress) where one part consists of extracting metadata from AppHost referenced projects and generating source files similar to `IProjectMetadata`. Now I'm at a place where I'm wondering how something like this should be integrated. What projects should own what responsibilities and what projects should exist for the purpose of this.

This particular use-case would only be interesting for those that want to express AWS Lambda Functions in their application model.

## ASPIRE004
AWS Lambda supports class libraries which required some [changes](https://github.com/dotnet/aspire/pull/3866/files#diff-76e7fbb14bac4adf35cc460c45cb9211c6c09cb4f7a0be60a62d805744918237) to `Aspire.Hosting.AppHost.targets` so that the user do not have to configure `SkipValidateAspireHostProjectResources=true`. This change splits evaluation of referenced projects and creation of warnings so that its possible for a different target to run between and set `IsAspireIntegratedClassLibrary=true`.

This affects `_AspireProjectResource` which now also has `IsExecutableReference=true/false` and potentially `IsAspireIntegratedClassLibrary=true`.

Would this change (or alternative implementation) that enables project-by-project suppression of ASPIRE004 be possible?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.