Commit Graph

395 Commits

Author SHA1 Message Date
Sebastian Thiel
d2c12c2964 chore(oauth): use compatible yup-oauth
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.
2016-04-10 13:41:44 +02:00
Sebastian Thiel
065cfdd22f fix(lib): use hyper Bearer header style
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.
2016-04-10 13:01:18 +02:00
Sebastian Thiel
9e8a047ebf fix(cli): compatibility with serde 0.6
0.7 has a weird assertion error that might have happened
if files get too large.
2016-04-10 12:59:59 +02:00
Sebastian Thiel
33f281360a fix(cargo): choose serde-version which works
Everything newer than the ones we see here will cause
the error described in #148.
2016-04-10 12:12:00 +02:00
Sebastian Thiel
4bb7a33e93 fix(make): use venv-python to run any utility
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.
2016-02-28 08:08:35 +01:00
Sebastian Thiel
be0faf0e1d chore(serde): upgrade to 0.7
Desired feature: ignore unknown fields, which is now on by default.
2016-02-27 12:30:09 +01:00
Curtis McEnroe
3e1c4428ef Send repeated properties as repeated query parameters 2016-02-07 14:30:29 -05:00
Sebastian Thiel
a2c6b58d5b fix(versionup): use latest oauth2 lib
It enables using std::time::Duration natively
2016-01-30 14:03:15 +01:00
Sebastian Thiel
ef9e7f1bae fix(mako): use new discoveryRestUrl field for json download 2016-01-30 13:01:37 +01:00
Sebastian Thiel
ab1aa55d39 feat(version-up): clap-rs v1.5 -> 2.0 2016-01-30 12:53:02 +01:00
Sebastian Thiel
b54acb7c96 fix(rustup): use std::Thread::sleep
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)
2016-01-29 18:56:58 +01:00
Sebastian Thiel
8295bf3c2d chore(rustup): no wildcards in dependencies
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
2015-12-24 15:43:39 +01:00
Curtis McEnroe
61e74d99a2 Fix impl of hyper::net::NetworkStream 2015-11-29 17:55:35 -05:00
Curtis McEnroe
dbc6402f48 Depend on hyper 0.7.0 2015-11-29 17:30:40 -05:00
Erick Tryzelaar
8179f3bf89 fix(cmn): get cmn compiling on nightly rust
Closes #131
2015-10-18 11:29:34 -07:00
Sebastian Thiel
9a2d2b576c fix(deps): assure license can be generated 2015-10-18 19:29:52 +02:00
Sebastian Thiel
53c27da2e7 fix(util.py): improve version and library name handling
We can now deal with versions having the 'alpha' or 'beta' suffix.
It's rather hard-coded, but solves the problem for now.

Related to #126
2015-10-16 15:45:12 +02:00
Sebastian Thiel
e4f89ce0c6 doc(presentation) using reveal.js 2015-10-05 17:46:46 +02:00
Sebastian Thiel
8dab8c0124 fix(serde): update to latest serde/rust 2015-09-29 11:28:34 +02:00
Sebastian Thiel
8ab4fd0bd4 fix(serde-up): update to serde 0.5.0
Serde move all json code into a separate crate that we are now using
as well.
2015-08-08 10:55:21 +02:00
Sebastian Thiel
152cdd848a imp(cli): pretty-print errors in debug mode 2015-07-21 18:21:52 +02:00
Sebastian Thiel
be894becc3 fix(clap-up): use clap 1.0.3
* `SubCommand::new(...)` was renamed to `SubCommand::with_name(...)`
  which actually is now consistent with everything else
  (e.g. `Arg::with_name(...)`)
2015-07-15 09:51:01 +02:00
Sebastian Thiel
e129a7d3ae fix(hyper-up): compatibility with hyper 0.6.4
* Signature of `client::Response` changed and now requires a
  `hyper::Url` as well.

 Closes #123
2015-07-15 09:50:00 +02:00
Sebastian Thiel
0f61fa4c95 fix(deploy): adjust linux script to target dir
Previously it attempted to find build-artifacts in
the 'gen' directory, now these are all found in
'target', provided cargo 0.3.0 is used.

[skip ci]
2015-06-27 08:56:04 +02:00
Sebastian Thiel
6393bbf7f6 chore(code-update): latest version of v0.3.1 code
* also fixed OSX deployment utility to deal with target folder
  as primary location for build-artifacts

[skip ci]
2015-06-27 08:51:09 +02:00
Sebastian Thiel
615ac64ec1 fix(cli): flush output stream on CLI output
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.
2015-06-26 16:00:12 +02:00
Sebastian Thiel
d0491a4950 fix(hyper-up): work with hyper v0.6.0
Currently the latter actually fails to link on OSX, and requires a local
override with [this fix](https://goo.gl/OTExmN).
2015-06-26 15:49:30 +02:00
Sebastian Thiel
27fdd8ee0c fix(rustup): type-inference fails on empty vec
Previously this wasn't the case, as the type could be inferred by the
type of the parent-vector to extend.

Apparently this feature was removed, probably for good reason.
2015-06-21 17:55:46 +02:00
Sebastian Thiel
a566b70273 fix(deps): make statement shell compatible
The previous one actually required bash, instead of sh
2015-06-21 15:21:10 +02:00
Sebastian Thiel
1180314275 chore(make-docs): adjust to build.target-dir
Thanks to the latest cargo 0.3.0, it's possible to keep everything
in the stanard doc output directory, which essentially collects
everything for us.

This creatly reduces the space required to hold all documentation, and
is in fact quite beatiful.
2015-06-21 14:52:34 +02:00
Sebastian Thiel
62db3ae87c fix(cli): add type annotation
It seems to be required when building with an older rustc version.
This did work in nightly, and just seems to be some sort of limiation
in stable.
2015-06-19 18:03:55 +02:00
Sebastian Thiel
a9e0be6583 fix(cli): work on stable
CLI was slightly adjusted to not use unstable features.
Fortunately, there is no serde magic happening, which allows
us to keep it simple without using a build script.
2015-06-19 12:55:00 +02:00
Sebastian Thiel
2ad8d887cd fix(api): minor fixes
* Mime crate must be used in the same version hyper uses
* made attempted move a borrow
2015-06-19 11:41:29 +02:00
Sebastian Thiel
5483e32832 fix(api): expanded header implementation
Now it compiles to the point where `Mime` appears as duplicate type,
for some reason.
2015-06-19 11:34:57 +02:00
Sebastian Thiel
b0a41c4e78 fix(api): first big step towards syntex
Even though there is a bug that caues {} to be used in stead of
(),
when exanding macros, which causes syntax errors that we have to
workaround, it's not a real issue.

What's happening additionally is missing hyper macros, which
now have to be expanded manually. Shouldn't be a problem,
pretty-printing when compiling is made for just that ;).

No, it's sad that `include!()` works so badly, it makes
using serde so difficult ... it's no fun i must say.

Just for stable ... I am not sure if it is worth it."
2015-06-18 22:51:17 +02:00
Sebastian Thiel
267868cea3 Merge branch 'master' into next 2015-05-18 10:49:24 +02:00
William Orr
ed0debe999 chore(dependencies): bump hyper dep to 0.5.0
google-apis-rs no longer builds with hyper 0.4.0, due to the use of a
now-undefined macro
2015-05-18 10:31:17 +02:00
Sebastian Thiel
129fd38e00 imp(CLI): disallow empty values explicitly
[skip ci]
2015-05-18 10:19:38 +02:00
Sebastian Thiel
d9ed001b46 fix(make): clean was depending on unknown targets
There are no per-program-type docs clean, just made it depend on
docs-all-clean.

Also added the `docs-api|cli` target to the generated per-program-type
make help. It was just missing, even though it existed.
2015-05-18 10:11:02 +02:00
William Orr
bcf90cbcc8 fix(make): fix clean target for docs/cli
clean-all-docs and clean-all-cli aren't valid targets. The current mako
template causes `make clean` to abend reporting that it can't make these
targets.
2015-05-17 14:18:51 -07:00
Sebastian Thiel
2cc4807234 fix(API): URL substitution handling
Previously we would remove the wrong parameters when attempting to
remove only those parameters that have been used in the URL
substitution.

The code we have now is more idiomatic and appears to be removing the
correct parameters.

Closes #114
[skip ci]
2015-05-13 10:11:20 +02:00
Sebastian Thiel
ca36dbc505 feat(config): improved structure setter code
We save about 30% of CLI code just because we offload the work of
settings structures into serde, building a generic `json::Value` to
contain all the data, and then let serde do the deserialization for us.

All we need for that is some information we let the generator provide
and translate it into the runtime.

Closes #111
2015-05-13 08:45:57 +02:00
Sebastian Thiel
d0b69af413 refactor(config):OK version of json value setter
However, we don't set the correct field names yet, and are lacking
a remapping of CLI field names to struct field names before any
testing makes sense.
2015-05-13 07:51:08 +02:00
Sebastian Thiel
464394af22 refactor(config): handle recursive mut json values
* recurively drill down a mutable, recursive enumeration, without borrow
  checker issues. The obvious solution doesn't work, but should.
  Stackoverflow ?
* infrastructure to set actual value, with support for ararys, pods and
  hashmaps
2015-05-12 19:48:37 +02:00
Sebastian Thiel
e434563215 chore(cargo): compilation without local overrides
Also checked in code for groupsmigration to allow others to test it
simply by checking out the right commit.
2015-05-12 17:21:57 +02:00
Sebastian Thiel
f83dff672b refactor(config): bring in all required field data
Previously we only knew the type as string, now we have enums and
additional type information, like whether or not it's a POD.

However, borrow-checker doesn't like the current code, will need more
work.
2015-05-12 12:17:36 +02:00
Sebastian Thiel
a2dd71451d feat(config): basis for simplified value setting
Previously we would set static structures manully, using complex cases
and utility functions. Now we setup the foundation to allow setting
a generic `json::value::Value` instead, which can later be deserialized
into the target structure.

Related to #111
2015-05-12 11:17:42 +02:00
Sebastian Thiel
2ca0529297 fix(rustup): dc630d01e 2015-05-09
* Vec::add was removed ... which forces me to write 4 lines instead of
  one very readable one :(.
  Not everything is to the better here, even though I can imagine they
  did it to prevent people from thinking this is a cheap operation.

[skip ci]
2015-05-11 10:58:00 +02:00
Sebastian Thiel
ee84fefb4a fix(rustup): deal with rustc lifetime issue
Related to #109
2015-05-11 10:56:36 +02:00
Sebastian Thiel
5e5f0dcc66 chore(osx-deployment): fix tar-handling
Previously it would fail as '*' was in fact not substituted by the
subshell. Now I just take the brutal route, using find.

[skip ci]
2015-05-11 06:32:30 +02:00