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
* `SubCommand::new(...)` was renamed to `SubCommand::with_name(...)`
which actually is now consistent with everything else
(e.g. `Arg::with_name(...)`)
For some reason, this is now a requirement - previously this didn't
seem to be necessary.
Don't know what changed there ... and it's odd it doesn't flush
when the process is going down or the handle is destroyed.