On Tue, Oct 1, 2013 at 10:57 AM, michał <[email protected]> wrote:
> 1. Would it be possible to program client-server and generate the protocol
> classes programmatically at compile time?
Yes. This is supported through Avro's Maven plugins by adding
something like the following to your pom.xml:
<plugin>
<groupId>org.apache.avro</groupId>
<artifactId>avro-maven-plugin</artifactId>
<version>${avro.version}</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>schema</goal>
<goal>protocol</goal>
<goal>idl-protocol</goal>
</goals>
</execution>
</executions>
</plugin>
This will compile .avpr files from src/main/avro, generating .avsc and
.avpr files in target/generated-sources/avro, then compile these to
create .java files in target/generated-sources/java which will be
compiled by the normal Maven java compilation plugins.
Doug