Skip to content
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

Build Process Cleanup #10

Merged
merged 12 commits into from
Oct 10, 2024
Merged

Build Process Cleanup #10

merged 12 commits into from
Oct 10, 2024

Conversation

Mrcubix
Copy link
Owner

@Mrcubix Mrcubix commented Sep 27, 2024

Simplified the build process by separating the lib's csproj for 0.5.x & 0.6.x into their own folder, where the later, include every .cs file from the former.

Fixed many warnings by disabling nullable globally & only enabling it where necessary,
Fixed a warning when building in 0.6.x, a return statement was unreachable (it was intended to be used inside the .NET 5 conditional).

I had a netstandard refactor branch ongoing, but it's probably going to go down the drain as this PR uses the much simpler fix of just working around the Nuget multi-targeting issue by using a separate project folder for restore.
EDIT: I'm just using a target to alter the PackageId now, providing the intended behavior if the NuGet bug didn't exist.

It would had probably been better to continue with that branch as a lot of the backend was made simpler through abstraction, however, such abstraction came at a cost, being a large overhead, especially when constantly converting version specific objects to a common one (E.g: Touch Reports, Touch Points, ...)

This could potentially be fixed by using a stub report that doesn't get re-instantiated every reports, but it will still come at a cost as for the extra iterations required to copy each points.

Some were fixed by setting Nullable to disabled where expected.
Also disabled Security Audit warning globally as there is no way to disable them in specific project where such dependencies cannot be updated.
(if anyone know a way, please create a PR)
@Mrcubix Mrcubix self-assigned this Sep 27, 2024
@Mrcubix Mrcubix added bug Something isn't working external issue partially or entirely due to external frameworks or libraries labels Sep 27, 2024
Removed duplicate .Lib & .Installer,
Additionally embedding pdbs globally.
For some reasons, Newtonsoft.Json is going SCHIZO & is trying to load the 0.6.x dll when the daemon plugin relies on 0.5.x & the object returned depends on 0.5.x .Plugin. Was also happening in 0.6.x.
@Mrcubix
Copy link
Owner Author

Mrcubix commented Oct 10, 2024

Final pass will be done tomorrow.

@Mrcubix Mrcubix merged commit bc101fc into master Oct 10, 2024
10 checks passed
@Mrcubix Mrcubix deleted the build-cleanup branch October 29, 2024 12:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working external issue partially or entirely due to external frameworks or libraries
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant