You guessed it, again related to the openssl upgrade in
dermesser/yup-oauth2#51. As long as the API crates depend on openssl 0.7
via hyper 0.9, any client using the APIs won't build :( For example,
examples/drive_example/ in dermesser/yup-oauth2.
Please regenerate and publish afterwards, if possible.
That way we get rid of the duplication at least.
Probably it would be enough to just refer to version 1 of the
library respectively, and let semver do the rest.
Instead we link to the absolute location.
tech debt: we now use http://byron.github.io/google-apis-rs
multiple times and thus duplicate that information.
We now consider the blacklist, which is probably what the previous
implementation achieved as it checked for existence of files on disk.
We do the same, but more directly.
A complete installation script is provided for those who don't yet
have rustup installed.
Some google discovery URLs contain `$discovery` or other variants,
causing the calls to wget to interpret `$d` as an environment variable
instead of a literal. An example is:
`https://logging.googleapis.com/$discovery/rest?version=v2`.
To fix this, the `$` has been escaped so that wget fetches the URL as
expected.
Null structs (struct Foo;) cause the following error when trying to
deserialize an empty JSON object `{}` into them:
`JsonDecodeError("{}\n", Syntax(InvalidType(Map), 1, 1))` (also known as
`invalid type: map at line 1 column 1: {}`). The optional struct member
prevents this error.
The interactive flow requires to paste a code back into the
command-line, which does only work when it's cat'ed, but not
if it is pasted.
This should let it handle everything internally, which is
way more user-friendly.
This update fixes the build on stable, and allows builds
on nightly as usual.
The trick is to use the latest version of serde-codegen,
which keeps the syntex version internal, preventing clashes
between libraries that might have different requirements.
Nightly is now supported, in theory, to allow not to use serde_codegen,
which currently has trouble to build thanks to an assertion error.
Nightly on the other hand suffers from being build with incorrect
feature-flags, which makes quasi_macros fail to build ... .
It seems all these serde versions interact with each other
in unforseen ways, so they will have to be in sync for it
to work. Its a shaky card-house I am building here,
and I don't like it at all.
Considering we kind-of hardcoded this authentication type anyway,
we now use the Auth-types provided by hyper 0.8.
The incentive here was the compiler telling us that there the
yup-oauth::Scheme type doesn't implement the hyper::authorization::Scheme
anymore, even though that clearly was the case. Also it couldn't be
reproduced in yup-oauth itself.
This will need some work to get correct again, so this is just a crude
patch to make it work again.
Previously the yaml version generation could fail if your system-python
didn't have yaml installed. Now the virtual env is used, which is
guaranteed to support yaml.
However, in sibling libraries, we still use time::Duration, which
now is a part of std::time::Duration.
These should be adjusted, to make the usage of
sleep(Duration::from_millis(d.num_milliseconds() as u64)) into sleep(d)
Also version specifications in dependencies were chosen to provide
maximum flexibility for users of the libraries.
CLIs on the other hand specify last known-to-work major and minor versions
to prevent breakage