Sunday, December 30, 2018

Question about how to best handle sub-dependency updates on libraries

I am making progress on v2.0 of my CMS, and a lot of it will be about extensibility and expanding the architecture, but I have run across a scenario I can't find too much info on. I wanted to try and test out some options, but the process of releasing packages to test it over and over again was pretty painful.

A quick piece of background and the end goal: One of the features I am hoping to have in the next version is support for 3 different datastores. As I use more third party libraries to interact with other data stores, it made since to have difference packages for each store type (LiteDB, vs Postgres, etc) but would want the library that manages and renders the CMS (Spoon-Web) to be independent and be updated. Using the Postgres Spoon Driver as an example, it would have the package they install (Spoon-Postgres), Marten as the library to interact with the database, and Spoon-Web to power CMS admin, and define interfaces...

 ----------------------- | Spoon-Postgres | ----------------------- | - - - - - - - - | | ----------- ----------- | Spoon-Web | | Marten | ----------- ----------- 

What I would like to be able to define is that Spoon-Postgres will stay on v1.2, Marten will be v3.2, and Spoon-Web is v2.0. But in the future, I may want to release an updated version of Spoon-Web, say 2.1, that WILL update through nuget in a projects dependencies without requiring an update to Spoon-Postgres v1.2, but also define that Marten would NOT update past v3.2 without a new release of Spoon-Postgres.

I see a lot of options in the docs around configuration and such, and many parts of it seems to be in web projects and not libraries, and this use case is not clearly defined from what I can see. Does anyone have any experience managing something like this and where I could clearly define it? I know some of this may be convoluted to read, but hopefully it made sense.

Any help would be hot, thanks.

Question about how to best handle sub-dependency updates on libraries Click here
  • Blogger Comment
  • Facebook Comment

0 comments:

Post a Comment

The webdev Team