From fc34337ee4ba708f63e3d2f164660edd5ffe5614 Mon Sep 17 00:00:00 2001 From: Sebastian Thiel Date: Sat, 24 Dec 2016 10:35:48 +0100 Subject: [PATCH] doc(lib): use docs.rs for library documentation We will still need to host the CLI docs though. --- etc/api/shared.yaml | 1 - etc/api/type-api.yaml | 1 + etc/api/type-cli.yaml | 1 + src/mako/Cargo.toml.mako | 2 +- src/mako/api/lib/lib.mako | 4 ++-- src/mako/cli/lib/argparse.mako | 6 +++--- src/mako/cli/mkdocs.yml.mako | 2 +- src/mako/lib/util.mako | 8 ++++++++ 8 files changed, 17 insertions(+), 8 deletions(-) diff --git a/etc/api/shared.yaml b/etc/api/shared.yaml index f8840ab0b4..23b38a240b 100644 --- a/etc/api/shared.yaml +++ b/etc/api/shared.yaml @@ -75,7 +75,6 @@ cargo: # anymore <<: *cargo_api repo_base_url: https://github.com/Byron/google-apis-rs - doc_base_url: http://byron.github.io/google-apis-rs authors: # don't forget to possibly add them to copyright authors - Sebastian Thiel diff --git a/etc/api/type-api.yaml b/etc/api/type-api.yaml index dcfafe9b8e..80f7aa89dc 100644 --- a/etc/api/type-api.yaml +++ b/etc/api/type-api.yaml @@ -27,5 +27,6 @@ make: cargo: build_script: src/build.rs keywords: [protocol, web, api] + doc_base_url: https://docs.rs dependencies: - url = "= 0.5" diff --git a/etc/api/type-cli.yaml b/etc/api/type-cli.yaml index 0fe499475b..9332951699 100644 --- a/etc/api/type-cli.yaml +++ b/etc/api/type-cli.yaml @@ -26,6 +26,7 @@ cargo: build_version: "1.0.0" keywords: [cli] is_executable: YES + doc_base_url: http://byron.github.io/google-apis-rs dependencies: - strsim = "^0.5" - yup-hyper-mock = "^1.0" diff --git a/src/mako/Cargo.toml.mako b/src/mako/Cargo.toml.mako index fc59856d4e..1271980e84 100644 --- a/src/mako/Cargo.toml.mako +++ b/src/mako/Cargo.toml.mako @@ -13,7 +13,7 @@ repository = "${util.github_source_root_url()}" % if documentationLink is not UNDEFINED and documentationLink: homepage = "${documentationLink}" % endif -documentation = "${cargo.doc_base_url}/${to_extern_crate_name(util.crate_name())}" +documentation = "${util.doc_base_url()}" license = "${copyright.license_abbrev}" keywords = ["${name[:20]}", ${", ".join(estr(cargo.keywords))}] % if cargo.get('build_script'): diff --git a/src/mako/api/lib/lib.mako b/src/mako/api/lib/lib.mako index 46f0639fa4..b4cd4564c0 100644 --- a/src/mako/api/lib/lib.mako +++ b/src/mako/api/lib/lib.mako @@ -6,7 +6,7 @@ find_fattest_resource, build_all_params, pass_through, parts_from_params, REQUEST_MARKER_TRAIT, RESPONSE_MARKER_TRAIT, supports_scopes, to_api_version, to_fqan, METHODS_RESOURCE, ADD_PARAM_MEDIA_EXAMPLE, PROTOCOL_TYPE_INFO, enclose_in, - upload_action_fn, unique_type_name, schema_doc_format, METHODS_BUILDER_MARKER_TRAIT, + upload_action_fn, unique_type_name, schema_doc_format, METHODS_BUILDER_MARKER_TRAIT, to_extern_crate_name) def pretty_name(name): @@ -30,7 +30,7 @@ response_trait_url = 'trait.' + RESPONSE_MARKER_TRAIT + '.html' part_trait_url = 'trait.' + PART_MARKER_TRAIT + '.html' - doc_base_url = cargo.doc_base_url + '/' + to_extern_crate_name(util.crate_name()) + '/' + doc_base_url = util.doc_base_url() + '/' + to_extern_crate_name(util.crate_name()) + '/' def link(name, url): lf = '[%s](%s)' diff --git a/src/mako/cli/lib/argparse.mako b/src/mako/cli/lib/argparse.mako index 914af44b67..46656d4d27 100644 --- a/src/mako/cli/lib/argparse.mako +++ b/src/mako/cli/lib/argparse.mako @@ -83,9 +83,9 @@ Configuration: <%def name="new(c)" buffered="True">\ <% - doc_url_base = cargo.doc_base_url + '/' + os.path.dirname(api_index(cargo.doc_base_url, name, + doc_base_url = cargo.doc_base_url + '/' + os.path.dirname(api_index(cargo.doc_base_url, name, version, make, check_exists=False)) - url_info = "All documentation details can be found at " + doc_url_base + url_info = "All documentation details can be found at " + doc_base_url # list of tuples # (0) = long name @@ -215,7 +215,7 @@ let arg_data = [ %>\ ("${mangle_subcommand(method)}", ${rust_optional(mc.m.get('description'))}, - "Details at ${doc_url_base}/${os.path.splitext(subcommand_md_filename(resource, method))[0]}", + "Details at ${doc_base_url}/${os.path.splitext(subcommand_md_filename(resource, method))[0]}", vec![ % for flag, desc, arg_name, required, multi in args: (${rust_optional(arg_name)}, diff --git a/src/mako/cli/mkdocs.yml.mako b/src/mako/cli/mkdocs.yml.mako index b67c278b7f..4c59257db6 100644 --- a/src/mako/cli/mkdocs.yml.mako +++ b/src/mako/cli/mkdocs.yml.mako @@ -7,7 +7,7 @@ <%namespace name="util" file="../lib/util.mako"/>\ site_name: ${util.canonical_name()} v${util.crate_version()} site_url: ${cargo.doc_base_url}/${util.crate_name()} -site_description: Write integrating applications with bcore +site_description: A complete library to interact with ${util.canonical_name()} (protocol ${version}) repo_url: ${util.github_source_root_url()} diff --git a/src/mako/lib/util.mako b/src/mako/lib/util.mako index 609e1257cf..e277b9724d 100644 --- a/src/mako/lib/util.mako +++ b/src/mako/lib/util.mako @@ -27,6 +27,14 @@ ${util.library_name(name, version)}\ ${util.library_to_crate_name(util.library_name(name, version), make.target_suffix)}\ +<%def name="doc_base_url()" buffered="True">\ +% if make.id == 'cli': +${cargo.doc_base_url + '/' + util.to_extern_crate_name(self.crate_name())}\ +% else: +${cargo.doc_base_url + '/' + self.crate_name() + '/' + self.crate_version()}\ +% endif + + <%def name="crate_version()" buffered="True">\ ${util.crate_version(cargo.build_version, revision is UNDEFINED and '00000000' or revision)}\