Commit Graph

285 Commits

Author SHA1 Message Date
Sebastian Thiel
6d3bbcea57 docs(CLI): upload and output flag
We are already there, except for documenting the request value type,
which definitely deserves a separate issue.

Fixes #45
2015-04-12 20:24:12 +02:00
Sebastian Thiel
24e053718a docs(CLI): optional paramters
Added documentation for flags setting all kinds of optional parameters.
2015-04-12 19:33:11 +02:00
Sebastian Thiel
c004840d5b docs(CLI): inforamtion about setting structs
For now we just have a 'dum' example, but once we are there, we shall
make the example and documentation based on the actual request value.

This requires some additional work, which fortunately has to be done
in python only.
2015-04-12 18:46:04 +02:00
Sebastian Thiel
c65a8a6bdf docs(CLI): add required scalar arguments 2015-04-12 18:16:53 +02:00
Sebastian Thiel
334061a5e2 docs(mbuild): name default scope in API docs 2015-04-12 17:28:20 +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
310c81f19c feat(cli): generate complete docopts grammar
Grammar is laid out per method, providing general purpose arguments
only as needed/supported.

All details will be contained in the markdown documentation.

Related to #45
2015-04-12 12:23:00 +02:00
Sebastian Thiel
51ddcf74a6 fix(cli): add commands.yml.mako
It was previously hidden thanks to .gitignore.

Good I made a fresh clone to see if make really really works.
2015-04-12 10:03:54 +02:00
Sebastian Thiel
acd42dfccc fix(make): dependencies are now per-program-type
Previously we put cli.py into the common lib folder, which caused the
API to be regenerated and rebuilt whenever we changed code that will
only affect the CLI, causing terrible turnaround times.

Now the dependency is fixed.
2015-04-12 09:55:17 +02:00
Sebastian Thiel
3e0a24db0d fix(api-update): 'bytes ...' -> 'bytes=...'
* update all APIs to contain said change. It's not worth a republish
  though.
2015-04-12 08:56:48 +02:00
Sebastian Thiel
75e73d56d9 fix(README+deps): better subtext + rename target
* catchier title for dev diary episode 1
* fixed target name for clean, which was 'clean-api', but should have
  been 'clean-all-api'
2015-04-12 08:55:00 +02:00
Sebastian Thiel
6d3dc77635 fix(docs): one folder per API docs
Otherwise, it would overwrite its search index, effectively breaking
the search field.

We might run into space issues on github, as the generated docs are
duplicating each other and use a lot of disk-space.

Fixes #48
2015-04-11 18:24:32 +02:00
Sebastian Thiel
b9a469c0a4 fix(cmn): use bytes=... when sending as well
Previously, `bytes=` was just parsed, but not sent to the server.
This change is motivated by a similar change in this commit:
http://goo.gl/AvyvLb
2015-04-11 09:31:23 +02:00
Sebastian Thiel
3cef120c58 feat(mkdocs): per-method-markdown-files
That way, all information can be placed within a single markdown file
per method call. This will keep loading times low while maximizing
usability.

That way, it's comparable to the API documentation, which is most
detailed on a per-method basis as well.
2015-04-10 16:52:42 +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
2e74d91413 fix(make-deps): fix dependencies
That way, we don't build documentation unless this is truly necessary
2015-04-10 11:22:49 +02:00
Sebastian Thiel
39253d988a feat(cli): docopt subcommands
Setup command/subcommand pattern.
Next will be the infrastucture for documenting these, using mkdocs
and markdown.
2015-04-09 18:01:58 +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
34d0a7aad3 fix(README): corrected absolute links
This only affected links in readme files, not the relative ones
in the actual documentation
2015-04-08 17:19:04 +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
191e822c5a fix(hyper-client): adjust to hyper client
* deal with hyper client not using a type-parameter anymore
* fix incorrect documentation link (use '_' instead of '-')

Fixes #47
2015-04-08 16:51:46 +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
9dbdcc465f fix(travis): adjust invalid make target
* `docs` is `docs-all` now. On travis, this should only build one API
2015-04-07 16:01:30 +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.
api-v0.1.4
2015-04-07 15:53:30 +02:00
Sebastian Thiel
3403bd1c5c fix(publish): v0.1.3
* keywords are no longer than 20 characters, which is a restriction
  cargo imposes
* don't use 'homepage' link in cargo.toml unless the homepage is
  non-empty
* Added all publish-results to mark the respective crate version

Related to #46
2015-04-07 15:19:23 +02:00
Sebastian Thiel
99f8b65f75 fix(api-version-up): version 0.1.3
* builds with latest beta/nightly

Fixes #46
api-v0.1.3
2015-04-07 12:05:48 +02:00
Sebastian Thiel
91861dcb71 fix(rustup): rustc (be9bd7c93 2015-04-05)
* using std::convert
* update to latest hyper (and other dependencies)

Related to #46
2015-04-07 11:59:10 +02:00
Sebastian Thiel
919ae4d8ae fix(deps): github-pages index generation
Previously, we forgot to pull in the new type-specific dataset, which
caused the index.html.mako file to fail.
2015-03-25 14:28:59 +01:00
Sebastian Thiel
74bb79d6b4 docs(README): update to include CLI targets 2015-03-25 14:28:58 +01:00
Sebastian Thiel
a2ca1cb28e fix(version-up): check-in of latest sources
This also includes crate files to remember which
crates we have published already.

Related to #44
2015-03-25 14:26:30 +01:00
Sebastian Thiel
c7fb7c4093 fix(versionup): set the API version to 0.1.2 api-v0.1.2 2015-03-25 10:45:06 +01:00
Sebastian Thiel
e953535473 fix(versionup):incl. Result conform to standards
Related to #44
2015-03-25 10:32:34 +01:00
Sebastian Thiel
d1c97912cb feat(mkdocs): mkdocs generator works now
It can be selected for each type of program we want to build, and makes
sense for everything that is not a library.

We also tried to unify names and folders a bit more, even though there
certainly is more work to be done to be fully non-redundant.

Fixes #43
2015-03-24 18:11:12 +01:00
Sebastian Thiel
aa842bcc39 Merge branch 'refactor' 2015-03-24 12:59:29 +01:00
Sebastian Thiel
cefd606b53 feat(make): cli depends on API, generically
This allows us to build efficiently. CLI programs can now have their
own cmn.rs implementation, which we can test standalone with
`cargo test`.

The primary makefile currently just explicitly pulls in the type-*.yaml,
one day we could possibly put it into a loop.

Fixes #11
2015-03-24 12:56:24 +01:00
Sebastian Thiel
caaf62e51d chore(suffix):prepare dep generation to use suffix
That way, we can have multiple deps files, one per program 'type'
2015-03-24 11:57:12 +01:00
Sebastian Thiel
be7d8214c1 feat(api): api generation works once again
With the new structure, it should be easy to add CLI programs with
proper dependencies accordingly.
2015-03-24 09:38:14 +01:00
Sebastian Thiel
137ba8caf3 refactor(mako): put API relevant stuff into subdir
This is the first of many changes to come.
We try to leverage our ability to merge multiple data source into one
to abstract away what we are actually doing, and of course, to allow
sharing the majority of the code, were applicable.
2015-03-23 16:13:02 +01:00
Sebastian Thiel
d1c5bf1e4a fix(docs): remove newlines interpreted as test
When documenting mandatory arguments of a methods builder, it was
possible to document 'parts', which have a long multi-line description
with empty lines inbetween. This caused the indentation to be funny
and tricked rustdoc into thinking these are indented doc-tests.

Now we remove these empty lines, also hoping we dont encounter lines
with just whitespace in them. The latter would require a tiny update
of our regex.
2015-03-23 15:14:07 +01:00
Sebastian Thiel
e5b013e97c fix(result): remove custom Result Enum
Instead, we just use a customized `Result` tyoe and thus stick to
common Rust conventions.

Fixes #39
2015-03-23 14:57:31 +01:00
Sebastian Thiel
fca1b24cd1 fix(json-up): update json files from discovery API 2015-03-23 12:11:55 +01:00
Sebastian Thiel
4bfdc9fd01 chore(publish): make publish
We will now keep marker files to remember which crates we have published
successfully. These files are checked in to make this information
persist.

NOTE: We still don't explicitly exclude pseudo-changes in json files,
which are no real change except for a changed revision number.

Fixes #41
2015-03-23 12:11:18 +01:00
Sebastian Thiel
ea161897f5 fix(docs): typo fixes and misc. improvements
Fixes #42
2015-03-23 11:19:57 +01:00
Sebastian Thiel
6ad0c2ef79 fix(misc): whitespace and trait rename
* `ResourceMethodsBuilder` -> `MethodsBuilder`. This is now precise
   enough. Previously it was just to similar to what's now a
   `CallBuilder`
* Fixed whitespace issue in `doit()`
2015-03-23 08:49:27 +01:00
Sebastian Thiel
04f4c95688 fix(mbuild): upload size now taken properly
Previously, it would query the size from the wrong dict and obtain
the value 0 all the time. This would have made every upload fail with
`UploadSizeLimitExeeded`.
Now we obtain the actual size limit, and will ignore it if unset/0
for some reason.

Patch += 1
api-v0.1.1
2015-03-22 22:39:36 +01:00
Sebastian Thiel
3bc930ae47 fix(version-up): 0.1.0 release
* Added all APIs to source control
* upped crate version
api-v0.1.0
2015-03-22 20:30:01 +01:00
Sebastian Thiel
cd1ff18ba9 fix(cmn): upload() return value handling
Now deals with Cancellation and non-OK status codes correctly.

Fixes #18
2015-03-22 20:21:21 +01:00
Sebastian Thiel
29ee94b4c0 feat(cmn): Resumable upload implemented
With all bells and whisles. For now, we don't have a good return value
to indicate that the operation was cancelled, which needs fixing.
2015-03-22 19:56:35 +01:00