Repository navigation
[3.0] Overhaul SilkTouch configuration and DI #2624
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
93 commits
Select commit
Hold shift + click to select a range
184cc4c
Initial commit for feature/silktouch-config-overhaul
Exanite 3405c81
Add Autofac and adapt the existing IServiceCollection code to use it
Exanite a2ea251
Remove EvaluatedConstant since this is old code and we can evaluate u…
Exanite f80e35e
Begin removing keyed resolution and JSON config reading code
Exanite b9ae265
Remove IJobDependency/JobDependencies
Exanite a194659
Begin reworking SilkTouchGenerator
Exanite f023180
Combine IModContextProvider and IModContext because Provider's main j…
Exanite 9ac4f73
Update mods to not use IOptionsSnapshot nor IJobDependency
Exanite 6f8e8e5
Trim ServiceCollectionExtensions to isolate the code I need to keep
Exanite 3063d6b
Work on new composition root
Exanite 7ac194b
Get new setup roughly implemented and fix all compile errors
Exanite b9eb866
Remove old generator Resolve call
Exanite 8c538e8
Removes jobs from SilkTouchConfiguration and fix private field naming
Exanite ad3bee4
Remove unhelpful doc
Exanite 349287e
Add ModRegistrationExtensions
Exanite da27c07
Add RegisterMod helper
Exanite e2c3c1e
Add RegisterClangScraper
Exanite a238c05
Use collection expressions for CLI option definitions
Exanite fa374bb
Fix Program class not being static
Exanite 5c93619
Implement generator job parallelism setting
Exanite a1dca27
Work on registration API
Exanite 7dabae1
Translate Vulkan job JSON into C#
Exanite 2f544d3
Replace RegisterMod helper with AsHierarchyAndInterfaces
Exanite 1addf94
Add separate SilkTouchModRegistrationContext for registering mods
Exanite dc09ae0
Move function transformer registrations to TransformFunctions registr…
Exanite c5922a7
Also register FunctionTransformer alongside TransformFunctions
Exanite 01ebbd8
Use WithParameter to specifically inject the config param into each m…
Exanite 3e34bea
Update CSharpier tool
Exanite f9f94ef
Format SilkTouchRegistrationExtensions
Exanite 0ab9db2
Add extra spacing since CSharpier formatting is hard to read with flu…
Exanite 0670ebc
Remove "DON'T USE CONSTRUCTOR-STYLE RECORDS" warning comments, no lon…
Exanite b5efbb6
Change AddVTables Configuration to accept VTable types instead of ICo…
Exanite 8a2256b
Add IModContextProvider back, but rename to IModContextFactory
Exanite 4633023
Fix incorrect generator config
Exanite 522e960
Migrate MS DI registration to use Autofac
Exanite 82e7367
Add SilkTouchHost class
Exanite e879ba6
Move Vulkan job definition to Program from SilkTouchHost
Exanite e855ec5
Add todos and edit docs
Exanite 9674bf8
Rename parameter
Exanite e2f5d7c
Add new Silk.NET.SilkTouch.Jobs project
Exanite 67fd5f6
Migrate generator.json jobs to SilkTouch.Jobs
Exanite 12e24f3
Split jobs into multiple files for readability and to save my scroll …
Exanite 451c592
Fix compile errors in SilkTouch test project
Exanite bc08a3a
Fix incorrect default AddVTables config
Exanite 1c44723
Remove usages ThreadLocals and JobKey when used for keyed resolution/…
Exanite da2b65f
Remove more job key usages
Exanite 7d6858d
Cleanup a few more job key usages
Exanite a8599a2
Change SilkTouchJob to be internal
Exanite 7df9a65
Add registration methods for the different function transformers and …
Exanite 09f119a
Generate all bindings except Microsoft on Windows
Exanite 0fc0189
Add start of DocumentFactory
Exanite 24ca9a7
Work on DocumentFactory
Exanite fd34b7e
Work on DocumentFactory API
Exanite 6167199
Ensure using directives are well ordered
Exanite 948603c
Implement DocumentFactory syntax walker and rewriter
Exanite 18ce58b
Add using statement sorting to DocumentFactory
Exanite 60d5e1b
Register DocumentFactory by default
Exanite 4fb13e5
Handle headers during document initialization
Exanite 78dc049
Remove a few usages of ModCSharpSyntaxRewriter
Exanite 3a87296
Fix incorrect using directive sort order
Exanite 37eb2c4
Initialize the DocumentFactory with the default license header
Exanite f1c3e91
Remove Mod class (not IMod)
Exanite 8f56dd6
Replace common namespace identification with a DefaultNamespace confi…
Exanite e6ea216
Assume base.VisitCompilationUnit does not return null
Exanite 6dce1c1
Have DocumentFactory add a default namespace to documents without them
Exanite 839d852
Remove header injection handling from MSBuildModContext
Exanite e685bce
Update IModContext.WorkingDirectory doc comment
Exanite f595bc3
Work on removing ModCSharpSyntaxRewriter
Exanite d75e06a
Update remaining usages of ModCSharpSyntaxRewriter
Exanite 16c3027
Update mods to use DocumentFactory when adding documents
Exanite ae62503
Fix duplicated doc header
Exanite 921920d
Move SDL3 header txt up one level to match the other bindings
Exanite df689d1
Change DefaultLicenseHeader to specify the API-specific header file f…
Exanite 495b695
Edit doc comment
Exanite 2aa1d22
Update and fix unit tests
Exanite 7ec6e9d
Regenerate all bindings except Microsoft on Windows
Exanite 5e069f3
Have AddVTables add using System.Runtime.CompilerServices to all vtab…
Exanite 46b5904
Rework how using statements are gathered (WIP)
Exanite e9ff48a
Rework how ClangScraper outputs documents
Exanite d19f8b8
Cleanup
Exanite 180bc57
Unify the scrape and read from cache paths of ClangScraper
Exanite 70b412e
Fix source documents being dropped
Exanite f636e7e
Fix using statement formatting
Exanite f92f7cc
Isolate using statements added by AddVTables
Exanite aa1a059
Regenerate all bindings except Microsoft on Windows
Exanite 79a8be4
Move solution loading back to MSBuildModContextFactory
Exanite 03427ec
Fix solution cache race condition causing the solution to be loaded m…
Exanite 643a992
Edit docs for SilkTouchHost
Exanite d087d6e
Update the using-the-generator docs
Exanite ef1fb43
Update generator-mods docs
Exanite a8c5b55
Fix incorrect branch used for docs links
Exanite dbda599
Move GetLongestCommonPrefix and GetLongestCommonPath to ClangScraper
Exanite d8bef8e
Remove WithMods
Exanite File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,99 +1,99 @@ | ||
| <Solution> | ||
| <Folder Name="/docs/"> | ||
| <File Path="docs/CHANGELOG.md" /> | ||
| <File Path="docs/CODEOWNERS" /> | ||
| <File Path="docs/CODE_OF_CONDUCT.md" /> | ||
| <File Path="docs/CONTRIBUTING.md" /> | ||
| <File Path="docs/README.md" /> | ||
| </Folder> | ||
| <Folder Name="/eng/"> | ||
| <Project Path="eng/build/Silk.NET.NUKE.csproj" /> | ||
| </Folder> | ||
| <Folder Name="/eng/benchmarks/"> | ||
| <Project Path="eng/benchmarks/Silk.NET.Maths.Benchmarks/Silk.NET.Maths.Benchmarks.csproj" /> | ||
| </Folder> | ||
| <Folder Name="/examples/" /> | ||
| <Folder Name="/examples/CSharp/" /> | ||
| <Folder Name="/examples/CSharp/OpenAL/"> | ||
| <Project Path="examples/CSharp/OpenAL/Tutorial001.HelloSound/OpenAL.Tutorial001.HelloSound.csproj" /> | ||
| </Folder> | ||
| <Folder Name="/docs/"> | ||
| <File Path="docs/CHANGELOG.md" /> | ||
| <File Path="docs/CODEOWNERS" /> | ||
| <File Path="docs/CODE_OF_CONDUCT.md" /> | ||
| <File Path="docs/CONTRIBUTING.md" /> | ||
| <File Path="docs/README.md" /> | ||
| </Folder> | ||
| <Folder Name="/eng/"> | ||
| <Project Path="eng/build/Silk.NET.NUKE.csproj" /> | ||
| </Folder> | ||
| <Folder Name="/eng/benchmarks/"> | ||
| <Project Path="eng/benchmarks/Silk.NET.Maths.Benchmarks/Silk.NET.Maths.Benchmarks.csproj" /> | ||
| </Folder> | ||
| <Folder Name="/examples/" /> | ||
| <Folder Name="/examples/CSharp/" /> | ||
| <Folder Name="/examples/CSharp/OpenAL/"> | ||
| <Project Path="examples/CSharp/OpenAL/Tutorial001.HelloSound/OpenAL.Tutorial001.HelloSound.csproj" /> | ||
| </Folder> | ||
| <Folder Name="/examples/CSharp/OpenCL/"> | ||
| <Project Path="examples/CSharp/OpenCL/Tutorial001.SimpleKernel/OpenCL.Tutorial001.SimpleKernel.csproj" /> | ||
| </Folder> | ||
| <Folder Name="/examples/CSharp/SDL/"> | ||
| <Project Path="examples/CSharp/SDL/Tutorial001.HelloWindow/SDL.Tutorial001.HelloWindow.csproj" /> | ||
| </Folder> | ||
| <Folder Name="/scripts/"> | ||
| <File Path="scripts/azure-pipelines.yml" /> | ||
| <File Path="scripts/build.ps1" /> | ||
| <File Path="scripts/build.sh" /> | ||
| <File Path="scripts/cibuild.cmd" /> | ||
| <File Path="scripts/cibuild.sh" /> | ||
| </Folder> | ||
| <Folder Name="/Solution Items/"> | ||
| <File Path=".editorconfig" /> | ||
| <File Path=".gitattributes" /> | ||
| <File Path=".gitignore" /> | ||
| <File Path="Directory.Build.props" /> | ||
| <File Path="Directory.Build.targets" /> | ||
| <File Path="Directory.Packages.props" /> | ||
| <File Path="generator.json" /> | ||
| <File Path="LICENSE.md" /> | ||
| <File Path="Silk.NET.sln.DotSettings" /> | ||
| </Folder> | ||
| <Folder Name="/sources/"> | ||
| <File Path="sources/Directory.Build.props" /> | ||
| <File Path="sources/Directory.Build.targets" /> | ||
| <Project Path="sources/Playground/Playground.csproj" /> | ||
| </Folder> | ||
| <Folder Name="/sources/Core/"> | ||
| <Project Path="sources/Core/Core/Silk.NET.Core.csproj" /> | ||
| <Project Path="sources/Core/Silk.NET/Silk.NET.csproj" /> | ||
| </Folder> | ||
| <Folder Name="/sources/Maths/"> | ||
| <Project Path="sources/Maths/Maths/Silk.NET.Maths.csproj" /> | ||
| </Folder> | ||
| <Folder Name="/sources/OpenAL/"> | ||
| <Project Path="sources/OpenAL/OpenAL/Silk.NET.OpenAL.csproj" /> | ||
| <Project Path="sources/OpenAL/Soft.Native/Silk.NET.OpenAL.Soft.Native.csproj" /> | ||
| </Folder> | ||
| <Folder Name="/sources/OpenCL/"> | ||
| <Project Path="sources/OpenCL/OpenCL/Silk.NET.OpenCL.csproj" /> | ||
| </Folder> | ||
| <Folder Name="/sources/OpenGL/"> | ||
| <Project Path="sources/OpenGL/OpenGL/Silk.NET.OpenGL.csproj" /> | ||
| </Folder> | ||
| <Folder Name="/sources/OpenXR/"> | ||
| <Project Path="sources/OpenXR/OpenXR/Silk.NET.OpenXR.csproj" /> | ||
| </Folder> | ||
| <Folder Name="/sources/SDL/"> | ||
| <Project Path="sources/SDL/Native/Silk.NET.SDL.Native.csproj" /> | ||
| <Project Path="sources/SDL/SDL/Silk.NET.SDL.csproj" /> | ||
| </Folder> | ||
| <Folder Name="/sources/SilkTouch/"> | ||
| <Project Path="sources/SilkTouch/SilkTouch/Silk.NET.SilkTouch.csproj" /> | ||
| </Folder> | ||
| <Folder Name="/sources/Vulkan/"> | ||
| <Project Path="sources/Vulkan/Vulkan/Silk.NET.Vulkan.csproj" /> | ||
| </Folder> | ||
| <Folder Name="/sources/Win32/" /> | ||
| <Folder Name="/sources/Windowing/"> | ||
| <Project Path="sources/Windowing/Windowing/Silk.NET.Windowing.csproj" /> | ||
| </Folder> | ||
| <Folder Name="/tests/"> | ||
| <File Path="tests/Directory.Build.props" /> | ||
| <File Path="tests/Directory.Build.targets" /> | ||
| </Folder> | ||
| <Folder Name="/tests/Core/"> | ||
| <Project Path="tests/Core/Core/Silk.NET.Core.UnitTests.csproj" /> | ||
| </Folder> | ||
| <Folder Name="/tests/Maths/"> | ||
| <Project Path="tests/Maths/Maths/Silk.NET.Maths.Tests.csproj" /> | ||
| </Folder> | ||
| <Folder Name="/tests/SDL/"> | ||
| <Project Path="tests/SDL/SDL/Silk.NET.SDL.UnitTests.csproj" /> | ||
| </Folder> | ||
| <Folder Name="/tests/SilkTouch/"> | ||
| <Project Path="tests/SilkTouch/SilkTouch/Silk.NET.SilkTouch.UnitTests.csproj" /> | ||
| </Folder> | ||
| <Folder Name="/examples/CSharp/SDL/"> | ||
| <Project Path="examples/CSharp/SDL/Tutorial001.HelloWindow/SDL.Tutorial001.HelloWindow.csproj" /> | ||
| </Folder> | ||
| <Folder Name="/scripts/"> | ||
| <File Path="scripts/azure-pipelines.yml" /> | ||
| <File Path="scripts/build.ps1" /> | ||
| <File Path="scripts/build.sh" /> | ||
| <File Path="scripts/cibuild.cmd" /> | ||
| <File Path="scripts/cibuild.sh" /> | ||
| </Folder> | ||
| <Folder Name="/Solution Items/"> | ||
| <File Path=".editorconfig" /> | ||
| <File Path=".gitattributes" /> | ||
| <File Path=".gitignore" /> | ||
| <File Path="Directory.Build.props" /> | ||
| <File Path="Directory.Build.targets" /> | ||
| <File Path="Directory.Packages.props" /> | ||
| <File Path="LICENSE.md" /> | ||
| <File Path="Silk.NET.sln.DotSettings" /> | ||
| </Folder> | ||
| <Folder Name="/sources/"> | ||
| <File Path="sources/Directory.Build.props" /> | ||
| <File Path="sources/Directory.Build.targets" /> | ||
| <Project Path="sources/Playground/Playground.csproj" /> | ||
| </Folder> | ||
| <Folder Name="/sources/Core/"> | ||
| <Project Path="sources/Core/Core/Silk.NET.Core.csproj" /> | ||
| <Project Path="sources/Core/Silk.NET/Silk.NET.csproj" /> | ||
| </Folder> | ||
| <Folder Name="/sources/Maths/"> | ||
| <Project Path="sources/Maths/Maths/Silk.NET.Maths.csproj" /> | ||
| </Folder> | ||
| <Folder Name="/sources/OpenAL/"> | ||
| <Project Path="sources/OpenAL/OpenAL/Silk.NET.OpenAL.csproj" /> | ||
| <Project Path="sources/OpenAL/Soft.Native/Silk.NET.OpenAL.Soft.Native.csproj" /> | ||
| </Folder> | ||
| <Folder Name="/sources/OpenCL/"> | ||
| <Project Path="sources/OpenCL/OpenCL/Silk.NET.OpenCL.csproj" /> | ||
| </Folder> | ||
| <Folder Name="/sources/OpenGL/"> | ||
| <Project Path="sources/OpenGL/OpenGL/Silk.NET.OpenGL.csproj" /> | ||
| </Folder> | ||
| <Folder Name="/sources/OpenXR/"> | ||
| <Project Path="sources/OpenXR/OpenXR/Silk.NET.OpenXR.csproj" /> | ||
| </Folder> | ||
| <Folder Name="/sources/SDL/"> | ||
| <Project Path="sources/SDL/Native/Silk.NET.SDL.Native.csproj" /> | ||
| <Project Path="sources/SDL/SDL/Silk.NET.SDL.csproj" /> | ||
| </Folder> | ||
| <Folder Name="/sources/SilkTouch/"> | ||
| <Project Path="sources/SilkTouch/Jobs/Silk.NET.SilkTouch.Jobs.csproj" /> | ||
| <Project Path="sources/SilkTouch/SilkTouch/Silk.NET.SilkTouch.csproj" /> | ||
| </Folder> | ||
| <Folder Name="/sources/Vulkan/"> | ||
| <Project Path="sources/Vulkan/Vulkan/Silk.NET.Vulkan.csproj" /> | ||
| </Folder> | ||
| <Folder Name="/sources/Win32/" /> | ||
| <Folder Name="/sources/Windowing/"> | ||
| <Project Path="sources/Windowing/Windowing/Silk.NET.Windowing.csproj" /> | ||
| </Folder> | ||
| <Folder Name="/tests/"> | ||
| <File Path="tests/Directory.Build.props" /> | ||
| <File Path="tests/Directory.Build.targets" /> | ||
| </Folder> | ||
| <Folder Name="/tests/Core/"> | ||
| <Project Path="tests/Core/Core/Silk.NET.Core.UnitTests.csproj" /> | ||
| </Folder> | ||
| <Folder Name="/tests/Maths/"> | ||
| <Project Path="tests/Maths/Maths/Silk.NET.Maths.Tests.csproj" /> | ||
| </Folder> | ||
| <Folder Name="/tests/SDL/"> | ||
| <Project Path="tests/SDL/SDL/Silk.NET.SDL.UnitTests.csproj" /> | ||
| </Folder> | ||
| <Folder Name="/tests/SilkTouch/"> | ||
| <Project Path="tests/SilkTouch/SilkTouch/Silk.NET.SilkTouch.UnitTests.csproj" /> | ||
| </Folder> | ||
| </Solution> | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
|
Exanite marked this conversation as resolved.
|
File renamed without changes.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.