Open Tharylia opened 9 months ago
I did a first-pass lookover.
Other things that need answering:
Regarding your use case, it's still unclear to me why the dependent module has a different implementation of an assembly being loaded, making the load order important. Can you provide a minimal code example that exhibits this issue so that I can see it?
I did a first-pass lookover.
Other things that need answering:
- What is the expected behavior when a module is allowed to start prior to GW2? How does this affect the load order?
- What happens when a user manually disables a dependency?
- What UI feedback is provided to the user to explain a module not enabled because of a dependency issue? Is it just the dependency section?
BlishHUD Module Load Order Test.zip
ModuleB registers a context and ModuleA is dependent on B as it wants to use it.
Steps:
INFO | AnotherTest.ModuleA | Found context of module B.
entryINFO | AnotherTest.ModuleA | Could not find context of module B after 30 seconds.
INFO | AnotherTest.ModuleA | Found context of module B.
Kudos, SonarCloud Quality Gate passed!
0 Bugs
0 Vulnerabilities
0 Security Hotspots
1 Code Smell
No Coverage information
0.0% Duplication
This PR implements module loading sorted by dependencies. This is needed for contexts to work properly if the context class is contained inside the module.
Discussion Reference
All new features must be discussed prior to code review. This is to ensure that the implementation aligns with other design considerations. Please link to the Discord discussion:
https://discord.com/channels/531175899588984842/599270434642460753/1160999293361061979
Is this a breaking change?
Breaking changes require additional review prior to merging. If you answer yes, please explain what breaking changes have been made.
No