[
https://issues.apache.org/jira/browse/AVRO-877?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13089712#comment-13089712
]
Doug Cutting commented on AVRO-877:
-----------------------------------
We might just run the compiler over some inputs and check that the expected
output files are created. So a test case would be a list of input files (in
the src/ tree) and the list of expected files that will be created (in the
target/ tree).
For extra credit we could compile these output files to check them with javac.
http://download.oracle.com/javase/6/docs/api/javax/tools/JavaCompiler.html
Another approach is like TestIdl, where the compiler output is also in the test
tree, and we check the generated output against that.
> 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