From 0cdab15f36a65a1e9b753055f2f538e1cacc96ea Mon Sep 17 00:00:00 2001 From: ian Date: Wed, 27 Mar 2019 10:58:14 +0800 Subject: [PATCH] feat: publish cfbc 0.1.6 to pypi --- MANIFEST.in | 3 ++ Makefile | 7 ++++ Pipfile | 3 +- README.md | 32 +++++++++++++++++-- cfb/cli.py | 22 ++++++++++--- cfb/struct.py | 3 ++ cfb/templates/builder.rs.jinja | 1 + cfb/templates/legacy_verifier.rs.jinja | 1 + cfb/version.py | 1 + setup.py | 25 +++++++++++---- src/lib.rs | 1 + tests/common/ckb_builder.rs | 1 + tests/common/ckb_generated_verifier.rs | 1 + tests/common/data_alignment_builder.rs | 1 + .../data_alignment_generated_verifier.rs | 1 + tests/common/data_order_builder.rs | 1 + tests/common/data_order_generated_verifier.rs | 1 + tests/common/enum_builder.rs | 1 + tests/common/enum_generated_verifier.rs | 1 + tests/common/enum_vector_builder.rs | 1 + .../common/enum_vector_generated_verifier.rs | 1 + tests/common/nested_buffer_builder.rs | 1 + .../nested_buffer_generated_verifier.rs | 1 + tests/common/scalar_vector_builder.rs | 1 + .../scalar_vector_generated_verifier.rs | 1 + .../scalars_with_different_size_builder.rs | 1 + ..._with_different_size_generated_verifier.rs | 1 + .../common/scalars_with_same_size_builder.rs | 1 + ...alars_with_same_size_generated_verifier.rs | 1 + tests/common/string_builder.rs | 1 + tests/common/string_generated_verifier.rs | 1 + tests/common/string_vector_builder.rs | 1 + .../string_vector_generated_verifier.rs | 1 + tests/common/struct_builder.rs | 1 + tests/common/struct_generated_verifier.rs | 1 + tests/common/struct_vector_builder.rs | 1 + .../struct_vector_generated_verifier.rs | 1 + tests/common/table_field_builder.rs | 1 + .../common/table_field_generated_verifier.rs | 1 + tests/common/table_fields_order_builder.rs | 1 + .../table_fields_order_generated_verifier.rs | 1 + tests/common/table_vector_builder.rs | 1 + .../common/table_vector_generated_verifier.rs | 1 + tests/common/union_builder.rs | 1 + tests/common/union_generated_verifier.rs | 1 + 45 files changed, 118 insertions(+), 15 deletions(-) create mode 100644 MANIFEST.in create mode 100644 cfb/version.py diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 0000000..d3d9f62 --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1,3 @@ +include LICENSE README.md +global-exclude *.py[co] +graft cfb/templates diff --git a/Makefile b/Makefile index 5bfd4ee..3136269 100644 --- a/Makefile +++ b/Makefile @@ -24,6 +24,12 @@ gen-clean: rm -f ${BFBS} ${JSON} ${FLATC_RS} ${BUILDER} gen-force: gen-clean gen +publish-python: + rm -rf dist + ${PIPENV_RUN} python setup.py sdist bdist_wheel + twine --version || ${PIPENV_RUN} pip install twine + twine upload dist/* + doc: cargo doc @@ -73,3 +79,4 @@ ci-python: test-python ci-gen-clean ci-gen .PHONY: doc doc-clean doc-publish .PHONY: fmt clippy .PHONY: ci ci-rust ci-python ci-gen ci-gen-clean +.PHONY: publish-python diff --git a/Pipfile b/Pipfile index adfef4f..3fdec08 100644 --- a/Pipfile +++ b/Pipfile @@ -4,8 +4,7 @@ verify_ssl = true name = "pypi" [packages] -cfbc = {editable = true,path = "."} +cfbc = { editable = true, path = "." } [dev-packages] -flatbuffers = "*" mock = "==1.0.1" diff --git a/README.md b/README.md index 05650bf..2b4d113 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,34 @@ # CFB Encoding -[![Build Status](https://travis-ci.com/nervosnetwork/cfb.svg?branch=master)](https://travis-ci.com/nervosnetwork/cfb) ---- +## [![Build Status](https://travis-ci.com/nervosnetwork/cfb.svg?branch=master)](https://travis-ci.com/nervosnetwork/cfb) CFB (Canonical FlatBuffers) is a restricted variant of FlatBuffers for producing unequivocal transfer syntax. + +## Usage + +Install the code geneartor as commane line utility: + +``` +pip install cfbc +``` + +First generate bfbs file from fbs: + +``` +flatc -b --schema example.fbs +``` + +Then generate rust files from bfbs: + +``` +cfbc example.bfbs +``` + +### Use Verifier with flatbuffers rust + +Add the generated `_generated_verifier.rs` to the project. This file +depends on the crate `flatbuffers`. + +The file defines a function `get_root`, which is intended to replace the +function with the same name in `flatbuffers`. This function will verify the +buffer, and returns a `Result` to indicate whether the buffer is valid. diff --git a/cfb/cli.py b/cfb/cli.py index 482f63c..1a2a5cb 100644 --- a/cfb/cli.py +++ b/cfb/cli.py @@ -2,21 +2,33 @@ Usage: cfbc [-o ] + cfbc -h | --help + cfbc --version Options: - -o output directory (default: the same directory of ) - bfbs file which is generated using `flatc -b --schema `. + -o Save all generated files in , instead of the directory containing . + Load schema from which is generated by `flatc -b --schema `. + + -h --help Show this screen. + --version Show version. """ -import os from docopt import docopt from cfb.generator import Generator +from cfb.version import VERSION def parse_arguments(argv=None): return docopt(__doc__, argv) -def main(): - arguments = parse_arguments() +def generate(arguments): g = Generator(arguments['']) g.generate(arguments['-o']) + + +def main(): + arguments = parse_arguments() + if arguments['--version']: + print(VERSION) + else: + generate(arguments) diff --git a/cfb/struct.py b/cfb/struct.py index c79a31a..1720e1a 100644 --- a/cfb/struct.py +++ b/cfb/struct.py @@ -1,3 +1,6 @@ +# foo + + class StructPadding(object): def __init__(self, index, ty): self.index = index diff --git a/cfb/templates/builder.rs.jinja b/cfb/templates/builder.rs.jinja index 9b85a19..b712501 100644 --- a/cfb/templates/builder.rs.jinja +++ b/cfb/templates/builder.rs.jinja @@ -1 +1,2 @@ +//! This file is auto-generated by cfbc. {% set mod = cfb.root %}{% include "_builder_mod.rs.jinja" %} diff --git a/cfb/templates/legacy_verifier.rs.jinja b/cfb/templates/legacy_verifier.rs.jinja index d4b6a3f..86d2475 100644 --- a/cfb/templates/legacy_verifier.rs.jinja +++ b/cfb/templates/legacy_verifier.rs.jinja @@ -1,3 +1,4 @@ +//! This file is auto-generated by cfbc. use super::{{ cfb.basename }}_generated as reader; use flatbuffers; use std::error; diff --git a/cfb/version.py b/cfb/version.py new file mode 100644 index 0000000..710996b --- /dev/null +++ b/cfb/version.py @@ -0,0 +1 @@ +VERSION = '0.1.6' diff --git a/setup.py b/setup.py index 05320a1..a1ef1ac 100644 --- a/setup.py +++ b/setup.py @@ -1,14 +1,21 @@ import os import io -from setuptools import setup +from setuptools import setup, find_packages HERE = os.path.dirname(os.path.realpath(__file__)) -README = os.path.join(HERE, "README.md") + +README = os.path.join(HERE, 'README.md') with io.open(README, encoding='utf-8') as f: long_description = f.read() +VERSION = os.path.join(HERE, 'cfb', 'version.py') +with io.open(VERSION, encoding='utf-8') as f: + package = {} + exec(f.read(), package) + version = package['VERSION'] + setup(name='cfbc', - version='0.1', + version=version, description='CFB code generator', long_description=long_description, long_description_content_type='text/markdown', @@ -16,7 +23,13 @@ author='Nervos Core Dev', author_email='dev@nervos.org', license='MIT', - packages=['cfb'], - install_requires=['docopt', 'Jinja2'], + packages=find_packages(), + install_requires=['docopt', 'Jinja2', 'flatbuffers'], scripts=['bin/cfbc'], - zip_safe=False) + zip_safe=False, + classifiers=[ + 'Development Status :: 2 - Pre-Alpha', + 'Environment :: Console', + ], + include_package_data=True, + ) diff --git a/src/lib.rs b/src/lib.rs index c7383c5..97cac15 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,3 +1,4 @@ +//! asdfo pub mod alignment; pub mod builder; pub mod scalar; diff --git a/tests/common/ckb_builder.rs b/tests/common/ckb_builder.rs index a14b749..de1cf07 100644 --- a/tests/common/ckb_builder.rs +++ b/tests/common/ckb_builder.rs @@ -1,3 +1,4 @@ +//! This file is auto-generated by cfbc. pub mod ckb { pub mod protocol { #![allow(unused_imports, clippy::large_enum_variant)] diff --git a/tests/common/ckb_generated_verifier.rs b/tests/common/ckb_generated_verifier.rs index 8d903da..3245088 100644 --- a/tests/common/ckb_generated_verifier.rs +++ b/tests/common/ckb_generated_verifier.rs @@ -1,3 +1,4 @@ +//! This file is auto-generated by cfbc. use super::ckb_generated as reader; use flatbuffers; use std::error; diff --git a/tests/common/data_alignment_builder.rs b/tests/common/data_alignment_builder.rs index 4d6ea2f..8b3a9f2 100644 --- a/tests/common/data_alignment_builder.rs +++ b/tests/common/data_alignment_builder.rs @@ -1,3 +1,4 @@ +//! This file is auto-generated by cfbc. #![allow(unused_imports, clippy::large_enum_variant)] use cfb::builder::{ diff --git a/tests/common/data_alignment_generated_verifier.rs b/tests/common/data_alignment_generated_verifier.rs index 9cae33e..8f0dec9 100644 --- a/tests/common/data_alignment_generated_verifier.rs +++ b/tests/common/data_alignment_generated_verifier.rs @@ -1,3 +1,4 @@ +//! This file is auto-generated by cfbc. use super::data_alignment_generated as reader; use flatbuffers; use std::error; diff --git a/tests/common/data_order_builder.rs b/tests/common/data_order_builder.rs index e8ec28f..2726847 100644 --- a/tests/common/data_order_builder.rs +++ b/tests/common/data_order_builder.rs @@ -1,3 +1,4 @@ +//! This file is auto-generated by cfbc. #![allow(unused_imports, clippy::large_enum_variant)] use cfb::builder::{ diff --git a/tests/common/data_order_generated_verifier.rs b/tests/common/data_order_generated_verifier.rs index ab0b86f..8ad5198 100644 --- a/tests/common/data_order_generated_verifier.rs +++ b/tests/common/data_order_generated_verifier.rs @@ -1,3 +1,4 @@ +//! This file is auto-generated by cfbc. use super::data_order_generated as reader; use flatbuffers; use std::error; diff --git a/tests/common/enum_builder.rs b/tests/common/enum_builder.rs index 041bf18..5a1c3f8 100644 --- a/tests/common/enum_builder.rs +++ b/tests/common/enum_builder.rs @@ -1,3 +1,4 @@ +//! This file is auto-generated by cfbc. pub mod example { #![allow(unused_imports, clippy::large_enum_variant)] diff --git a/tests/common/enum_generated_verifier.rs b/tests/common/enum_generated_verifier.rs index 0fdeae0..d99fcea 100644 --- a/tests/common/enum_generated_verifier.rs +++ b/tests/common/enum_generated_verifier.rs @@ -1,3 +1,4 @@ +//! This file is auto-generated by cfbc. use super::enum_generated as reader; use flatbuffers; use std::error; diff --git a/tests/common/enum_vector_builder.rs b/tests/common/enum_vector_builder.rs index 1378981..daabe81 100644 --- a/tests/common/enum_vector_builder.rs +++ b/tests/common/enum_vector_builder.rs @@ -1,3 +1,4 @@ +//! This file is auto-generated by cfbc. pub mod example { #![allow(unused_imports, clippy::large_enum_variant)] diff --git a/tests/common/enum_vector_generated_verifier.rs b/tests/common/enum_vector_generated_verifier.rs index 4d931b6..a1a2d38 100644 --- a/tests/common/enum_vector_generated_verifier.rs +++ b/tests/common/enum_vector_generated_verifier.rs @@ -1,3 +1,4 @@ +//! This file is auto-generated by cfbc. use super::enum_vector_generated as reader; use flatbuffers; use std::error; diff --git a/tests/common/nested_buffer_builder.rs b/tests/common/nested_buffer_builder.rs index 798aff4..93c4488 100644 --- a/tests/common/nested_buffer_builder.rs +++ b/tests/common/nested_buffer_builder.rs @@ -1,3 +1,4 @@ +//! This file is auto-generated by cfbc. #![allow(unused_imports, clippy::large_enum_variant)] use cfb::builder::{ diff --git a/tests/common/nested_buffer_generated_verifier.rs b/tests/common/nested_buffer_generated_verifier.rs index 81f6259..d85f406 100644 --- a/tests/common/nested_buffer_generated_verifier.rs +++ b/tests/common/nested_buffer_generated_verifier.rs @@ -1,3 +1,4 @@ +//! This file is auto-generated by cfbc. use super::nested_buffer_generated as reader; use flatbuffers; use std::error; diff --git a/tests/common/scalar_vector_builder.rs b/tests/common/scalar_vector_builder.rs index 1d0c2c5..51635ae 100644 --- a/tests/common/scalar_vector_builder.rs +++ b/tests/common/scalar_vector_builder.rs @@ -1,3 +1,4 @@ +//! This file is auto-generated by cfbc. pub mod example { #![allow(unused_imports, clippy::large_enum_variant)] diff --git a/tests/common/scalar_vector_generated_verifier.rs b/tests/common/scalar_vector_generated_verifier.rs index ec417fc..af2fcd0 100644 --- a/tests/common/scalar_vector_generated_verifier.rs +++ b/tests/common/scalar_vector_generated_verifier.rs @@ -1,3 +1,4 @@ +//! This file is auto-generated by cfbc. use super::scalar_vector_generated as reader; use flatbuffers; use std::error; diff --git a/tests/common/scalars_with_different_size_builder.rs b/tests/common/scalars_with_different_size_builder.rs index 5eac768..952437c 100644 --- a/tests/common/scalars_with_different_size_builder.rs +++ b/tests/common/scalars_with_different_size_builder.rs @@ -1,3 +1,4 @@ +//! This file is auto-generated by cfbc. pub mod example { #![allow(unused_imports, clippy::large_enum_variant)] diff --git a/tests/common/scalars_with_different_size_generated_verifier.rs b/tests/common/scalars_with_different_size_generated_verifier.rs index 6046f57..e6c1971 100644 --- a/tests/common/scalars_with_different_size_generated_verifier.rs +++ b/tests/common/scalars_with_different_size_generated_verifier.rs @@ -1,3 +1,4 @@ +//! This file is auto-generated by cfbc. use super::scalars_with_different_size_generated as reader; use flatbuffers; use std::error; diff --git a/tests/common/scalars_with_same_size_builder.rs b/tests/common/scalars_with_same_size_builder.rs index c169392..1f1c85e 100644 --- a/tests/common/scalars_with_same_size_builder.rs +++ b/tests/common/scalars_with_same_size_builder.rs @@ -1,3 +1,4 @@ +//! This file is auto-generated by cfbc. pub mod example { #![allow(unused_imports, clippy::large_enum_variant)] diff --git a/tests/common/scalars_with_same_size_generated_verifier.rs b/tests/common/scalars_with_same_size_generated_verifier.rs index ed9fef1..6724571 100644 --- a/tests/common/scalars_with_same_size_generated_verifier.rs +++ b/tests/common/scalars_with_same_size_generated_verifier.rs @@ -1,3 +1,4 @@ +//! This file is auto-generated by cfbc. use super::scalars_with_same_size_generated as reader; use flatbuffers; use std::error; diff --git a/tests/common/string_builder.rs b/tests/common/string_builder.rs index cea7f75..61be076 100644 --- a/tests/common/string_builder.rs +++ b/tests/common/string_builder.rs @@ -1,3 +1,4 @@ +//! This file is auto-generated by cfbc. pub mod example { #![allow(unused_imports, clippy::large_enum_variant)] diff --git a/tests/common/string_generated_verifier.rs b/tests/common/string_generated_verifier.rs index e55b449..b23db7e 100644 --- a/tests/common/string_generated_verifier.rs +++ b/tests/common/string_generated_verifier.rs @@ -1,3 +1,4 @@ +//! This file is auto-generated by cfbc. use super::string_generated as reader; use flatbuffers; use std::error; diff --git a/tests/common/string_vector_builder.rs b/tests/common/string_vector_builder.rs index 7d4b65f..f8c7f9c 100644 --- a/tests/common/string_vector_builder.rs +++ b/tests/common/string_vector_builder.rs @@ -1,3 +1,4 @@ +//! This file is auto-generated by cfbc. pub mod example { #![allow(unused_imports, clippy::large_enum_variant)] diff --git a/tests/common/string_vector_generated_verifier.rs b/tests/common/string_vector_generated_verifier.rs index a994fa0..4298b6f 100644 --- a/tests/common/string_vector_generated_verifier.rs +++ b/tests/common/string_vector_generated_verifier.rs @@ -1,3 +1,4 @@ +//! This file is auto-generated by cfbc. use super::string_vector_generated as reader; use flatbuffers; use std::error; diff --git a/tests/common/struct_builder.rs b/tests/common/struct_builder.rs index 33bc6e0..893c0e6 100644 --- a/tests/common/struct_builder.rs +++ b/tests/common/struct_builder.rs @@ -1,3 +1,4 @@ +//! This file is auto-generated by cfbc. pub mod example { #![allow(unused_imports, clippy::large_enum_variant)] diff --git a/tests/common/struct_generated_verifier.rs b/tests/common/struct_generated_verifier.rs index fb3cebb..1057fc0 100644 --- a/tests/common/struct_generated_verifier.rs +++ b/tests/common/struct_generated_verifier.rs @@ -1,3 +1,4 @@ +//! This file is auto-generated by cfbc. use super::struct_generated as reader; use flatbuffers; use std::error; diff --git a/tests/common/struct_vector_builder.rs b/tests/common/struct_vector_builder.rs index 3572359..c2f88bb 100644 --- a/tests/common/struct_vector_builder.rs +++ b/tests/common/struct_vector_builder.rs @@ -1,3 +1,4 @@ +//! This file is auto-generated by cfbc. pub mod example { #![allow(unused_imports, clippy::large_enum_variant)] diff --git a/tests/common/struct_vector_generated_verifier.rs b/tests/common/struct_vector_generated_verifier.rs index 9bb24b8..4ca017d 100644 --- a/tests/common/struct_vector_generated_verifier.rs +++ b/tests/common/struct_vector_generated_verifier.rs @@ -1,3 +1,4 @@ +//! This file is auto-generated by cfbc. use super::struct_vector_generated as reader; use flatbuffers; use std::error; diff --git a/tests/common/table_field_builder.rs b/tests/common/table_field_builder.rs index bf54716..56b8a2b 100644 --- a/tests/common/table_field_builder.rs +++ b/tests/common/table_field_builder.rs @@ -1,3 +1,4 @@ +//! This file is auto-generated by cfbc. pub mod example { #![allow(unused_imports, clippy::large_enum_variant)] diff --git a/tests/common/table_field_generated_verifier.rs b/tests/common/table_field_generated_verifier.rs index 9fba2e0..1bfe773 100644 --- a/tests/common/table_field_generated_verifier.rs +++ b/tests/common/table_field_generated_verifier.rs @@ -1,3 +1,4 @@ +//! This file is auto-generated by cfbc. use super::table_field_generated as reader; use flatbuffers; use std::error; diff --git a/tests/common/table_fields_order_builder.rs b/tests/common/table_fields_order_builder.rs index 36c5334..99c95c6 100644 --- a/tests/common/table_fields_order_builder.rs +++ b/tests/common/table_fields_order_builder.rs @@ -1,3 +1,4 @@ +//! This file is auto-generated by cfbc. #![allow(unused_imports, clippy::large_enum_variant)] use cfb::builder::{ diff --git a/tests/common/table_fields_order_generated_verifier.rs b/tests/common/table_fields_order_generated_verifier.rs index 8c4435e..1da34a1 100644 --- a/tests/common/table_fields_order_generated_verifier.rs +++ b/tests/common/table_fields_order_generated_verifier.rs @@ -1,3 +1,4 @@ +//! This file is auto-generated by cfbc. use super::table_fields_order_generated as reader; use flatbuffers; use std::error; diff --git a/tests/common/table_vector_builder.rs b/tests/common/table_vector_builder.rs index a6c8505..48f87f8 100644 --- a/tests/common/table_vector_builder.rs +++ b/tests/common/table_vector_builder.rs @@ -1,3 +1,4 @@ +//! This file is auto-generated by cfbc. pub mod example { #![allow(unused_imports, clippy::large_enum_variant)] diff --git a/tests/common/table_vector_generated_verifier.rs b/tests/common/table_vector_generated_verifier.rs index d76efe8..ade7f14 100644 --- a/tests/common/table_vector_generated_verifier.rs +++ b/tests/common/table_vector_generated_verifier.rs @@ -1,3 +1,4 @@ +//! This file is auto-generated by cfbc. use super::table_vector_generated as reader; use flatbuffers; use std::error; diff --git a/tests/common/union_builder.rs b/tests/common/union_builder.rs index 611ca79..d9f4cb4 100644 --- a/tests/common/union_builder.rs +++ b/tests/common/union_builder.rs @@ -1,3 +1,4 @@ +//! This file is auto-generated by cfbc. pub mod example { #![allow(unused_imports, clippy::large_enum_variant)] diff --git a/tests/common/union_generated_verifier.rs b/tests/common/union_generated_verifier.rs index c82bb32..f12aa23 100644 --- a/tests/common/union_generated_verifier.rs +++ b/tests/common/union_generated_verifier.rs @@ -1,3 +1,4 @@ +//! This file is auto-generated by cfbc. use super::union_generated as reader; use flatbuffers; use std::error;