[
https://issues.apache.org/jira/browse/AVRO-877?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13087862#comment-13087862
]
Bill Graham commented on AVRO-877:
----------------------------------
Yeah, the unit tests in the compiler module are pretty sparse. At what level do
you think we should test the new functionality? We could do a true unit test to
verify that parsing and input file generation works properly for the change in
how we now handle input paths/files. Or we could do more of a functional test
that the compiler tool generates valid code for some inputs. Asserting the
validity of generated code from a running VM sounds tricky though...
> Support compiling multiple input schemas and protocols
> ------------------------------------------------------
>
> Key: AVRO-877
> URL: https://issues.apache.org/jira/browse/AVRO-877
> Project: Avro
> Issue Type: Improvement
> Reporter: Bill Graham
> Assignee: Bill Graham
> Attachments: AVRO-877_1.patch
>
>
> With AVRO-872, multiple inter-dependent schema files can be parsed.
> {{SpecificCompilerTool}} should be changed to allow the same when producing
> java from multiple schemas or protocols. Proposed syntax change is to allow
> multiple files or directories to be passed (space-delimited) before the last
> token, which is the output path.
> - To compile multiple files where {{b}} depends on {{a}}:
> {noformat}
> $ java -cp avro-tools-x.x.x.jar org.apache.avro.tool.Main \
> compile schema input/a.avsc input/b.avsc output
> {noformat}
> - To compile files from multiple directories:
> {noformat}
> $ java -cp avro-tools-x.x.x.jar org.apache.avro.tool.Main \
> compile schema input1 input2 output
> {noformat}
> - To compile {{b}} which depends on {{a}} and all the other content in
> {{input}} that might depend on {{a}} or {{b}}:
> {noformat}
> $ java -cp avro-tools-x.x.x.jar org.apache.avro.tool.Main \
> compile schema input/a.avsc input/b.avsc input output
> {noformat}
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira