Improve the building and use of the AssemblyProcessor dependency
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 7.8k
- Forks
- 1.2k
- Avg merge
- 2d 17h
- Merged PRs (30d)
- 49
Description
Trying to get some diagnostics information about the changes AssemblyProcessor is making when building projects, I ran into a number of issues.
AssemblyProcessor is checked in built for net6 and netstandard2.0 right now. However, both Stride.Core and Stride.GameStudio use it with the netstandard2.0 TFM. Stride.AssemblyProcessor.sln however only builds for net6. Conditional defines appropriate for the TFM are missing. The project files are very verbose. The test project is broken because it references nunit assemblies (not .nuget) although the tests are written with Xunit. There are warnings about assembly redirection building for netstandard2.0, because the dependencies actually don't support that TFM.
I would like to fix these issues prior to changing AssemblyProcessor even if it is only during local development. To make this work as a non-breaking change, the binaries that are checked in here need to be updated.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with Stride.AssemblyProcessor.sln and the project files under deps/AssemblyProcessor, comparing the net6 and netstandard2.0 targets used by Stride.Core and Stride.GameStudio. Inspect the test project’s NUnit references versus its Xunit tests and the netstandard2.0 assembly-redirection warnings. Done means the solution, tests, and both target builds work, and the checked-in binaries are updated.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- build-system
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100