Separate NuGet package for NFluidSynth and NFluidSynth.MidiAccess
PJB3005 opened this issue · 6 comments
Right now, pulling in NFluidsynth
also pulls in a dependency on NFluidsynth.MidiAccess
and by extension a dependency on managed-midi
. managed-midi
is a huge dependency compared to NFluidsynth
and it isn't even necessary for many uses since fluidsynth already provides basic MIDI access APIs anyways.
Also, if this is done, I don't think there's anything stopping you from dropping the explicit .nuspec file and just putting it all into the .csproj file nowadays.
I take it non-issue as it does not block anyone. You can create PR if you think it's really worth.
netcoreapp3.0 and net472 does not have explicit reference to managed-midi so you're happy and I am too (because I don't have to deal with two nupkgs mess).
because I don't have to deal with two nupkgs mess
If you split the packages you can just auto generate them from metadata in the .csproj files, and then share said data between the two projects.
netcoreapp3.0 and net472 does not have explicit reference to managed-midi so you're happy
That makes no sense. MidiAccess
still needs managed-midi so if you don't depend on it people who try to use it will run into typeload/dllnotfound exceptions. You need to depend on it for every target framework, not just .NET Standard arbitrarily.
This is from my perspective:
- managed-midi is quite small. There is almost no advantage of dare to remove from dependencies. Any app dev that seriously takes app size can either rely on linkers, and individual DLL references can always be manually excluded.
- If I split the *.nuspec files then every time I will have to publish nupkgs. I don't plan to automate publishing so far; current setup does not work and there is no plan to waste time to fix it.
- Current packaging setup does not make perfect sense but no one has the actual problema nd I'm not working for nonexistent people.
managed-midi is quite small.
It's like 1 MiB compared to the 50 KiB that is NFluidsynth
. With trimming it can get down to ~500 KiB which is still a lot for a dependency that is completely unrelated to what the package advertises.
If I split the *.nuspec files then every time I will have to publish nupkgs.
Can't dotnet nuget push
handle this automatically for you?
current setup does not work
Uh, this a typo?
no one has the actual problema nd I'm not working for nonexistent people.
Except me, and everybody in the future who looks for this package because they need a binding to fluidsynth.