Details
Description
I've put together the beginnings of an maven archetypes subproject in the java module to help folks kickstart avro projects. The first archetype creates a simple avro based ordering service using the netty transport and includes an integration test for the service. The service is very naive, though its really only the plumbing that is important and the example is illustrative enough to get people going.
Once built, it can be added to the local archetypes catalog via
mvn archetype:crawl
and then will be available via the generate plugin
mvn archetype:generate
or it can be invoked directly as follows
mvn archetype:generate -DarchetypeArtifactId=avro-service-archetype -DarchetypeGroupId=org.apache.avro -DgroupId=org.simple -DartifactId=simple-service -Dversion=1.0-SNAPSHOT
The parent pom contains common config for generating a pom for the archetype that references the current avro build version. This takes some slight of hand with maven resources to insert the version and will be reusable for other archetypes in the future.
I intend putting together a map-reduce archetype soon and am open to suggestions for other archetypes that might be useful. Perhaps one that included the code from AVRO-883 to kick start a basic serialization project?