dotnet / dotnet/arcade

Improve how the cross-target libclrjit is excluded from RuntimeList.xml

Open
#6,683 2 comments 0 reactions 0 assignees View on GitHub
help wanted
Dominant language
C#
Stars
729
Forks
397
Avg merge
3d 15m
Merged PRs (30d)
149

Description

This approach has shortcomings:

https://github.com/dotnet/core-setup/blob/32cdcac88710b83a83c25dd1e2be946e3c180931/tools-local/tasks/CreateFrameworkListFile.cs#L107-L117

1. We don't know that all files that have this impact on self-contained publish will have `_` in the name of the dir.
2. It can't be tweaked by build logic.

I think a better way to do this is changing `runtime/` to `runtimes/linux-arm/` in `TargetFilePrefixes`.

(Details why files like this shouldn't be in the runtime list at https://github.com/dotnet/core-setup/issues/7039.)

Related: https://github.com/dotnet/core-setup/issues/5105. Another example usage of improved/generalized filtering infra.

Contributor guide

Open the contributing guide

Research direction

Start with the linked CreateFrameworkListFile.cs code around lines 107-117 and inspect how TargetFilePrefixes produces RuntimeList.xml. Review issues 7039 and 5105 for the filtering requirements; done means cross-target libclrjit is excluded without relying on directory underscores and the filtering remains configurable by build logic.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
build-system, tooling
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.