Allow extending the IProjectMetadata via another package
- 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
Assessment
This issue has not been assessed yet.