gdal.netcore icon indicating copy to clipboard operation
gdal.netcore copied to clipboard

Unified native package

Open Gigas002 opened this issue 2 years ago • 4 comments

It's great to see the progress on NET bindings for gdal is still an ongoing work! Though I'm no longer an active contributor to GIS community, after looking at increasing number of native gdal packages, I came up with idea of creating the additional nuget package, combining references to all native ones, like NetVips.Native does. That way the library users will have to write only one explicit dependency in their .csproj files and all the new (theoretical) platforms, like e.g. linux-arm64, can be added with a simple version bump from a library-user perspective.

Gigas002 avatar May 15 '23 04:05 Gigas002

This is not possible, at least yet. Before making a versatile package, I must configure GH runners for all runtimes and synchronize builds. Also, here are a few cons of doing this:

  • Any patch for a specific runtime will bump a minor version on the versatile package (complicated patch delivery/more frequent version change).
  • Restore will be slower. Each package must be downloaded and installed (slower restore).
  • Each package will be downloaded and stored in the local cache (more storage space).

MaxRev-Dev avatar May 17 '23 23:05 MaxRev-Dev

Well, having unified package with other package as sources doesn't mean you have to use that one. Everyone, who cares about restore speed/storage space can just stick with the way they handle native dependencies before. It's just one more option for a user.

Gigas002 avatar May 18 '23 00:05 Gigas002

As the CI was configured this could be possible now. The unified runtime package which contains both arm64/x64 references is now packed with this approach. One minor thing that is for now there is no synchronization between jobs, so the bundle build must be triggered manually.

The name of the bundle could be as follows if there are no objections: MaxRev.Gdal.Bundle

MaxRev-Dev avatar Jan 27 '24 09:01 MaxRev-Dev

Great! I don't have any objections with naming, it looks clear enough to me :+1:

Gigas002 avatar Jan 27 '24 14:01 Gigas002

Resolved in #131 Unified package is available at https://www.nuget.org/packages/MaxRev.Gdal.Universal

MaxRev-Dev avatar Jun 15 '24 00:06 MaxRev-Dev

Works great on my end, many thanks for keeping an eye on this!

Gigas002 avatar Jun 17 '24 04:06 Gigas002