* 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
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
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
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.
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.
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
* `ResourceMethodsBuilder` -> `MethodsBuilder`. This is now precise
enough. Previously it was just to similar to what's now a
`CallBuilder`
* Fixed whitespace issue in `doit()`
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
The delegate logic is implemented and seems sound.
It's somewhat funny that after all this back and forth, all we get
is a valid start position for the upload.
Make it cristal clear what the crate version means, and what version of
the documentation you are looking at. Also do this in the README file.
Assure that 'Google' is capitalized.
That way, crate names reveal exact inforamtion about the contained
API revision.
* crate version: code gen version
* +<revision> (build-metadata): exact version of API schema
Fixes#38
That way, 'cmn' becomes our private module. All URLs were updated
to reflect that.
This commit also contains an early implementation of the
'transfer_status' method, which will require plenty of work.
* renamed `*MethodsBuilder` type to `*Methods` type
* renamed `*CallBuilder` type to `*Call` type
* greatly simplified `doit()` signature if uploads are involved
* pass `auth` to upload helper
Layout the `ResumableUploadHelper` and implement the entire logic
with the mbuild renerator.
All that's left to be done is to implement the 'chunked upload' method.
The borrow checker helped me to prevent a bug as well.
* do not emit unused types. Sometimes though, rustc doesn't seem to
detect that attributses are actually used
* ToParts trait is used and implemented only when needed.
Linters are back to 'normal'.
Fixes#35
Must be `Option<Box<T>>` now, whereas a simple `Box<T>` worked
previously. Anyway, serde can't decode/encode Boxes yet, so
plus1 was removed from the list of APIs to build.
Related to #34
Documentation links, at one spot, have been updated as well.
The variant schema is represented natively as enum, it all looks
very good.
Json has been taken care of as well ... .