Commit Graph

100 Commits

Author SHA1 Message Date
Sebastian Thiel
aecda18821 chore(publish): re-publish lib crates at latest version
Closes #124
2015-08-08 12:39:31 +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
62b63b251a chore(json-update): latest json files
This also adds a usable version of the genomics API, which was empty
previously (and if I recall correctly).
2015-07-21 18:36:44 +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
337f167e6c chore(versionup): CLI v0.3.1 2015-06-26 16:11:42 +02:00
Sebastian Thiel
7d58d66025 chore(json-update): update json and regen all code 2015-06-26 16:08:25 +02:00
Sebastian Thiel
d1cf8360f9 chore(cargo): published latest versions 2015-06-19 16:37:33 +02:00
Sebastian Thiel
d6ddff240d chore(version): api+cli increment
CLI was incremented to 0.3.0, just to signal usage of the latest clap-rs
as well as the update of the used API implememtation.

In that moment we also got rid of the json-tools dependency - it
required unstable features, and I was not willing to enforce making
it stable just yet.
2015-06-19 13:25:08 +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
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
Sebastian Thiel
129fd38e00 imp(CLI): disallow empty values explicitly
[skip ci]
2015-05-18 10:19:38 +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
383595c44e docs(CLI): added Download information
That way, it's easy to obtain the respective precompiled binary, as
well as seeing the source-code.

Overall, it makes promoting the tools easier as the CLI docs can be
linked directly.

Closes #108
[skip ci]
2015-05-10 19:40:25 +02:00
Sebastian Thiel
3e70a89674 chore(versionup): publish APIs @v0.1.7
* keep track of publish through version files
* updated clog configuration and changelog (automatic)

[skip ci]
2015-05-10 13:51:24 +02:00
Sebastian Thiel
52027c6db5 feat(index.html):added download links (osx,ubuntu)
All assets are configured via shared.yaml and are located elsewhere in
the web. This could lead to broken assets at some point, but I am just
risking it for know, knowing that it's easily done to have local
resources.

Closes #106
[skip ci]
2015-05-10 11:03:36 +02:00
Sebastian Thiel
0e6605d7a4 feat(index.html): added back-link to crates.io
* url is created per-API and features a nice crates image coming
  from githubusercontent.

Closes #105
[skip ci]
2015-05-10 09:10:25 +02:00
Sebastian Thiel
5c284e1c41 refactor(index.html): non-redundant data access
Previously we would define information about the program types
in two places, once for the index, and once per program type.
Now within the index.html, we just load the respective program type
information to have access to the latest at all times.

Closes #104
[skip ci]
2015-05-10 08:37:05 +02:00
Sebastian Thiel
15daf311ea refactor(API): use json_tools::IteratorExt
That way, we can invert the flow and produce more idiomatic code.
[skip ci]
2015-05-09 09:57:26 +02:00
Sebastian Thiel
3efa4f2b12 fix(API): filter null values of requrest structs
Some servers, like youtube, reject null values possibly thanks to
the reliance on parts. Now we are filtering them (in a very inefficient,
but working way), which seems to be fine with the servers.

Effectively, we seem to be able now to upload videos ... .

More testing required !
2015-05-08 12:38:59 +02:00
Sebastian Thiel
3fe2732a01 fix(compat): upgrade to hyper v0.4.0
It was basically just a find-and-replace to adapt to the changed names
of Error and Result types.
2015-05-08 11:52:28 +02:00
Sebastian Thiel
8375dd0508 chore(CLI): remove special clap configuration
In latest clap, it's all fixed
2015-05-06 21:49:42 +02:00
Sebastian Thiel
294da41a30 chore(CLI): special clap configuration
Turn off default features to disable overly red first version
of otherwise very promising ascii-coloring support.

It's good to see that thanks to yaml, that flexibility is easily
achieved without altering any generator code.
2015-05-06 11:38:40 +02:00
Sebastian Thiel
96415d17ca feat(CLI): did you mean for struct values
* functionality is cursor-aware, and fixes the actual string the user
  passed in. That way, it is made very clear how the suggested value
  is to be used.
* it's a known weakness of the implementation that it operates on a
  flattened list of field names, and thus may make nonsensical
  suggestions.
* added punctuation to all errors

Fixes #67
[skip ci]
2015-05-02 14:07:28 +02:00
Sebastian Thiel
894b5b5ec7 feat(CLI): adjust to serde usage in yup-oauth
* More detailed error type for JsonTokenStorage
* removed all traces of rustc_serialize
* use pretty-printers everywhere to allow writing human-readable json
  files for secretes and for tokens

Fixes #93
2015-04-30 15:20:56 +02:00
Sebastian Thiel
cc1bfd19c8 chore(api-versionup): to reflect recent changes
And to be sure we don't forget to publish new crates when the new CLI
hits the road.
2015-04-30 11:41:53 +02:00
Sebastian Thiel
b39bc3a9cd feat(clap): initial version of command generation
It compiles and works, even though there are many things we want to
improve.

One big question is how to define multi-arguments, like -u foo bar baz.
2015-04-28 19:34:24 +02:00
Sebastian Thiel
988d37f0df feat(clap): setup infrastructure
This allows us to setup clap and see if it compiles, which is the prime
goal of the current workflow step.

Related to #81
2015-04-28 16:33:16 +02:00
Sebastian Thiel
de85fb43e5 fix(API): exclude cloudsearch from build
It doesn't have a single method, and thus is useless
2015-04-26 16:06:28 +02:00
Sebastian Thiel
c2dd9c7a02 fix(version-up): code updated to v0.1.6, latest CLI
* also includes publishing tag files
2015-04-26 13:42:31 +02:00
Sebastian Thiel
4e275eaadd fix(version-up): CLI + API release preps 2015-04-26 11:22:56 +02:00
Sebastian Thiel
fbec9bdbba docs(index): integrate different program types
* put program type inforamtion into shared.yaml to allow accessing it
  from the index.html.mako template.

Fixes #51
2015-04-26 09:42:01 +02:00
Sebastian Thiel
6befdbc6fa fix(CLI): verified download works
* implement custom scopes - previously they could be set, but were
  ignored during the API call
* api-overrides are not yaml files for convenience. Existing ones were
  updated as needed.

Fixes #75
2015-04-25 11:35:39 +02:00
Sebastian Thiel
f8689be451 fix(all): update all code to latest version
* add new APIs
* remove old ones
* add latest json files
2015-04-24 20:07:12 +02:00
Sebastian Thiel
845a568b25 fix(CLI): response value json decoding
* updated all json API descriptions
* enabled 'pretty' printing of response structures. However, currently
  there is no way to get rid of all the NULL fields without external
  filtering
* all structure fields are now optional - there seems to be no way
  around it.

Fixes #73
2015-04-24 16:00:27 +02:00
Sebastian Thiel
e42f6fbedb feat(CLI): per-API-credentials with default
That way, we can provide better service, as CLIs that consume a lot of
quota can easily have their own app credentials, and with it, their
own quota.

The fallback will be a project that allows to use all possible
google APIs.

The user can always put in his own application secret to use his own
quota or even paid services.

Fixes #80
2015-04-24 10:52:43 +02:00
Sebastian Thiel
797f289886 fix(CLI): resolve generator issues
* exclude dataflow API - it doesn't have a single method as long as
  it's in B4. See https://github.com/Byron/google-apis-rs/issues/78
* assure ARRAY branch can be hit

Fixes #77
2015-04-22 11:41:50 +02:00
Sebastian Thiel
159c65916f feat(CLI): --debug flag to output traffix
* If `--debug` is set, we will output all server communication to
  stderr. That way, we can compare our requests to what is expected by
  ush based on official docs.
* `discovery` now doesn't use the API key anymore - this is specified
   using a custom override.

Nice, we are totally ready to test and fix all API features.

Related to #70
2015-04-21 12:03:58 +02:00
Sebastian Thiel
e730281003 fix(docker): README info + fix author email
Please note that docker build script is still in debug mode, this
issue will remind me about it: #72

Fixes #71
2015-04-20 17:05:33 +02:00
Sebastian Thiel
9ea3fea775 fix(rustup): (abf0548b5 2015-04-15) (built 2015-04-15) 2015-04-17 06:46:43 +02:00
Sebastian Thiel
3f49f50ac2 feat(CLI):handle output json encoding and ostreams
* support for encoding response schemas to json
* support for simple downloads (without alt=media)

Fixes #63
2015-04-14 21:57:58 +02:00
Sebastian Thiel
e34e24e049 feat(CLI):required arg parsing + first doit() call
We are parsing required scalar values and handle parse-errors correctly,
to the point were we make a simple, non-upload doit() call.

It shows that we seem to build invalid calls, for now,but that's nothing
we can't fix once the time is ripe.

Next goals will be related to finalizing the argument parsing code.

Fixes #60
2015-04-14 17:17:21 +02:00
Sebastian Thiel
49c4a4101e docs(scopes): added CLI scope documentation
In addition to that, they can now be set as well.
Unified generation of the 'default' scope.
2015-04-12 17:15:55 +02:00
Sebastian Thiel
c78ea5381a feat(mkdocs): cli postprocessing support
That way, a single huge markdown file containing documentation for
commands and methods can be split up into multiple files for
individual inclusion in mkdocs.

It's done by a post-processor which is loaded by mako-render, providing
access to the entire context. Said processor may also drop results
altogether and thus prevent files to be written that have been split up
by it.
2015-04-10 13:02:36 +02:00
Sebastian Thiel
f527c8202b feat(cli): bin renaming + docopt infrastructure
* allow to rename executables, for now just brute-force using a boolean
  flag. If we have more binaries at some point, we might want to be more
  elaborate.
* everything related to docopts functionality is now in the docopts
  module.

  Related to #45
2015-04-09 17:05:55 +02:00
Sebastian Thiel
390354bd08 feat(cli): basic usage of docopts
For now we just show it works within our generator.
Next step is to actually generate docopts grammar.
2015-04-09 16:28:08 +02:00
Sebastian Thiel
6db733274d fix(version-up): add publish state v0.1.5 2015-04-09 13:00:31 +02:00
Sebastian Thiel
a399488c27 fix(version-up): v0.1.5
* fix documentation link in Cargo.toml
* adjust to latest hyper. It's not even out yet, but people
  can't build the APIs anyway.
2015-04-08 16:54:50 +02:00
Sebastian Thiel
6f2149b7d4 fix(api-version-up): v0.1.4
* added crate publish tag files
2015-04-07 21:39:59 +02:00
Sebastian Thiel
dd1d191966 fix(publish): v0.1.4
* macro 'alias' was renamed to 'rename'
* fixed `cargo test` on main project

The latter pointed me to the serde issue, which would have made
everything fail when actually used to communicate with google servers.
2015-04-07 15:53:30 +02:00