swiftkube / client

Swift client for Kubernetes
Apache License 2.0
129 stars 20 forks source link

Support yams > 5.0.0 as dependencies #19

Closed petershaw closed 1 year ago

petershaw commented 1 year ago

In one of our projects we use yams as well as the beautiful swiftkube client, that we do really love. After updating to Yams.git from: "5.0.1" and client.git from: "0.11.0" the following error occur while package resolve

Computing version for https://github.com/swiftkube/client.git
error: Dependencies could not be resolved because root depends on 'yams' 5.0.1..<6.0.0 and root depends on 'client' 0.11.0..<1.0.0.
'client' >= 0.11.0 practically depends on 'yams' 4.0.0..<5.0.0 because no versions of 'client' match the requirement 0.11.1..<1.0.0 and 'client' 0.11.0 depends on 'yams' 4.0.0..<5.0.0.

Is it possible to update swiftkube to support the latest Yams version?

petershaw commented 1 year ago

Pull Request: https://github.com/swiftkube/client/pull/20

iabudiab commented 1 year ago

@petershaw Hey there 👋 Thanks for the issue and the PR!

Yes, we should update Yams and the rest of the dependencies as well. Yams 5+ requires Swift 5.4+, however, Siwftkube is currently on 5.2. So that also should be updated, especially for the new concurrency model.

The question is: should the minimum be 5.4 or rather 5.5. I am leaning towards 5.5 and dropping EventLoopFutures altogether in favour of async/await in the whole code base.

What do you think?

petershaw commented 1 year ago

Yap. Moving on to async/await is welcome. The limitations to >5.5 is not a problem i think. Not for users that are using it seriously in production. Legacy code can still import an older version. I hope that i can help working on this at the beginning of next year. Maybe we can meet and have a beer together. I'll pay. ;)

iabudiab commented 1 year ago

@petershaw Hey there, sorry for the late response and disappearing like that 🙃 (vacation, holiday season etc.)

I am currently working on async/await and it should be ready soon. The change also includes an update for all the dependencies, including YAMS. I'll try to finish this this week.

petershaw commented 1 year ago

@iabudiab Excellent news!Thank you very much.

iabudiab commented 1 year ago

@petershaw Async/Await (incl. dependency updates) landed in https://github.com/swiftkube/client/releases/tag/0.12.0 😉