bazel-contrib / bazel-contrib/rules_dotnet
Incompatible handling of NuGet package "build" folder
- Dominant language
- Starlark
- Stars
- 209
- Forks
- 98
- Avg merge
- 3h 59m
- Merged PRs (30d)
- 14
Description
Newer versions of rules_dotnet brought support for the "build" folder that some NuGet packages have. According to #369, this implementation was based on [NETStandard.Library](https://www.nuget.org/packages/NETStandard.Library) as an example of the expected directory structure (where dlls are under framework and lib/ref directories).
However, not all NuGet packages structure their "build" folder in the same way as NETStandard.Library, e.g. [coverlet.collector](https://www.nuget.org/packages/coverlet.collector) and [NUnit3TestAdapter](https://www.nuget.org/packages/NUnit3TestAdapter) have dlls directly under a framework directory and [Microsoft.TestPlatform.TestHost](https://www.nuget.org/packages/Microsoft.TestPlatform.TestHost) has dlls under framework and architecture directories. rules_dotnet won't collect these dlls and therefore they won't be available to the build.
Contributor guide
Research direction
No source file, test, or entry point is named. Start by locating the build-folder DLL collection logic and compare its behavior with the layouts of NETStandard.Library, coverlet.collector, NUnit3TestAdapter, and Microsoft.TestPlatform.TestHost. Done means DLLs directly under framework directories and under framework/architecture directories are available to the Bazel build.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100