-
Notifications
You must be signed in to change notification settings - Fork 85
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
Disentangle core lib from UI libs #600
Comments
This is working again |
Very much considering just removing the new Notably, I don't know if this will work on macOS when inside a .app file. May need to put this in the release notes and make sure users know about this breaking change. Can also make a tweak and see if https://stackoverflow.com/questions/4764680/how-to-get-the-location-of-the-dll-currently-executing is trim safe. ( |
Decided not to use For now, the UI cleanup is done. The UI is still attached to the core lib, but things are significantly smaller now and make use of less of the core |
If we want other libraries to be able to use our user interfaces for their own software update processes that may not use the core of NetSparkleUpdater at all, we should remove the use of NetSparkle from the user interface libraries. The user interfaces can be passed just the information they need.
For example:
IUIFactory
methods take aSparkleUpdater
instance and then do nothing with it. This shouldn't be necessary. If end users want to override things with their ownUIFactory
and pull in things that NetSparkleUpdater has, they would be free to use their own instance(s) of NetSparkle as they please, but our core offering would still work.UpdateAvailableWindowViewModel
takes aSparkleUpdater
instance and only uses it to talk to theReleaseNotesUpdater
. TheReleaseNotesUpdater
only uses theISignatureVerifier
, so we can probably remove the need for sending aSparkleUpdater
instance toReleaseNotesUpdater
entirely by just using the interfaces.ASMResolver
(about 1 MB),NetSparkleUpdater.Chaos.NaCl
(~200 KB), andSystem.Text.Json
(~600 KB -- see System.Text.Json does not need to be included all the time #601). So, pulling in about 2 MB (~1.5 MB w/o S.T.Json) more, untrimmed. Not a ton, but not negligible. What can be done about this? (The UI dlls themselves are very small.)AppCastItem
to the UI end of things at all: what would that look like? Is that possible? (AKA the UI hardly knows about NetSparkle at all.)Related: #77
The text was updated successfully, but these errors were encountered: