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

Update dependencies #62

Merged
merged 26 commits into from
Jan 23, 2024
Merged

Conversation

zcarlson-signifai
Copy link
Collaborator

@zcarlson-signifai zcarlson-signifai commented Dec 17, 2023

Update dependencies used by rusty-hog apps

The biggest update is probably clap: I had to move away from the macros and directly use their Command::new and Arg*::* interfaces.

Base64 completely updated their interfaces to use something more engine-based.

Hyper completely re-did their interfaces for v1.0 and so I was unable to move to that, because google-drive3 depends on the interfaces to v0.14-ish. I believe they vendor it now so it may be possible to work with that down the line as well, however.

Some services the hogs use I don't have any access to, so I wasn't able to test them directly -- I'm kind of hoping the fact that they compile means they should work, unfortunately.

Also remove the #[macro_use] before clap
because we no longer use the clap_app! macro,
because it no longer exists. ¯\_(ツ)_/¯
ListBucketResult changed slightly
Unfortunately google-drive3 really requires
hyper <1.0 so we're stuck on 0.14.

Also I'm committing this here because I kind of
tied to a specific connector and I don't really
want to do that long-term, but I also don't want
to lose the functional state I have it in right
now :D
So this was unfortunate: at some point DriveHub
became a DriveHub<S>. Fine, carry the S through, right?
Unfortunately some of the downstream calls (specifically
anything after the "activity" e.g. files()) require specific
trait bounds -- which means everything you pass the DriveHub<S>
to has to enforce those trait bounds. This *would* be fine if
the DriveHub<S> were just a *member* of the struct: we could
specify S and its bounds once and not have to worry about it,
but that would require a more thorough rewrite, which I can't
fully test without access to certain things. So I settled for
using the trait bounds required downstream as well everywhere,
which adds about five lines everywhere, but at least required
very little further modification to get the same functionality.
@CLAassistant
Copy link

CLAassistant commented Dec 17, 2023

CLA assistant check
All committers have signed the CLA.

@zcarlson-signifai zcarlson-signifai changed the title Update deps Update dependencies Dec 17, 2023
@noahmmcgivern noahmmcgivern merged commit f679ee5 into newrelic:master Jan 23, 2024
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants