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

Unified native package #103

Closed
Gigas002 opened this issue May 15, 2023 · 6 comments
Closed

Unified native package #103

Gigas002 opened this issue May 15, 2023 · 6 comments
Labels
enhancement New feature or request good first issue Good for newcomers

Comments

@Gigas002
Copy link

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.

@MaxRev-Dev MaxRev-Dev added the wont-fix/wont-do This will not be worked on label May 17, 2023
@MaxRev-Dev
Copy link
Owner

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).

@Gigas002
Copy link
Author

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.

@MaxRev-Dev MaxRev-Dev added enhancement New feature or request good first issue Good for newcomers and removed wont-fix/wont-do This will not be worked on labels Jan 27, 2024
@MaxRev-Dev
Copy link
Owner

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

@Gigas002
Copy link
Author

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

@MaxRev-Dev
Copy link
Owner

MaxRev-Dev commented Jun 15, 2024

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

@Gigas002
Copy link
Author

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

2 participants