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

Initial support for NetSparkle trimming (Core DLL, Avalonia) #587

Merged
merged 35 commits into from
Jul 6, 2024

Conversation

Deadpikle
Copy link
Collaborator

@Deadpikle Deadpikle commented Jun 28, 2024

See #585.

Includes some things we'll want even without full trimming support (if it comes to that).

Notes:

  • Adds <IsTrimmable>true</IsTrimmable> and <TrimMode>partial</TrimMode> to NetSparkle.csproj
  • Adds unit tests for assembly accessors
  • Adds new IAssemblyAccessor: AsmResolverAccessor
  • Adds important docs to IAssemblyAccessor so users know where stuff is coming from
  • Make sure semver data can be pulled properly (confirmed in unit tests)
  • Add test project for trimming (console app) and see that it trims NetSparkle (it does)
  • Currently, I have it set up with the newer BouncyCastle version. However, the app cast generator isn't wanting to trim assemblies, incl. BouncyCastle. Not sure why. Test and figure out if this is possible. (Note: setting TrimMode to full trims BouncyCastle, as does not specifying TrimMode at all. HOWEVER, nuget pack doesn't work/trim, so...maybe it is just time to replace BouncyCastle...).
    • Trimming app cast generator is not possible, it seems. (Not sure why you can't trim tools. I can't find any documentation that says you can do this, and dotnet pack just fails when trimming is on.)
  • Need to test .NET 4.6.2 building
  • There is an issue where unit tests fail on Windows due to being unable to delete one of the tmp files from building a DLL from the assembly tests. Not sure what's hanging onto it. Have done a hackfix for now so that tests don't outright fail-fail, but this needs to be fixed or worked around somehow. Probably need to crack out a windows machine to see what's going on here.
  • Enable compiled bindings on Avalonia UI
    • Switch to compiled bindings
  • Enable .NET Framework tests to run automatically

@Deadpikle Deadpikle mentioned this pull request Jun 28, 2024
11 tasks
@Deadpikle Deadpikle changed the title [WIP] Feature/trimming support Initial support for NetSparkle trimming (Core DLL, Avalonia) Jul 6, 2024
@Deadpikle Deadpikle merged commit 731b169 into develop Jul 6, 2024
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant