The Sunday 30 Mar 2014 à 22:35:09 (+0200), Lluís Vilanova wrote : > Adds an include primitive to the syntax of QAPI schema files, allowing these > to > be modularized into multiple per-topic files in the future. > > Signed-off-by: Lluís Vilanova <vilan...@ac.upc.edu> > --- > > Changes in v5: > > * Rebase on b3706fa. > * Remove 'error_base' argument in 'parse_schema'; fix test checks instead. > * Implement include directive using JSON syntax. > > Changes in v4: > > * Rebase on 3e890c7. > * Minor cosmetic changes. > * Fix recording of included files in case of a cycle error. > * Add a more complex include cycle test. > > > Changes in v3: > > * Fix documentation examples regarding how the input file is passed to the > scripts. > * Add documentation for the 'include' directive. > * Detect inclusion loops. > * Fix "tests/qapi-schema/test-qapi.py" and "tests/Makefile" to use an explicit > input file when running tests. > * Fix QAPI tests to cope with an explicit input file. > * Add tests for the "include" directive. > > > Changes in v2: > > * Change the scripts to use an explicit input file instead of standard input. > * Fix "tests/Makefile" to use the new argument. > * Get the input directory for the "include" directive from the input file > dirname. > > > Lluís Vilanova (3): > qapi: Use an explicit input file > qapi: Add a primitive to include other files from a QAPI schema file > qapi: Add tests for the "include" directive
Hi Lluís, I am embarassed. Since you said me that you would not have time to work on your series until the end of the month I send my own and forget to put you in copy. Now we have two include patchset and we must do a choice. The selling point of mine is that I can iterate fast on it. Do you think you will have time to work on yours during the next weeks ? Which one should we keep ? Best regards Benoît > > > Makefile | 24 +++++++++--- > docs/qapi-code-gen.txt | 11 +++++- > scripts/qapi-commands.py | 10 ++++- > scripts/qapi-types.py | 9 +++-- > scripts/qapi-visit.py | 9 +++-- > scripts/qapi.py | 40 > +++++++++++++++++--- > tests/Makefile | 19 +++++++--- > tests/qapi-schema/duplicate-key.err | 2 + > .../qapi-schema/flat-union-invalid-branch-key.err | 2 + > .../flat-union-invalid-discriminator.err | 2 + > tests/qapi-schema/flat-union-no-base.err | 2 + > .../flat-union-string-discriminator.err | 2 + > tests/qapi-schema/funny-char.err | 2 + > tests/qapi-schema/include-cycle-b.json | 1 + > tests/qapi-schema/include-cycle-c.json | 1 + > tests/qapi-schema/include-cycle.err | 1 + > tests/qapi-schema/include-cycle.exit | 1 + > tests/qapi-schema/include-cycle.json | 1 + > tests/qapi-schema/include-cycle.out | 0 > tests/qapi-schema/include-nested-err.err | 1 + > tests/qapi-schema/include-nested-err.exit | 1 + > tests/qapi-schema/include-nested-err.json | 1 + > tests/qapi-schema/include-nested-err.out | 0 > tests/qapi-schema/include-no-file.err | 1 + > tests/qapi-schema/include-no-file.exit | 1 + > tests/qapi-schema/include-no-file.json | 1 + > tests/qapi-schema/include-no-file.out | 0 > tests/qapi-schema/include-self-cycle.err | 1 + > tests/qapi-schema/include-self-cycle.exit | 1 + > tests/qapi-schema/include-self-cycle.json | 1 + > tests/qapi-schema/include-self-cycle.out | 0 > tests/qapi-schema/include-simple-sub.json | 2 + > tests/qapi-schema/include-simple.err | 0 > tests/qapi-schema/include-simple.exit | 1 + > tests/qapi-schema/include-simple.json | 1 + > tests/qapi-schema/include-simple.out | 3 ++ > tests/qapi-schema/missing-colon.err | 2 + > tests/qapi-schema/missing-comma-list.err | 2 + > tests/qapi-schema/missing-comma-object.err | 2 + > tests/qapi-schema/non-objects.err | 2 + > tests/qapi-schema/quoted-structural-chars.err | 2 + > tests/qapi-schema/test-qapi.py | 3 +- > tests/qapi-schema/trailing-comma-list.err | 2 + > tests/qapi-schema/trailing-comma-object.err | 2 + > tests/qapi-schema/unclosed-list.err | 2 + > tests/qapi-schema/unclosed-object.err | 2 + > tests/qapi-schema/unclosed-string.err | 2 + > tests/qapi-schema/union-invalid-base.err | 2 + > 48 files changed, 133 insertions(+), 47 deletions(-) > create mode 100644 tests/qapi-schema/include-cycle-b.json > create mode 100644 tests/qapi-schema/include-cycle-c.json > create mode 100644 tests/qapi-schema/include-cycle.err > create mode 100644 tests/qapi-schema/include-cycle.exit > create mode 100644 tests/qapi-schema/include-cycle.json > create mode 100644 tests/qapi-schema/include-cycle.out > create mode 100644 tests/qapi-schema/include-nested-err.err > create mode 100644 tests/qapi-schema/include-nested-err.exit > create mode 100644 tests/qapi-schema/include-nested-err.json > create mode 100644 tests/qapi-schema/include-nested-err.out > create mode 100644 tests/qapi-schema/include-no-file.err > create mode 100644 tests/qapi-schema/include-no-file.exit > create mode 100644 tests/qapi-schema/include-no-file.json > create mode 100644 tests/qapi-schema/include-no-file.out > create mode 100644 tests/qapi-schema/include-self-cycle.err > create mode 100644 tests/qapi-schema/include-self-cycle.exit > create mode 100644 tests/qapi-schema/include-self-cycle.json > create mode 100644 tests/qapi-schema/include-self-cycle.out > create mode 100644 tests/qapi-schema/include-simple-sub.json > create mode 100644 tests/qapi-schema/include-simple.err > create mode 100644 tests/qapi-schema/include-simple.exit > create mode 100644 tests/qapi-schema/include-simple.json > create mode 100644 tests/qapi-schema/include-simple.out > > > To: qemu-devel@nongnu.org > Cc: Luiz Capitulino <lcapitul...@redhat.com> > Cc: Markus Armbruster <arm...@redhat.com> > Cc: Eric Blake <ebl...@redhat.com> > Cc: Benoît Canet <benoit.ca...@irqsave.net>