avro-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From scottca...@apache.org
Subject svn commit: r1049734 - in /avro/trunk: ./ lang/java/ lang/java/avro/ lang/java/avro/src/ lang/java/avro/src/main/ lang/java/avro/src/main/java/ lang/java/avro/src/main/java/org/ lang/java/avro/src/main/java/org/apache/ lang/java/avro/src/main/java/org/...
Date Wed, 15 Dec 2010 23:04:44 GMT
Author: scottcarey
Date: Wed Dec 15 23:04:39 2010
New Revision: 1049734

URL: http://svn.apache.org/viewvc?rev=1049734&view=rev
Log:
AVRO-647 Java: Break avro.jar up into parts

Added:
    avro/trunk/lang/java/avro/   (with props)
    avro/trunk/lang/java/avro/.project
    avro/trunk/lang/java/avro/pom.xml
    avro/trunk/lang/java/avro/src/
    avro/trunk/lang/java/avro/src/main/
    avro/trunk/lang/java/avro/src/main/java/
    avro/trunk/lang/java/avro/src/main/java/org/
    avro/trunk/lang/java/avro/src/main/java/org/apache/
    avro/trunk/lang/java/avro/src/main/java/org/apache/avro/
    avro/trunk/lang/java/avro/src/main/java/org/apache/avro/AvroRuntimeException.java
      - copied unchanged from r1049732, avro/trunk/lang/java/src/java/org/apache/avro/AvroRuntimeException.java
    avro/trunk/lang/java/avro/src/main/java/org/apache/avro/AvroTypeException.java
      - copied unchanged from r1049732, avro/trunk/lang/java/src/java/org/apache/avro/AvroTypeException.java
    avro/trunk/lang/java/avro/src/main/java/org/apache/avro/Protocol.java
      - copied unchanged from r1049732, avro/trunk/lang/java/src/java/org/apache/avro/Protocol.java
    avro/trunk/lang/java/avro/src/main/java/org/apache/avro/Schema.java
      - copied unchanged from r1049732, avro/trunk/lang/java/src/java/org/apache/avro/Schema.java
    avro/trunk/lang/java/avro/src/main/java/org/apache/avro/SchemaParseException.java
      - copied unchanged from r1049732, avro/trunk/lang/java/src/java/org/apache/avro/SchemaParseException.java
    avro/trunk/lang/java/avro/src/main/java/org/apache/avro/file/
      - copied from r1049732, avro/trunk/lang/java/src/java/org/apache/avro/file/
    avro/trunk/lang/java/avro/src/main/java/org/apache/avro/generic/
      - copied from r1049732, avro/trunk/lang/java/src/java/org/apache/avro/generic/
    avro/trunk/lang/java/avro/src/main/java/org/apache/avro/io/
      - copied from r1049732, avro/trunk/lang/java/src/java/org/apache/avro/io/
    avro/trunk/lang/java/avro/src/main/java/org/apache/avro/ipc/
    avro/trunk/lang/java/avro/src/main/java/org/apache/avro/ipc/AvroRemoteException.java
      - copied unchanged from r1049732, avro/trunk/lang/java/src/java/org/apache/avro/ipc/AvroRemoteException.java
    avro/trunk/lang/java/avro/src/main/java/org/apache/avro/ipc/ByteBufferInputStream.java
      - copied unchanged from r1049732, avro/trunk/lang/java/src/java/org/apache/avro/ipc/ByteBufferInputStream.java
    avro/trunk/lang/java/avro/src/main/java/org/apache/avro/ipc/ByteBufferOutputStream.java
      - copied unchanged from r1049732, avro/trunk/lang/java/src/java/org/apache/avro/ipc/ByteBufferOutputStream.java
    avro/trunk/lang/java/avro/src/main/java/org/apache/avro/ipc/package.html
      - copied unchanged from r1049732, avro/trunk/lang/java/src/java/org/apache/avro/ipc/package.html
    avro/trunk/lang/java/avro/src/main/java/org/apache/avro/package.html
      - copied unchanged from r1049732, avro/trunk/lang/java/src/java/org/apache/avro/package.html
    avro/trunk/lang/java/avro/src/main/java/org/apache/avro/reflect/
      - copied from r1049732, avro/trunk/lang/java/src/java/org/apache/avro/reflect/
    avro/trunk/lang/java/avro/src/main/java/org/apache/avro/specific/
      - copied from r1049732, avro/trunk/lang/java/src/java/org/apache/avro/specific/
    avro/trunk/lang/java/avro/src/main/java/org/apache/avro/tool/
    avro/trunk/lang/java/avro/src/main/java/org/apache/avro/tool/Tool.java
      - copied unchanged from r1049732, avro/trunk/lang/java/src/java/org/apache/avro/tool/Tool.java
    avro/trunk/lang/java/avro/src/main/java/org/apache/avro/tool/package.html
      - copied unchanged from r1049732, avro/trunk/lang/java/src/java/org/apache/avro/tool/package.html
    avro/trunk/lang/java/avro/src/main/java/org/apache/avro/util/
      - copied from r1049732, avro/trunk/lang/java/src/java/org/apache/avro/util/
    avro/trunk/lang/java/avro/src/main/java/overview.html
      - copied unchanged from r1049732, avro/trunk/lang/java/src/java/overview.html
    avro/trunk/lang/java/avro/src/test/
    avro/trunk/lang/java/avro/src/test/java/
    avro/trunk/lang/java/avro/src/test/java/NoPackage.java
      - copied unchanged from r1049732, avro/trunk/lang/java/src/test/java/NoPackage.java
    avro/trunk/lang/java/avro/src/test/java/org/
    avro/trunk/lang/java/avro/src/test/java/org/apache/
    avro/trunk/lang/java/avro/src/test/java/org/apache/avro/
    avro/trunk/lang/java/avro/src/test/java/org/apache/avro/AvroTestUtil.java
      - copied unchanged from r1049732, avro/trunk/lang/java/src/test/java/org/apache/avro/AvroTestUtil.java
    avro/trunk/lang/java/avro/src/test/java/org/apache/avro/BarRecord.java
      - copied unchanged from r1049732, avro/trunk/lang/java/src/test/java/org/apache/avro/BarRecord.java
    avro/trunk/lang/java/avro/src/test/java/org/apache/avro/FooRecord.java
      - copied unchanged from r1049732, avro/trunk/lang/java/src/test/java/org/apache/avro/FooRecord.java
    avro/trunk/lang/java/avro/src/test/java/org/apache/avro/GenerateBlockingData.java
      - copied unchanged from r1049732, avro/trunk/lang/java/src/test/java/org/apache/avro/GenerateBlockingData.java
    avro/trunk/lang/java/avro/src/test/java/org/apache/avro/RandomData.java
      - copied unchanged from r1049732, avro/trunk/lang/java/src/test/java/org/apache/avro/RandomData.java
    avro/trunk/lang/java/avro/src/test/java/org/apache/avro/TestDataFile.java
      - copied, changed from r1049732, avro/trunk/lang/java/src/test/java/org/apache/avro/TestDataFile.java
    avro/trunk/lang/java/avro/src/test/java/org/apache/avro/TestDataFileConcat.java
      - copied unchanged from r1049732, avro/trunk/lang/java/src/test/java/org/apache/avro/TestDataFileConcat.java
    avro/trunk/lang/java/avro/src/test/java/org/apache/avro/TestDataFileDeflate.java
      - copied unchanged from r1049732, avro/trunk/lang/java/src/test/java/org/apache/avro/TestDataFileDeflate.java
    avro/trunk/lang/java/avro/src/test/java/org/apache/avro/TestDataFileMeta.java
      - copied unchanged from r1049732, avro/trunk/lang/java/src/test/java/org/apache/avro/TestDataFileMeta.java
    avro/trunk/lang/java/avro/src/test/java/org/apache/avro/TestDataFileReflect.java
      - copied unchanged from r1049732, avro/trunk/lang/java/src/test/java/org/apache/avro/TestDataFileReflect.java
    avro/trunk/lang/java/avro/src/test/java/org/apache/avro/TestReflect.java
      - copied unchanged from r1049732, avro/trunk/lang/java/src/test/java/org/apache/avro/TestReflect.java
    avro/trunk/lang/java/avro/src/test/java/org/apache/avro/file/
      - copied from r1049732, avro/trunk/lang/java/src/test/java/org/apache/avro/file/
    avro/trunk/lang/java/avro/src/test/java/org/apache/avro/generic/
      - copied from r1049732, avro/trunk/lang/java/src/test/java/org/apache/avro/generic/
    avro/trunk/lang/java/avro/src/test/java/org/apache/avro/io/
      - copied from r1049732, avro/trunk/lang/java/src/test/java/org/apache/avro/io/
    avro/trunk/lang/java/avro/src/test/java/org/apache/avro/util/
      - copied from r1049732, avro/trunk/lang/java/src/test/java/org/apache/avro/util/
    avro/trunk/lang/java/checkstyle.xml
      - copied unchanged from r1049732, avro/trunk/lang/java/src/java/checkstyle.xml
    avro/trunk/lang/java/compiler/   (with props)
    avro/trunk/lang/java/compiler/.project
    avro/trunk/lang/java/compiler/pom.xml
    avro/trunk/lang/java/compiler/src/
    avro/trunk/lang/java/compiler/src/main/
    avro/trunk/lang/java/compiler/src/main/java/
    avro/trunk/lang/java/compiler/src/main/java/org/
    avro/trunk/lang/java/compiler/src/main/java/org/apache/
    avro/trunk/lang/java/compiler/src/main/java/org/apache/avro/
    avro/trunk/lang/java/compiler/src/main/java/org/apache/avro/specific/
    avro/trunk/lang/java/compiler/src/main/java/org/apache/avro/specific/ProtocolTask.java
      - copied unchanged from r1049732, avro/trunk/lang/java/src/java/org/apache/avro/specific/ProtocolTask.java
    avro/trunk/lang/java/compiler/src/main/java/org/apache/avro/specific/SchemaTask.java
      - copied unchanged from r1049732, avro/trunk/lang/java/src/java/org/apache/avro/specific/SchemaTask.java
    avro/trunk/lang/java/compiler/src/main/java/org/apache/avro/specific/SpecificCompiler.java
      - copied, changed from r1049732, avro/trunk/lang/java/src/java/org/apache/avro/specific/SpecificCompiler.java
    avro/trunk/lang/java/compiler/src/main/javacc/
    avro/trunk/lang/java/compiler/src/main/javacc/org/
    avro/trunk/lang/java/compiler/src/main/javacc/org/apache/
    avro/trunk/lang/java/compiler/src/main/javacc/org/apache/avro/
    avro/trunk/lang/java/compiler/src/main/javacc/org/apache/avro/idl/
      - copied from r1049732, avro/trunk/lang/java/src/java/org/apache/avro/idl/
    avro/trunk/lang/java/compiler/src/main/velocity/
    avro/trunk/lang/java/compiler/src/main/velocity/org/
    avro/trunk/lang/java/compiler/src/main/velocity/org/apache/
    avro/trunk/lang/java/compiler/src/main/velocity/org/apache/avro/
    avro/trunk/lang/java/compiler/src/main/velocity/org/apache/avro/specific/
    avro/trunk/lang/java/compiler/src/main/velocity/org/apache/avro/specific/templates/
      - copied from r1049732, avro/trunk/lang/java/src/java/org/apache/avro/specific/templates/
    avro/trunk/lang/java/compiler/src/test/
    avro/trunk/lang/java/compiler/src/test/idl/
      - copied from r1049732, avro/trunk/lang/java/src/test/idl/
    avro/trunk/lang/java/compiler/src/test/java/
    avro/trunk/lang/java/compiler/src/test/java/org/
    avro/trunk/lang/java/compiler/src/test/java/org/apache/
    avro/trunk/lang/java/compiler/src/test/java/org/apache/avro/
    avro/trunk/lang/java/compiler/src/test/java/org/apache/avro/idl/
      - copied from r1049732, avro/trunk/lang/java/src/test/java/org/apache/avro/idl/
    avro/trunk/lang/java/ipc/   (with props)
    avro/trunk/lang/java/ipc/.project
    avro/trunk/lang/java/ipc/pom.xml
    avro/trunk/lang/java/ipc/src/
    avro/trunk/lang/java/ipc/src/main/
    avro/trunk/lang/java/ipc/src/main/java/
    avro/trunk/lang/java/ipc/src/main/java/org/
    avro/trunk/lang/java/ipc/src/main/java/org/apache/
    avro/trunk/lang/java/ipc/src/main/java/org/apache/avro/
    avro/trunk/lang/java/ipc/src/main/java/org/apache/avro/generic/
    avro/trunk/lang/java/ipc/src/main/java/org/apache/avro/generic/GenericRequestor.java
      - copied unchanged from r1049732, avro/trunk/lang/java/src/java/org/apache/avro/generic/GenericRequestor.java
    avro/trunk/lang/java/ipc/src/main/java/org/apache/avro/generic/GenericResponder.java
      - copied unchanged from r1049732, avro/trunk/lang/java/src/java/org/apache/avro/generic/GenericResponder.java
    avro/trunk/lang/java/ipc/src/main/java/org/apache/avro/ipc/
      - copied from r1049732, avro/trunk/lang/java/src/java/org/apache/avro/ipc/
    avro/trunk/lang/java/ipc/src/main/java/org/apache/avro/reflect/
    avro/trunk/lang/java/ipc/src/main/java/org/apache/avro/reflect/ReflectRequestor.java
      - copied unchanged from r1049732, avro/trunk/lang/java/src/java/org/apache/avro/reflect/ReflectRequestor.java
    avro/trunk/lang/java/ipc/src/main/java/org/apache/avro/reflect/ReflectResponder.java
      - copied unchanged from r1049732, avro/trunk/lang/java/src/java/org/apache/avro/reflect/ReflectResponder.java
    avro/trunk/lang/java/ipc/src/main/java/org/apache/avro/specific/
    avro/trunk/lang/java/ipc/src/main/java/org/apache/avro/specific/SpecificRequestor.java
      - copied unchanged from r1049732, avro/trunk/lang/java/src/java/org/apache/avro/specific/SpecificRequestor.java
    avro/trunk/lang/java/ipc/src/main/java/org/apache/avro/specific/SpecificResponder.java
      - copied unchanged from r1049732, avro/trunk/lang/java/src/java/org/apache/avro/specific/SpecificResponder.java
    avro/trunk/lang/java/ipc/src/main/velocity/
    avro/trunk/lang/java/ipc/src/main/velocity/org/
    avro/trunk/lang/java/ipc/src/main/velocity/org/apache/
    avro/trunk/lang/java/ipc/src/main/velocity/org/apache/avro/
    avro/trunk/lang/java/ipc/src/main/velocity/org/apache/avro/ipc/
    avro/trunk/lang/java/ipc/src/main/velocity/org/apache/avro/ipc/stats/
    avro/trunk/lang/java/ipc/src/main/velocity/org/apache/avro/ipc/stats/templates/
      - copied from r1049732, avro/trunk/lang/java/src/java/org/apache/avro/ipc/stats/templates/
    avro/trunk/lang/java/ipc/src/main/velocity/org/apache/avro/ipc/trace/
    avro/trunk/lang/java/ipc/src/main/velocity/org/apache/avro/ipc/trace/templates/
      - copied from r1049732, avro/trunk/lang/java/src/java/org/apache/avro/ipc/trace/templates/
    avro/trunk/lang/java/ipc/src/test/
    avro/trunk/lang/java/ipc/src/test/java/
    avro/trunk/lang/java/ipc/src/test/java/org/
    avro/trunk/lang/java/ipc/src/test/java/org/apache/
    avro/trunk/lang/java/ipc/src/test/java/org/apache/avro/
    avro/trunk/lang/java/ipc/src/test/java/org/apache/avro/AvroTestUtil.java
      - copied unchanged from r1049732, avro/trunk/lang/java/src/test/java/org/apache/avro/AvroTestUtil.java
    avro/trunk/lang/java/ipc/src/test/java/org/apache/avro/RPCMetaTestPlugin.java
      - copied unchanged from r1049732, avro/trunk/lang/java/src/test/java/org/apache/avro/RPCMetaTestPlugin.java
    avro/trunk/lang/java/ipc/src/test/java/org/apache/avro/RandomData.java
      - copied unchanged from r1049732, avro/trunk/lang/java/src/test/java/org/apache/avro/RandomData.java
    avro/trunk/lang/java/ipc/src/test/java/org/apache/avro/SimpleException.java
      - copied unchanged from r1049732, avro/trunk/lang/java/src/test/java/org/apache/avro/SimpleException.java
    avro/trunk/lang/java/ipc/src/test/java/org/apache/avro/TestBulkData.java
      - copied unchanged from r1049732, avro/trunk/lang/java/src/test/java/org/apache/avro/TestBulkData.java
    avro/trunk/lang/java/ipc/src/test/java/org/apache/avro/TestCompare.java
      - copied unchanged from r1049732, avro/trunk/lang/java/src/test/java/org/apache/avro/TestCompare.java
    avro/trunk/lang/java/ipc/src/test/java/org/apache/avro/TestNamespaceReflect.java
      - copied unchanged from r1049732, avro/trunk/lang/java/src/test/java/org/apache/avro/TestNamespaceReflect.java
    avro/trunk/lang/java/ipc/src/test/java/org/apache/avro/TestNamespaceSpecific.java
      - copied unchanged from r1049732, avro/trunk/lang/java/src/test/java/org/apache/avro/TestNamespaceSpecific.java
    avro/trunk/lang/java/ipc/src/test/java/org/apache/avro/TestProtocolDatagram.java
      - copied unchanged from r1049732, avro/trunk/lang/java/src/test/java/org/apache/avro/TestProtocolDatagram.java
    avro/trunk/lang/java/ipc/src/test/java/org/apache/avro/TestProtocolGeneric.java
      - copied, changed from r1049732, avro/trunk/lang/java/src/test/java/org/apache/avro/TestProtocolGeneric.java
    avro/trunk/lang/java/ipc/src/test/java/org/apache/avro/TestProtocolGenericMeta.java
      - copied unchanged from r1049732, avro/trunk/lang/java/src/test/java/org/apache/avro/TestProtocolGenericMeta.java
    avro/trunk/lang/java/ipc/src/test/java/org/apache/avro/TestProtocolHttp.java
      - copied unchanged from r1049732, avro/trunk/lang/java/src/test/java/org/apache/avro/TestProtocolHttp.java
    avro/trunk/lang/java/ipc/src/test/java/org/apache/avro/TestProtocolParsing.java
      - copied, changed from r1049732, avro/trunk/lang/java/src/test/java/org/apache/avro/TestProtocolParsing.java
    avro/trunk/lang/java/ipc/src/test/java/org/apache/avro/TestProtocolReflect.java
      - copied unchanged from r1049732, avro/trunk/lang/java/src/test/java/org/apache/avro/TestProtocolReflect.java
    avro/trunk/lang/java/ipc/src/test/java/org/apache/avro/TestProtocolReflectMeta.java
      - copied unchanged from r1049732, avro/trunk/lang/java/src/test/java/org/apache/avro/TestProtocolReflectMeta.java
    avro/trunk/lang/java/ipc/src/test/java/org/apache/avro/TestProtocolSpecific.java
      - copied unchanged from r1049732, avro/trunk/lang/java/src/test/java/org/apache/avro/TestProtocolSpecific.java
    avro/trunk/lang/java/ipc/src/test/java/org/apache/avro/TestProtocolSpecificMeta.java
      - copied unchanged from r1049732, avro/trunk/lang/java/src/test/java/org/apache/avro/TestProtocolSpecificMeta.java
    avro/trunk/lang/java/ipc/src/test/java/org/apache/avro/TestSchema.java
      - copied unchanged from r1049732, avro/trunk/lang/java/src/test/java/org/apache/avro/TestSchema.java
    avro/trunk/lang/java/ipc/src/test/java/org/apache/avro/ipc/
      - copied from r1049732, avro/trunk/lang/java/src/test/java/org/apache/avro/ipc/
    avro/trunk/lang/java/ipc/src/test/java/org/apache/avro/specific/
      - copied from r1049732, avro/trunk/lang/java/src/test/java/org/apache/avro/specific/
    avro/trunk/lang/java/mapred/   (with props)
    avro/trunk/lang/java/mapred/.project
    avro/trunk/lang/java/mapred/pom.xml
    avro/trunk/lang/java/mapred/src/
    avro/trunk/lang/java/mapred/src/main/
    avro/trunk/lang/java/mapred/src/main/java/
    avro/trunk/lang/java/mapred/src/main/java/org/
    avro/trunk/lang/java/mapred/src/main/java/org/apache/
    avro/trunk/lang/java/mapred/src/main/java/org/apache/avro/
    avro/trunk/lang/java/mapred/src/main/java/org/apache/avro/mapred/
      - copied from r1049732, avro/trunk/lang/java/src/java/org/apache/avro/mapred/
    avro/trunk/lang/java/mapred/src/test/
    avro/trunk/lang/java/mapred/src/test/java/
    avro/trunk/lang/java/mapred/src/test/java/org/
    avro/trunk/lang/java/mapred/src/test/java/org/apache/
    avro/trunk/lang/java/mapred/src/test/java/org/apache/avro/
    avro/trunk/lang/java/mapred/src/test/java/org/apache/avro/mapred/
      - copied from r1049732, avro/trunk/lang/java/src/test/java/org/apache/avro/mapred/
    avro/trunk/lang/java/maven-plugin/   (with props)
    avro/trunk/lang/java/maven-plugin/.project
    avro/trunk/lang/java/maven-plugin/pom.xml
    avro/trunk/lang/java/maven-plugin/src/
    avro/trunk/lang/java/maven-plugin/src/main/
    avro/trunk/lang/java/maven-plugin/src/main/java/
    avro/trunk/lang/java/maven-plugin/src/main/java/org/
    avro/trunk/lang/java/maven-plugin/src/main/java/org/apache/
    avro/trunk/lang/java/maven-plugin/src/main/java/org/apache/avro/
    avro/trunk/lang/java/maven-plugin/src/main/java/org/apache/avro/mojo/
    avro/trunk/lang/java/maven-plugin/src/main/java/org/apache/avro/mojo/AbstractAvroMojo.java
    avro/trunk/lang/java/maven-plugin/src/main/java/org/apache/avro/mojo/IDLProtocolMojo.java
    avro/trunk/lang/java/maven-plugin/src/main/java/org/apache/avro/mojo/ProtocolMojo.java
    avro/trunk/lang/java/maven-plugin/src/main/java/org/apache/avro/mojo/SchemaMojo.java
    avro/trunk/lang/java/pom.xml
    avro/trunk/lang/java/tools/   (with props)
    avro/trunk/lang/java/tools/.project
    avro/trunk/lang/java/tools/pom.xml
    avro/trunk/lang/java/tools/src/
    avro/trunk/lang/java/tools/src/main/
    avro/trunk/lang/java/tools/src/main/java/
    avro/trunk/lang/java/tools/src/main/java/org/
    avro/trunk/lang/java/tools/src/main/java/org/apache/
    avro/trunk/lang/java/tools/src/main/java/org/apache/avro/
    avro/trunk/lang/java/tools/src/main/java/org/apache/avro/tool/
      - copied from r1049732, avro/trunk/lang/java/src/java/org/apache/avro/tool/
    avro/trunk/lang/java/tools/src/test/
    avro/trunk/lang/java/tools/src/test/java/
    avro/trunk/lang/java/tools/src/test/java/org/
    avro/trunk/lang/java/tools/src/test/java/org/apache/
    avro/trunk/lang/java/tools/src/test/java/org/apache/avro/
    avro/trunk/lang/java/tools/src/test/java/org/apache/avro/AvroTestUtil.java
      - copied unchanged from r1049732, avro/trunk/lang/java/src/test/java/org/apache/avro/AvroTestUtil.java
    avro/trunk/lang/java/tools/src/test/java/org/apache/avro/tool/
      - copied from r1049732, avro/trunk/lang/java/src/test/java/org/apache/avro/tool/
Removed:
    avro/trunk/lang/java/avro/src/main/java/org/apache/avro/generic/GenericRequestor.java
    avro/trunk/lang/java/avro/src/main/java/org/apache/avro/generic/GenericResponder.java
    avro/trunk/lang/java/avro/src/main/java/org/apache/avro/reflect/ReflectRequestor.java
    avro/trunk/lang/java/avro/src/main/java/org/apache/avro/reflect/ReflectResponder.java
    avro/trunk/lang/java/avro/src/main/java/org/apache/avro/specific/ProtocolTask.java
    avro/trunk/lang/java/avro/src/main/java/org/apache/avro/specific/SchemaTask.java
    avro/trunk/lang/java/avro/src/main/java/org/apache/avro/specific/SpecificCompiler.java
    avro/trunk/lang/java/avro/src/main/java/org/apache/avro/specific/SpecificRequestor.java
    avro/trunk/lang/java/avro/src/main/java/org/apache/avro/specific/SpecificResponder.java
    avro/trunk/lang/java/avro/src/main/java/org/apache/avro/specific/templates/
    avro/trunk/lang/java/ipc/src/main/java/org/apache/avro/ipc/AvroRemoteException.java
    avro/trunk/lang/java/ipc/src/main/java/org/apache/avro/ipc/ByteBufferInputStream.java
    avro/trunk/lang/java/ipc/src/main/java/org/apache/avro/ipc/ByteBufferOutputStream.java
    avro/trunk/lang/java/ipc/src/main/java/org/apache/avro/ipc/package.html
    avro/trunk/lang/java/ipc/src/main/java/org/apache/avro/ipc/stats/templates/
    avro/trunk/lang/java/ipc/src/main/java/org/apache/avro/ipc/trace/templates/
    avro/trunk/lang/java/src/
    avro/trunk/lang/java/tools/src/main/java/org/apache/avro/tool/Tool.java
    avro/trunk/lang/java/tools/src/main/java/org/apache/avro/tool/package.html
Modified:
    avro/trunk/CHANGES.txt
    avro/trunk/lang/java/   (props changed)
    avro/trunk/lang/java/compiler/src/test/java/org/apache/avro/idl/TestIdl.java
    avro/trunk/lang/java/ipc/src/main/java/org/apache/avro/ipc/stats/StatsServlet.java
    avro/trunk/lang/java/ipc/src/main/java/org/apache/avro/ipc/trace/SpanAggregator.java
    avro/trunk/lang/java/ipc/src/test/java/org/apache/avro/ipc/trace/TestSpanAggregation.java
    avro/trunk/lang/java/ipc/src/test/java/org/apache/avro/specific/TestSpecificCompiler.java
    avro/trunk/lang/java/mapred/src/test/java/org/apache/avro/mapred/TestWeather.java
    avro/trunk/lang/java/tools/src/test/java/org/apache/avro/tool/TestRpcReceiveAndSendTools.java

Modified: avro/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/avro/trunk/CHANGES.txt?rev=1049734&r1=1049733&r2=1049734&view=diff
==============================================================================
--- avro/trunk/CHANGES.txt (original)
+++ avro/trunk/CHANGES.txt Wed Dec 15 23:04:39 2010
@@ -26,8 +26,15 @@ Avro 1.5.0 (unreleased)
 
     AVRO-687. Java: Permit RPC applications to view remote protocol. (cutting)
 
+    AVRO-159 Java: Allow maven builds to use avro: avro-maven-plugin
+    (Hiram Chirino, Patrick Hunt via Scott Carey)
+
   IMPROVEMENTS
 
+    AVRO-647 Java: Break avro.jar up into multiple pieces: avro.jar,
+    avro-compiler.jar, avro-ipc.jar, avro-mapred.jar, avro-tools.jar, 
+    and avro-maven-plugin.jar (Scott Carey)
+
     AVRO-682. Java: Add method DataFileStream.getMetaKeys().
     (Harsh J Chouraria via cutting)
 

Propchange: avro/trunk/lang/java/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Wed Dec 15 23:04:39 2010
@@ -1,4 +1,4 @@
-build
+target
 .classpath
-.eclipse
+.settings
 .project

Propchange: avro/trunk/lang/java/avro/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Wed Dec 15 23:04:39 2010
@@ -0,0 +1,4 @@
+target
+.classpath
+.settings
+.project

Added: avro/trunk/lang/java/avro/.project
URL: http://svn.apache.org/viewvc/avro/trunk/lang/java/avro/.project?rev=1049734&view=auto
==============================================================================
--- avro/trunk/lang/java/avro/.project (added)
+++ avro/trunk/lang/java/avro/.project Wed Dec 15 23:04:39 2010
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>avro</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.maven.ide.eclipse.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.maven.ide.eclipse.maven2Nature</nature>
+	</natures>
+</projectDescription>

Added: avro/trunk/lang/java/avro/pom.xml
URL: http://svn.apache.org/viewvc/avro/trunk/lang/java/avro/pom.xml?rev=1049734&view=auto
==============================================================================
--- avro/trunk/lang/java/avro/pom.xml (added)
+++ avro/trunk/lang/java/avro/pom.xml Wed Dec 15 23:04:39 2010
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+<project
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+  xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <artifactId>avro-parent</artifactId>
+    <groupId>org.apache.avro</groupId>
+    <version>1.5.0-SNAPSHOT</version>
+    <relativePath>../</relativePath>
+  </parent>
+  <artifactId>avro</artifactId>
+  <name>Apache Avro</name>
+  <url>http://avro.apache.org</url>
+  <description>Avro core components</description>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.codehaus.jackson</groupId>
+      <artifactId>jackson-mapper-asl</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.thoughtworks.paranamer</groupId>
+      <artifactId>paranamer</artifactId>
+    </dependency>
+  </dependencies>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>com.thoughtworks.paranamer</groupId>
+        <artifactId>paranamer-maven-plugin</artifactId>
+        <version>${paranamer-version}</version>
+        <executions>
+          <execution>
+            <id>paranamer-test</id>
+            <configuration>
+              <sourceDirectory>${project.build.testSourceDirectory}</sourceDirectory>
+              <outputDirectory>${project.build.testOutputDirectory}</outputDirectory>
+            </configuration>
+            <phase>process-test-classes</phase>
+            <goals>
+              <goal>generate</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+
+</project>
+

Copied: avro/trunk/lang/java/avro/src/test/java/org/apache/avro/TestDataFile.java (from r1049732, avro/trunk/lang/java/src/test/java/org/apache/avro/TestDataFile.java)
URL: http://svn.apache.org/viewvc/avro/trunk/lang/java/avro/src/test/java/org/apache/avro/TestDataFile.java?p2=avro/trunk/lang/java/avro/src/test/java/org/apache/avro/TestDataFile.java&p1=avro/trunk/lang/java/src/test/java/org/apache/avro/TestDataFile.java&r1=1049732&r2=1049734&rev=1049734&view=diff
==============================================================================
--- avro/trunk/lang/java/src/test/java/org/apache/avro/TestDataFile.java (original)
+++ avro/trunk/lang/java/avro/src/test/java/org/apache/avro/TestDataFile.java Wed Dec 15 23:04:39 2010
@@ -216,7 +216,7 @@ public class TestDataFile {
   }  
 
   @Test public void test12() throws IOException {
-    readFile(new File("../../share/test/data/test.avro12"),
+    readFile(new File("../../../share/test/data/test.avro12"),
              new GenericDatumReader<Object>());
   }
 

Propchange: avro/trunk/lang/java/compiler/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Wed Dec 15 23:04:39 2010
@@ -0,0 +1,4 @@
+target
+.classpath
+.settings
+.project

Added: avro/trunk/lang/java/compiler/.project
URL: http://svn.apache.org/viewvc/avro/trunk/lang/java/compiler/.project?rev=1049734&view=auto
==============================================================================
--- avro/trunk/lang/java/compiler/.project (added)
+++ avro/trunk/lang/java/compiler/.project Wed Dec 15 23:04:39 2010
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>avro-compiler</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.maven.ide.eclipse.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.maven.ide.eclipse.maven2Nature</nature>
+	</natures>
+</projectDescription>

Added: avro/trunk/lang/java/compiler/pom.xml
URL: http://svn.apache.org/viewvc/avro/trunk/lang/java/compiler/pom.xml?rev=1049734&view=auto
==============================================================================
--- avro/trunk/lang/java/compiler/pom.xml (added)
+++ avro/trunk/lang/java/compiler/pom.xml Wed Dec 15 23:04:39 2010
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+<project
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+  xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <artifactId>avro-parent</artifactId>
+    <groupId>org.apache.avro</groupId>
+    <version>1.5.0-SNAPSHOT</version>
+    <relativePath>../</relativePath>
+  </parent>
+  <artifactId>avro-compiler</artifactId>
+  <name>Apache Avro Compiler</name>
+  <url>http://avro.apache.org</url>
+  <description>Compilers for Avro IDL and Avro Specific Java API</description>
+
+  <build>
+    <resources>
+      <resource>
+        <directory>src/main/velocity</directory>
+      </resource>
+    </resources>
+    <testResources>
+      <testResource>
+        <directory>src/main/velocity</directory>
+      </testResource>
+      <testResource>
+        <directory>src/test/idl</directory>
+      </testResource>
+    </testResources>
+    <plugins>
+      <!-- Avro generates a parser class with javacc. By default, this looks in src/main/javacc 
+        and outputs to target/generated-sources/javacc See http://mojo.codehaus.org/javacc-maven-plugin/javacc-mojo.html 
+        for more info on using this plugin. -->
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>javacc-maven-plugin</artifactId>
+        <version>2.6</version>
+        <executions>
+          <execution>
+            <id>javacc</id>
+            <phase>generate-sources</phase>
+            <goals>
+              <goal>javacc</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <version>2.6</version>
+        <configuration>
+          <systemPropertyVariables>
+            <test.idl.dir>${project.basedir}/src/test/idl</test.idl.dir>
+          </systemPropertyVariables>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+
+  <dependencies>
+    <dependency>
+      <groupId>${project.groupId}</groupId>
+      <artifactId>avro</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>commons-lang</groupId>
+      <artifactId>commons-lang</artifactId>
+      <version>2.5</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.velocity</groupId>
+      <artifactId>velocity</artifactId>
+      <version>1.6.4</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.ant</groupId>
+      <artifactId>ant</artifactId>
+      <version>1.7.1</version>
+      <!-- can only be used from within ant -->
+      <scope>provided</scope>
+    </dependency>
+  </dependencies>
+
+</project>

Copied: avro/trunk/lang/java/compiler/src/main/java/org/apache/avro/specific/SpecificCompiler.java (from r1049732, avro/trunk/lang/java/src/java/org/apache/avro/specific/SpecificCompiler.java)
URL: http://svn.apache.org/viewvc/avro/trunk/lang/java/compiler/src/main/java/org/apache/avro/specific/SpecificCompiler.java?p2=avro/trunk/lang/java/compiler/src/main/java/org/apache/avro/specific/SpecificCompiler.java&p1=avro/trunk/lang/java/src/java/org/apache/avro/specific/SpecificCompiler.java&r1=1049732&r2=1049734&rev=1049734&view=diff
==============================================================================
--- avro/trunk/lang/java/src/java/org/apache/avro/specific/SpecificCompiler.java (original)
+++ avro/trunk/lang/java/compiler/src/main/java/org/apache/avro/specific/SpecificCompiler.java Wed Dec 15 23:04:39 2010
@@ -36,6 +36,10 @@ import org.apache.avro.tool.Tool;
 import org.apache.velocity.Template;
 import org.apache.velocity.VelocityContext;
 import org.apache.velocity.app.VelocityEngine;
+import org.apache.velocity.runtime.RuntimeServices;
+import org.apache.velocity.runtime.log.LogChute;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Generate specific Java interfaces and classes for protocols and schemas.
@@ -86,7 +90,7 @@ public class SpecificCompiler {
   SpecificCompiler() {
     this.templateDir =
       System.getProperty("org.apache.avro.specific.templates",
-                         "org/apache/avro/specific/templates/java/classic/");
+                         "/org/apache/avro/specific/templates/java/classic/");
     initializeVelocity();
   }
 
@@ -95,6 +99,8 @@ public class SpecificCompiler {
     this.templateDir = templateDir;
   }
 
+  private static String logChuteName = null;
+
   private void initializeVelocity() {
     this.velocityEngine = new VelocityEngine();
 
@@ -104,8 +110,17 @@ public class SpecificCompiler {
     velocityEngine.addProperty("class.resource.loader.class",
         "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
     velocityEngine.setProperty("runtime.references.strict", true);
-    velocityEngine.setProperty("runtime.log.logsystem.class", 
-        "org.apache.velocity.runtime.log.NullLogChute");
+    // try to use Slf4jLogChute, but if we can't use the null one.
+    if (null == logChuteName) {
+      // multiple threads can get here concurrently, but that's ok.
+      try {
+        new Slf4jLogChute();
+        logChuteName = "org.apache.avro.specific.SpecificCompiler$Slf4jLogChute";
+      } catch (Exception e) {
+        logChuteName = "org.apache.velocity.runtime.log.NullLogChute";
+      }
+    }
+    velocityEngine.setProperty("runtime.log.logsystem.class", logChuteName);
   }
 
   /**
@@ -381,6 +396,75 @@ public class SpecificCompiler {
       return "Generates Java code for the given schema.";
     }
   }
+  
+  public static final class Slf4jLogChute implements LogChute {
+    private Logger logger = LoggerFactory.getLogger("AvroVelocityLogChute");
+    @Override
+    public void init(RuntimeServices rs) throws Exception {
+      // nothing to do
+    }
+
+    @Override
+    public void log(int level, String message) {
+      switch (level) {
+      case LogChute.DEBUG_ID:
+        logger.debug(message);
+        break;
+      case LogChute.TRACE_ID:
+        logger.trace(message);
+        break;
+      case LogChute.WARN_ID:
+        logger.warn(message);
+        break;
+      case LogChute.ERROR_ID:
+        logger.error(message);
+        break;
+      default:
+      case LogChute.INFO_ID:
+        logger.info(message);
+        break;
+      }
+    }
+
+    @Override
+    public void log(int level, String message, Throwable t) {
+      switch (level) {
+      case LogChute.DEBUG_ID:
+        logger.debug(message, t);
+        break;
+      case LogChute.TRACE_ID:
+        logger.trace(message, t);
+        break;
+      case LogChute.WARN_ID:
+        logger.warn(message, t);
+        break;
+      case LogChute.ERROR_ID:
+        logger.error(message, t);
+        break;
+      default:
+      case LogChute.INFO_ID:
+        logger.info(message, t);
+        break;
+      }
+    }
+
+    @Override
+    public boolean isLevelEnabled(int level) {
+      switch (level) {
+      case LogChute.DEBUG_ID:
+        return logger.isDebugEnabled();
+      case LogChute.TRACE_ID:
+        return logger.isTraceEnabled();
+      case LogChute.WARN_ID:
+        return logger.isWarnEnabled();
+      case LogChute.ERROR_ID:
+        return logger.isErrorEnabled();
+      default:
+      case LogChute.INFO_ID:
+        return logger.isInfoEnabled();
+      }
+    }
+  }
 
 }
 

Modified: avro/trunk/lang/java/compiler/src/test/java/org/apache/avro/idl/TestIdl.java
URL: http://svn.apache.org/viewvc/avro/trunk/lang/java/compiler/src/test/java/org/apache/avro/idl/TestIdl.java?rev=1049734&r1=1049732&r2=1049734&view=diff
==============================================================================
--- avro/trunk/lang/java/compiler/src/test/java/org/apache/avro/idl/TestIdl.java (original)
+++ avro/trunk/lang/java/compiler/src/test/java/org/apache/avro/idl/TestIdl.java Wed Dec 15 23:04:39 2010
@@ -47,7 +47,7 @@ import org.apache.avro.Protocol;
  */
 public class TestIdl {
   private static final File TEST_DIR =
-    new File(System.getProperty("test.idl.dir"));
+    new File(System.getProperty("test.idl.dir", "src/test/idl"));
 
   private static final File TEST_INPUT_DIR =
     new File(TEST_DIR, "input");

Propchange: avro/trunk/lang/java/ipc/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Wed Dec 15 23:04:39 2010
@@ -0,0 +1,4 @@
+target
+.classpath
+.settings
+.project

Added: avro/trunk/lang/java/ipc/.project
URL: http://svn.apache.org/viewvc/avro/trunk/lang/java/ipc/.project?rev=1049734&view=auto
==============================================================================
--- avro/trunk/lang/java/ipc/.project (added)
+++ avro/trunk/lang/java/ipc/.project Wed Dec 15 23:04:39 2010
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>avro-ipc</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.maven.ide.eclipse.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.maven.ide.eclipse.maven2Nature</nature>
+	</natures>
+</projectDescription>

Added: avro/trunk/lang/java/ipc/pom.xml
URL: http://svn.apache.org/viewvc/avro/trunk/lang/java/ipc/pom.xml?rev=1049734&view=auto
==============================================================================
--- avro/trunk/lang/java/ipc/pom.xml (added)
+++ avro/trunk/lang/java/ipc/pom.xml Wed Dec 15 23:04:39 2010
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+<project
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+  xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <artifactId>avro-parent</artifactId>
+    <groupId>org.apache.avro</groupId>
+    <version>1.5.0-SNAPSHOT</version>
+    <relativePath>../</relativePath>
+  </parent>
+  <artifactId>avro-ipc</artifactId>
+  <name>Apache Avro IPC</name>
+  <url>http://avro.apache.org</url>
+  <description>Avro inter-process communication components</description>
+
+  <dependencies>
+    <dependency>
+      <groupId>${project.groupId}</groupId>
+      <artifactId>avro</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>${project.groupId}</groupId>
+      <artifactId>avro-compiler</artifactId>
+      <version>${project.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.mortbay.jetty</groupId>
+      <artifactId>jetty</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.netty</groupId>
+      <artifactId>netty</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.velocity</groupId>
+      <artifactId>velocity</artifactId>
+    </dependency>
+  </dependencies>
+
+  <build>
+    <resources>
+      <resource>
+        <directory>src/main/velocity</directory>
+      </resource>
+    </resources>
+    <plugins>
+      <plugin>
+        <groupId>${project.groupId}</groupId>
+        <artifactId>avro-maven-plugin</artifactId>
+        <version>${project.version}</version>
+        <executions>
+          <execution>
+            <id>schemas</id>
+            <phase>generate-sources</phase>
+            <goals>
+              <goal>schema</goal>
+              <goal>protocol</goal>
+              <goal>idl-protocol</goal>
+            </goals>
+            <configuration>
+              <sourceDirectory>${parent.project.basedir}/../../../../share/schemas/</sourceDirectory>
+              <outputDirectory>${project.build.directory}/generated-sources/java</outputDirectory>
+              <testSourceDirectory>${parent.project.basedir}/../../../../share/test/schemas/</testSourceDirectory>
+              <testOutputDirectory>${project.build.directory}/generated-test-sources/java</testOutputDirectory>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+</project>
+

Modified: avro/trunk/lang/java/ipc/src/main/java/org/apache/avro/ipc/stats/StatsServlet.java
URL: http://svn.apache.org/viewvc/avro/trunk/lang/java/ipc/src/main/java/org/apache/avro/ipc/stats/StatsServlet.java?rev=1049734&r1=1049732&r2=1049734&view=diff
==============================================================================
--- avro/trunk/lang/java/ipc/src/main/java/org/apache/avro/ipc/stats/StatsServlet.java (original)
+++ avro/trunk/lang/java/ipc/src/main/java/org/apache/avro/ipc/stats/StatsServlet.java Wed Dec 15 23:04:39 2010
@@ -64,6 +64,10 @@ public class StatsServlet extends HttpSe
     velocityEngine.addProperty("resource.loader", "class");
     velocityEngine.addProperty("class.resource.loader.class",
         "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
+    
+    velocityEngine.setProperty("runtime.references.strict", true);
+    String logChuteName = "org.apache.velocity.runtime.log.NullLogChute";
+    velocityEngine.setProperty("runtime.log.logsystem.class", logChuteName);
   }
   
   /* Helper class to store per-message data which is passed to templates.

Modified: avro/trunk/lang/java/ipc/src/main/java/org/apache/avro/ipc/trace/SpanAggregator.java
URL: http://svn.apache.org/viewvc/avro/trunk/lang/java/ipc/src/main/java/org/apache/avro/ipc/trace/SpanAggregator.java?rev=1049734&r1=1049732&r2=1049734&view=diff
==============================================================================
--- avro/trunk/lang/java/ipc/src/main/java/org/apache/avro/ipc/trace/SpanAggregator.java (original)
+++ avro/trunk/lang/java/ipc/src/main/java/org/apache/avro/ipc/trace/SpanAggregator.java Wed Dec 15 23:04:39 2010
@@ -21,13 +21,12 @@ import static org.apache.avro.ipc.trace.
 import static org.apache.avro.ipc.trace.Util.longValue;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.EnumSet;
 import java.util.HashMap;
 import java.util.LinkedList;
 import java.util.List;
 
-import edu.emory.mathcs.backport.java.util.Arrays;
-
 /**
  * Utility methods for aggregating spans together at various
  * points of trace analysis.

Copied: avro/trunk/lang/java/ipc/src/test/java/org/apache/avro/TestProtocolGeneric.java (from r1049732, avro/trunk/lang/java/src/test/java/org/apache/avro/TestProtocolGeneric.java)
URL: http://svn.apache.org/viewvc/avro/trunk/lang/java/ipc/src/test/java/org/apache/avro/TestProtocolGeneric.java?p2=avro/trunk/lang/java/ipc/src/test/java/org/apache/avro/TestProtocolGeneric.java&p1=avro/trunk/lang/java/src/test/java/org/apache/avro/TestProtocolGeneric.java&r1=1049732&r2=1049734&rev=1049734&view=diff
==============================================================================
--- avro/trunk/lang/java/src/test/java/org/apache/avro/TestProtocolGeneric.java (original)
+++ avro/trunk/lang/java/ipc/src/test/java/org/apache/avro/TestProtocolGeneric.java Wed Dec 15 23:04:39 2010
@@ -48,7 +48,7 @@ public class TestProtocolGeneric {
   private static final Logger LOG
     = LoggerFactory.getLogger(TestProtocolGeneric.class);
 
-  protected static final File FILE = new File("../../share/test/schemas/simple.avpr");
+  protected static final File FILE = new File("../../../share/test/schemas/simple.avpr");
   protected static final Protocol PROTOCOL;
   static {
     try {

Copied: avro/trunk/lang/java/ipc/src/test/java/org/apache/avro/TestProtocolParsing.java (from r1049732, avro/trunk/lang/java/src/test/java/org/apache/avro/TestProtocolParsing.java)
URL: http://svn.apache.org/viewvc/avro/trunk/lang/java/ipc/src/test/java/org/apache/avro/TestProtocolParsing.java?p2=avro/trunk/lang/java/ipc/src/test/java/org/apache/avro/TestProtocolParsing.java&p1=avro/trunk/lang/java/src/test/java/org/apache/avro/TestProtocolParsing.java&r1=1049732&r2=1049734&rev=1049734&view=diff
==============================================================================
--- avro/trunk/lang/java/src/test/java/org/apache/avro/TestProtocolParsing.java (original)
+++ avro/trunk/lang/java/ipc/src/test/java/org/apache/avro/TestProtocolParsing.java Wed Dec 15 23:04:39 2010
@@ -29,7 +29,7 @@ import org.apache.avro.Protocol.Message;
 
 public class TestProtocolParsing {
   public static Protocol getSimpleProtocol() throws IOException {
-    File file = new File("../../share/test/schemas/simple.avpr");
+    File file = new File("../../../share/test/schemas/simple.avpr");
     Protocol protocol = Protocol.parse(file);
     return protocol;
   }

Modified: avro/trunk/lang/java/ipc/src/test/java/org/apache/avro/ipc/trace/TestSpanAggregation.java
URL: http://svn.apache.org/viewvc/avro/trunk/lang/java/ipc/src/test/java/org/apache/avro/ipc/trace/TestSpanAggregation.java?rev=1049734&r1=1049732&r2=1049734&view=diff
==============================================================================
--- avro/trunk/lang/java/ipc/src/test/java/org/apache/avro/ipc/trace/TestSpanAggregation.java (original)
+++ avro/trunk/lang/java/ipc/src/test/java/org/apache/avro/ipc/trace/TestSpanAggregation.java Wed Dec 15 23:04:39 2010
@@ -25,6 +25,7 @@ import static org.apache.avro.ipc.trace.
 import static org.apache.avro.ipc.trace.Util.idsEqual;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.LinkedList;
 import java.util.List;
 
@@ -34,8 +35,6 @@ import org.apache.avro.ipc.trace.SpanAgg
 import org.apache.avro.util.Utf8;
 import org.junit.Test;
 
-import edu.emory.mathcs.backport.java.util.Arrays;
-
 /**
  * Tests for span aggregation utility methods.
  */
@@ -129,7 +128,6 @@ public class TestSpanAggregation {
    *        e                    
    */
   @Test
-  @SuppressWarnings("unchecked")
   public void testTraceFormation1() {
     Span a1 = createClientSpan(idValue(1), idValue(1), null, new Utf8("a"));
     Span a2 = createServerSpan(idValue(1), idValue(1), null, new Utf8("a"));

Modified: avro/trunk/lang/java/ipc/src/test/java/org/apache/avro/specific/TestSpecificCompiler.java
URL: http://svn.apache.org/viewvc/avro/trunk/lang/java/ipc/src/test/java/org/apache/avro/specific/TestSpecificCompiler.java?rev=1049734&r1=1049732&r2=1049734&view=diff
==============================================================================
--- avro/trunk/lang/java/ipc/src/test/java/org/apache/avro/specific/TestSpecificCompiler.java (original)
+++ avro/trunk/lang/java/ipc/src/test/java/org/apache/avro/specific/TestSpecificCompiler.java Wed Dec 15 23:04:39 2010
@@ -41,7 +41,6 @@ import org.apache.avro.TestSchema;
 import org.apache.avro.specific.SpecificCompiler.OutputFile;
 import org.junit.Test;
 
-
 public class TestSpecificCompiler {
   static final String PROTOCOL = "" +
         "{ \"protocol\": \"default\",\n" +
@@ -201,7 +200,7 @@ public class TestSpecificCompiler {
     fw.write(schema);
     fw.close();
     
-    File outputDir = new File(System.getProperty("test.dir") + 
+    File outputDir = new File(System.getProperty("test.dir", "target/test") + 
       System.getProperty("file.separator") + "test_need_compile");
     File outputFile = new File(outputDir, "Foo.java");
     outputFile.delete();

Propchange: avro/trunk/lang/java/mapred/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Wed Dec 15 23:04:39 2010
@@ -0,0 +1,4 @@
+target
+.classpath
+.settings
+.project

Added: avro/trunk/lang/java/mapred/.project
URL: http://svn.apache.org/viewvc/avro/trunk/lang/java/mapred/.project?rev=1049734&view=auto
==============================================================================
--- avro/trunk/lang/java/mapred/.project (added)
+++ avro/trunk/lang/java/mapred/.project Wed Dec 15 23:04:39 2010
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>avro-mapred</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.maven.ide.eclipse.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.maven.ide.eclipse.maven2Nature</nature>
+	</natures>
+</projectDescription>

Added: avro/trunk/lang/java/mapred/pom.xml
URL: http://svn.apache.org/viewvc/avro/trunk/lang/java/mapred/pom.xml?rev=1049734&view=auto
==============================================================================
--- avro/trunk/lang/java/mapred/pom.xml (added)
+++ avro/trunk/lang/java/mapred/pom.xml Wed Dec 15 23:04:39 2010
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+<project
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+  xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <artifactId>avro-parent</artifactId>
+    <groupId>org.apache.avro</groupId>
+    <version>1.5.0-SNAPSHOT</version>
+    <relativePath>../</relativePath>
+  </parent>
+  <artifactId>avro-mapred</artifactId>
+  <name>Apache Avro Mapred API</name>
+  <description>An org.apache.hadoop.mapred compatible API for using Avro Serializatin in Hadoop</description>
+
+  <dependencies>
+    <dependency>
+      <groupId>${project.groupId}</groupId>
+      <artifactId>avro-ipc</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.hadoop</groupId>
+      <artifactId>hadoop-core</artifactId>
+      <!-- hadoop's execution environment provides its own jars, usurping any others. 
+        So we should not include it here -->
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>net.sf.jopt-simple</groupId>
+      <artifactId>jopt-simple</artifactId>
+    </dependency>
+  </dependencies>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>${project.groupId}</groupId>
+        <artifactId>avro-maven-plugin</artifactId>
+        <version>${project.version}</version>
+        <executions>
+          <execution>
+            <id>schemas</id>
+            <phase>generate-sources</phase>
+            <goals>
+              <goal>schema</goal>
+              <goal>protocol</goal>
+            </goals>
+            <!-- compile only test protocols and schemas and place them in the classpath. -->
+            <configuration>
+              <sourceDirectory></sourceDirectory>
+              <testSourceDirectory>${parent.project.basedir}/../../../../share/test/schemas/</testSourceDirectory>
+              <testOutputDirectory>${project.build.directory}/generated-test-sources/java</testOutputDirectory>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+</project>
+

Modified: avro/trunk/lang/java/mapred/src/test/java/org/apache/avro/mapred/TestWeather.java
URL: http://svn.apache.org/viewvc/avro/trunk/lang/java/mapred/src/test/java/org/apache/avro/mapred/TestWeather.java?rev=1049734&r1=1049732&r2=1049734&view=diff
==============================================================================
--- avro/trunk/lang/java/mapred/src/test/java/org/apache/avro/mapred/TestWeather.java (original)
+++ avro/trunk/lang/java/mapred/src/test/java/org/apache/avro/mapred/TestWeather.java Wed Dec 15 23:04:39 2010
@@ -47,9 +47,9 @@ public class TestWeather {
   @SuppressWarnings("deprecation")
   public void testMapOnly() throws Exception {
     JobConf job = new JobConf();
-    String inDir = System.getProperty("share.dir",".")+"/test/data";
+    String inDir = System.getProperty("share.dir","../../../share")+"/test/data";
     Path input = new Path(inDir+"/weather.avro");
-    Path output = new Path(System.getProperty("test.dir",".")+"/weather-ident");
+    Path output = new Path(System.getProperty("test.dir","target/test")+"/weather-ident");
     
     output.getFileSystem(job).delete(output);
     
@@ -104,9 +104,9 @@ public class TestWeather {
   @SuppressWarnings("deprecation")
   public void testSort() throws Exception {
     JobConf job = new JobConf();
-    String inDir = System.getProperty("share.dir",".")+"/test/data";
+    String inDir = System.getProperty("share.dir","../../../share")+"/test/data";
     Path input = new Path(inDir+"/weather.avro");
-    Path output = new Path(System.getProperty("test.dir",".")+"/weather-sort");
+    Path output = new Path(System.getProperty("test.dir","target/test")+"/weather-sort");
     
     output.getFileSystem(job).delete(output);
     

Propchange: avro/trunk/lang/java/maven-plugin/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Wed Dec 15 23:04:39 2010
@@ -0,0 +1,4 @@
+target
+.classpath
+.settings
+.project

Added: avro/trunk/lang/java/maven-plugin/.project
URL: http://svn.apache.org/viewvc/avro/trunk/lang/java/maven-plugin/.project?rev=1049734&view=auto
==============================================================================
--- avro/trunk/lang/java/maven-plugin/.project (added)
+++ avro/trunk/lang/java/maven-plugin/.project Wed Dec 15 23:04:39 2010
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>avro-maven-plugin</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.maven.ide.eclipse.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.maven.ide.eclipse.maven2Nature</nature>
+	</natures>
+</projectDescription>

Added: avro/trunk/lang/java/maven-plugin/pom.xml
URL: http://svn.apache.org/viewvc/avro/trunk/lang/java/maven-plugin/pom.xml?rev=1049734&view=auto
==============================================================================
--- avro/trunk/lang/java/maven-plugin/pom.xml (added)
+++ avro/trunk/lang/java/maven-plugin/pom.xml Wed Dec 15 23:04:39 2010
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+<project
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+  xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <artifactId>avro-parent</artifactId>
+    <groupId>org.apache.avro</groupId>
+    <version>1.5.0-SNAPSHOT</version>
+    <relativePath>../</relativePath>
+  </parent>
+  <artifactId>avro-maven-plugin</artifactId>
+  <name>Apache Avro Maven Plugin</name>
+  <description>Maven plulgin for Avro IDL and Specific API Compilers</description>
+  <packaging>maven-plugin</packaging>
+  
+  <properties>
+    <maven-version>2.0.10</maven-version>
+  </properties>
+
+  <prerequisites>
+    <maven>${maven-version}</maven>
+  </prerequisites>
+
+  <build>
+  </build>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-plugin-api</artifactId>
+      <version>${maven-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-project</artifactId>
+      <version>${maven-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.shared</groupId>
+      <artifactId>file-management</artifactId>
+      <version>1.2.1</version>
+    </dependency>
+    <dependency>
+      <groupId>${project.groupId}</groupId>
+      <artifactId>avro-compiler</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+  </dependencies>
+
+</project>

Added: avro/trunk/lang/java/maven-plugin/src/main/java/org/apache/avro/mojo/AbstractAvroMojo.java
URL: http://svn.apache.org/viewvc/avro/trunk/lang/java/maven-plugin/src/main/java/org/apache/avro/mojo/AbstractAvroMojo.java?rev=1049734&view=auto
==============================================================================
--- avro/trunk/lang/java/maven-plugin/src/main/java/org/apache/avro/mojo/AbstractAvroMojo.java (added)
+++ avro/trunk/lang/java/maven-plugin/src/main/java/org/apache/avro/mojo/AbstractAvroMojo.java Wed Dec 15 23:04:39 2010
@@ -0,0 +1,143 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.avro.mojo;
+
+import java.io.File;
+import java.io.IOException;
+
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.project.MavenProject;
+import org.apache.maven.shared.model.fileset.FileSet;
+import org.apache.maven.shared.model.fileset.util.FileSetManager;
+
+/**
+ * Base for Avro Compiler Mojos.
+ */
+public abstract class AbstractAvroMojo extends AbstractMojo {
+  /**
+   * @parameter expression="${sourceDirectory}"
+   *            default-value="${basedir}/src/main/avro"
+   */
+  private File sourceDirectory;
+
+  /**
+   * @parameter expression="${outputDirectory}"
+   *            default-value="${project.build.directory}/generated-sources/avro"
+   */
+  private File outputDirectory;
+
+  /**
+   * @parameter expression="${sourceDirectory}"
+   *            default-value="${basedir}/src/test/avro"
+   */
+  private File testSourceDirectory;
+
+  /**
+   * @parameter expression="${outputDirectory}"
+   *            default-value="${project.build.directory}/generated-test-sources/avro"
+   */
+  private File testOutputDirectory;
+
+  /**
+   * A set of Ant-like exclusion patterns used to prevent certain files from
+   * being processed. By default, this set is empty such that no files are
+   * excluded.
+   * 
+   * @parameter
+   */
+  protected String[] excludes = new String[0];
+
+  /**
+   * A set of Ant-like exclusion patterns used to prevent certain files from
+   * being processed. By default, this set is empty such that no files are
+   * excluded.
+   * 
+   * @parameter
+   */
+  protected String[] testExcludes = new String[0];
+
+  /**
+   * The current Maven project.
+   * 
+   * @parameter default-value="${project}"
+   * @readonly
+   * @required
+   */
+  private MavenProject project;
+
+  @Override
+  public void execute() throws MojoExecutionException {
+    boolean hasSourceDir = null != sourceDirectory
+        && sourceDirectory.isDirectory();
+    boolean hasTestDir = null != testSourceDirectory
+        && testSourceDirectory.isDirectory();
+    if (!hasSourceDir && !hasTestDir) {
+      throw new MojoExecutionException("neither sourceDirectory: "
+          + sourceDirectory + " or testSourceDirectory: " + testSourceDirectory
+          + " are directories");
+    }
+    if (hasSourceDir) {
+      String[] includedFiles = getIncludedFiles(
+          sourceDirectory.getAbsolutePath(), excludes, getIncludes());
+      compileFiles(includedFiles, sourceDirectory, outputDirectory);
+      project.addCompileSourceRoot(outputDirectory.getAbsolutePath());
+    }
+    if (hasTestDir) {
+      String[] includedFiles = getIncludedFiles(
+          testSourceDirectory.getAbsolutePath(), testExcludes,
+          getTestIncludes());
+      compileFiles(includedFiles, testSourceDirectory, testOutputDirectory);
+      project.addTestCompileSourceRoot(testOutputDirectory.getAbsolutePath());
+    }
+  }
+
+  private String[] getIncludedFiles(String absPath, String[] excludes,
+      String[] includes) {
+    FileSetManager fileSetManager = new FileSetManager();
+    FileSet fs = new FileSet();
+    fs.setDirectory(absPath);
+    fs.setFollowSymlinks(false);
+    for (String include : includes) {
+      fs.addInclude(include);
+    }
+    for (String exclude : excludes) {
+      fs.addExclude(exclude);
+    }
+    return fileSetManager.getIncludedFiles(fs);
+  }
+
+  private void compileFiles(String[] files, File sourceDir, File outDir) throws MojoExecutionException {
+    for (String filename : files) {
+      try {
+        doCompile(filename, sourceDir, outDir);
+      } catch (IOException e) {
+        throw new MojoExecutionException("Error compiling protocol file "
+            + filename + " to " + outDir, e);
+      }
+    }
+  }
+
+  protected abstract void doCompile(String filename, File sourceDirectory, File outputDirectory) throws IOException;
+
+  protected abstract String[] getIncludes();
+
+  protected abstract String[] getTestIncludes();
+
+}

Added: avro/trunk/lang/java/maven-plugin/src/main/java/org/apache/avro/mojo/IDLProtocolMojo.java
URL: http://svn.apache.org/viewvc/avro/trunk/lang/java/maven-plugin/src/main/java/org/apache/avro/mojo/IDLProtocolMojo.java?rev=1049734&view=auto
==============================================================================
--- avro/trunk/lang/java/maven-plugin/src/main/java/org/apache/avro/mojo/IDLProtocolMojo.java (added)
+++ avro/trunk/lang/java/maven-plugin/src/main/java/org/apache/avro/mojo/IDLProtocolMojo.java Wed Dec 15 23:04:39 2010
@@ -0,0 +1,78 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.avro.mojo;
+
+import java.io.File;
+import java.io.IOException;
+
+import org.apache.avro.Protocol;
+import org.apache.avro.idl.Idl;
+import org.apache.avro.idl.ParseException;
+import org.apache.avro.specific.SpecificCompiler;
+
+/**
+ * Compile an Avro schema file.
+ * 
+ * @goal idl-protocol
+ * @phase generate-sources
+ */
+public class IDLProtocolMojo extends AbstractAvroMojo {
+  /**
+   * A set of Ant-like inclusion patterns used to select files from the source
+   * directory for processing. By default, the pattern
+   * <code>**&#47;*.avdl</code> is used to select IDL files.
+   * 
+   * @parameter
+   */
+  private String[] includes = new String[] { "**/*.avdl" };
+  
+  /**
+   * A set of Ant-like inclusion patterns used to select files from the source
+   * directory for processing. By default, the pattern
+   * <code>**&#47;*.avdl</code> is used to select IDL files.
+   * 
+   * @parameter
+   */
+  private String[] testIncludes = new String[] { "**/*.avdl" };
+
+  @Override
+  protected void doCompile(String filename, File sourceDirectory, File outputDirectory) throws IOException {
+    Idl parser = new Idl(new File(sourceDirectory, filename));
+    try {
+      Protocol p = parser.CompilationUnit();
+      String json = p.toString(true);
+      Protocol protocol = Protocol.parse(json);
+      SpecificCompiler compiler = new SpecificCompiler(protocol);
+      compiler.compileToDestination(null, outputDirectory);
+    } catch (ParseException e) {
+      throw new IOException(e);
+    }
+  }
+
+  @Override
+  protected String[] getIncludes() {
+    return includes;
+  }
+
+
+  @Override
+  protected String[] getTestIncludes() {
+    return testIncludes;
+  }
+}

Added: avro/trunk/lang/java/maven-plugin/src/main/java/org/apache/avro/mojo/ProtocolMojo.java
URL: http://svn.apache.org/viewvc/avro/trunk/lang/java/maven-plugin/src/main/java/org/apache/avro/mojo/ProtocolMojo.java?rev=1049734&view=auto
==============================================================================
--- avro/trunk/lang/java/maven-plugin/src/main/java/org/apache/avro/mojo/ProtocolMojo.java (added)
+++ avro/trunk/lang/java/maven-plugin/src/main/java/org/apache/avro/mojo/ProtocolMojo.java Wed Dec 15 23:04:39 2010
@@ -0,0 +1,66 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.avro.mojo;
+
+import java.io.File;
+import java.io.IOException;
+
+import org.apache.avro.specific.SpecificCompiler;
+
+/**
+ * Compile an Avro protocol schema file.
+ * 
+ * @goal protocol
+ * @phase generate-sources
+ */
+public class ProtocolMojo extends AbstractAvroMojo {
+  /**
+   * A set of Ant-like inclusion patterns used to select files from the source
+   * directory for processing. By default, the pattern
+   * <code>**&#47;*.avpr</code> is used to select grammar files.
+   * 
+   * @parameter
+   */
+  private String[] includes = new String[] { "**/*.avpr" };
+
+  /**
+   * A set of Ant-like inclusion patterns used to select files from the source
+   * directory for processing. By default, the pattern
+   * <code>**&#47;*.avpr</code> is used to select grammar files.
+   * 
+   * @parameter
+   */
+  private String[] testIncludes = new String[] { "**/*.avpr" };
+  
+  @Override
+  protected void doCompile(String filename, File sourceDirectory, File outputDirectory) throws IOException {
+    SpecificCompiler.compileProtocol(new File(sourceDirectory, filename),
+        outputDirectory);
+  }
+
+  @Override
+  protected String[] getIncludes() {
+    return includes;
+  }
+
+  @Override
+  protected String[] getTestIncludes() {
+    return testIncludes;
+  }
+}

Added: avro/trunk/lang/java/maven-plugin/src/main/java/org/apache/avro/mojo/SchemaMojo.java
URL: http://svn.apache.org/viewvc/avro/trunk/lang/java/maven-plugin/src/main/java/org/apache/avro/mojo/SchemaMojo.java?rev=1049734&view=auto
==============================================================================
--- avro/trunk/lang/java/maven-plugin/src/main/java/org/apache/avro/mojo/SchemaMojo.java (added)
+++ avro/trunk/lang/java/maven-plugin/src/main/java/org/apache/avro/mojo/SchemaMojo.java Wed Dec 15 23:04:39 2010
@@ -0,0 +1,66 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.avro.mojo;
+
+import java.io.File;
+import java.io.IOException;
+
+import org.apache.avro.specific.SpecificCompiler;
+
+/**
+ * Compile an Avro schema file.
+ * 
+ * @goal schema
+ * @phase generate-sources
+ */
+public class SchemaMojo extends AbstractAvroMojo {
+  /**
+   * A set of Ant-like inclusion patterns used to select files from the source
+   * directory for processing. By default, the pattern
+   * <code>**&#47;*.avsc</code> is used to select grammar files.
+   * 
+   * @parameter
+   */
+  private String[] includes = new String[] { "**/*.avsc" };
+  
+  /**
+   * A set of Ant-like inclusion patterns used to select files from the source
+   * directory for processing. By default, the pattern
+   * <code>**&#47;*.avsc</code> is used to select grammar files.
+   * 
+   * @parameter
+   */
+  private String[] testIncludes = new String[] { "**/*.avsc" };
+
+  @Override
+  protected void doCompile(String filename, File sourceDirectory, File outputDirectory) throws IOException {
+    SpecificCompiler.compileSchema(new File(sourceDirectory, filename),
+        outputDirectory);
+  }
+
+  @Override
+  protected String[] getIncludes() {
+    return includes;
+  }
+
+  @Override
+  protected String[] getTestIncludes() {
+    return testIncludes;
+  }
+}

Added: avro/trunk/lang/java/pom.xml
URL: http://svn.apache.org/viewvc/avro/trunk/lang/java/pom.xml?rev=1049734&view=auto
==============================================================================
--- avro/trunk/lang/java/pom.xml (added)
+++ avro/trunk/lang/java/pom.xml Wed Dec 15 23:04:39 2010
@@ -0,0 +1,218 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.apache</groupId>
+    <artifactId>apache</artifactId>
+    <version>7</version>
+  </parent>
+
+  <groupId>org.apache.avro</groupId>
+  <artifactId>avro-parent</artifactId>
+  <version>1.5.0-SNAPSHOT</version>
+  <packaging>pom</packaging>
+
+  <name>Apache Avro Parent</name>
+  <url>http://avro.apache.org</url>
+  <description>Avro parent pom</description>
+
+  <properties>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    <paranamer-version>2.2</paranamer-version>
+    <slf4j-version>1.5.11</slf4j-version>
+  </properties>
+
+  <issueManagement>
+    <system>jira</system>
+    <url>https://issues.apache.org/jira/browse/AVRO</url>
+  </issueManagement>
+
+  <build>
+    <!-- defines the default plugin configuration that all child projects inherit 
+      from. Like dependencyManagement, this provides configuration, version, and other 
+      parameters if the plugins are used by child projects -->
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-compiler-plugin</artifactId>
+          <configuration>
+            <source>1.6</source>
+            <target>1.6</target>
+          </configuration>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-surefire-plugin</artifactId>
+          <configuration>
+            <includes>
+              <!-- Avro naming convention for JUnit tests -->
+              <include>**/Test**</include>
+            </includes>
+            <excludes>
+              <!-- A few innner classes are not to be tested -->
+              <exclude>**/*$*</exclude>
+              <!-- exclude the generated classes under apache.avro.test, some of 
+                these match **/Test** and are not JUnit tests -->
+              <exclude>**/apache/avro/test/**</exclude>
+              <exclude>**/apache/avro/ipc/trace/**</exclude>
+            </excludes>
+            <enableAssertions>false</enableAssertions>
+            <!-- some IPC tests hang if not run in a separate JVM -->
+            <forkMode>always</forkMode>
+            <!-- TestSpecificCompiler instantiates a Java compiler to test output results, 
+                 this does not work with a manifest-only-jar to set the classpath for the javac.
+                 This may cause problems on some platforms.
+                 See http://maven.apache.org/plugins/maven-surefire-plugin/examples/class-loading.html
+                 for more information. -->
+            <useManifestOnlyJar>false</useManifestOnlyJar>
+            <!-- configures unit test standard error and standard out to go to a file per test
+                 rather than the console. -->
+            <redirectTestOutputToFile>true</redirectTestOutputToFile>
+          </configuration>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-checkstyle-plugin</artifactId>
+          <version>2.6</version>
+          <configuration>
+            <configLocation>checkstyle.xml</configLocation>
+          </configuration>
+          <!-- Runs by default in the verify phase  (mvn verify or later in the build cycle) 
+               the 'check' goal will fail the build if it does not pass.  "mvn checkstyle:check"
+               will do this alone, or "mvn checkstyle:checkstyle" will report but not break  -->
+          <executions>
+            <execution>
+              <id>checkstyle-check</id>
+              <phase>verify</phase>
+              <goals>
+                <goal>check</goal>
+              </goals>
+            </execution>
+          </executions>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-checkstyle-plugin</artifactId>
+      </plugin>
+    </plugins>
+  </build>
+
+  <reporting>
+  </reporting>
+
+  <!-- dependencyManagement can be used to define dependency versions, scopes, and 
+    excludes to be shared by child projects. Child projects will not inherit these dependencies, 
+    rather they inherit the properties of the below dependencies (such as version) if 
+    the dependency is specified in the child. -->
+  <dependencyManagement>
+    <dependencies>
+      <dependency>
+        <groupId>org.codehaus.jackson</groupId>
+        <artifactId>jackson-mapper-asl</artifactId>
+        <version>1.4.2</version>
+        <scope>compile</scope>
+      </dependency>
+      <dependency>
+        <groupId>com.thoughtworks.paranamer</groupId>
+        <artifactId>paranamer</artifactId>
+        <version>${paranamer-version}</version>
+        <scope>compile</scope>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.velocity</groupId>
+        <artifactId>velocity</artifactId>
+        <version>1.6.4</version>
+        <scope>compile</scope>
+      </dependency>
+      <dependency>
+        <groupId>org.mortbay.jetty</groupId>
+        <artifactId>jetty</artifactId>
+        <version>6.1.22</version>
+        <scope>compile</scope>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.netty</groupId>
+        <artifactId>netty</artifactId>
+        <version>3.2.1.Final</version>
+        <scope>compile</scope>
+      </dependency>
+      <dependency>
+        <groupId>net.sf.jopt-simple</groupId>
+        <artifactId>jopt-simple</artifactId>
+        <version>3.2</version>
+        <scope>compile</scope>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.hadoop</groupId>
+        <artifactId>hadoop-core</artifactId>
+        <version>0.20.2</version>
+        <scope>compile</scope>
+      </dependency>
+    </dependencies>
+  </dependencyManagement>
+
+  <!-- dependencies defines dependencies that all child projects share. Child projects 
+    will inherit these dependencies directly, and can opt out if necessary with <excludes> -->
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.8.1</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-api</artifactId>
+      <version>${slf4j-version}</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-simple</artifactId>
+      <version>${slf4j-version}</version>
+      <optional>true</optional>
+    </dependency>
+  </dependencies>
+
+  <!-- extra repositories besides the default Maven central and any configured by 
+    the local user's environment. -->
+  <repositories>
+    <repository>
+      <id>jboss-public-repository</id>
+      <name>JBoss Public Maven Repository</name>
+      <url>http://repository.jboss.org/nexus/content/groups/public/</url>
+      <layout>default</layout>
+    </repository>
+  </repositories>
+
+  <modules>
+    <module>avro</module>
+    <module>compiler</module>
+    <module>maven-plugin</module>
+    <module>ipc</module>
+    <module>tools</module>
+    <module>mapred</module>
+  </modules>
+</project>

Propchange: avro/trunk/lang/java/tools/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Wed Dec 15 23:04:39 2010
@@ -0,0 +1,4 @@
+target
+.classpath
+.settings
+.project

Added: avro/trunk/lang/java/tools/.project
URL: http://svn.apache.org/viewvc/avro/trunk/lang/java/tools/.project?rev=1049734&view=auto
==============================================================================
--- avro/trunk/lang/java/tools/.project (added)
+++ avro/trunk/lang/java/tools/.project Wed Dec 15 23:04:39 2010
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>avro-tools</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.maven.ide.eclipse.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.maven.ide.eclipse.maven2Nature</nature>
+	</natures>
+</projectDescription>

Added: avro/trunk/lang/java/tools/pom.xml
URL: http://svn.apache.org/viewvc/avro/trunk/lang/java/tools/pom.xml?rev=1049734&view=auto
==============================================================================
--- avro/trunk/lang/java/tools/pom.xml (added)
+++ avro/trunk/lang/java/tools/pom.xml Wed Dec 15 23:04:39 2010
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+<project
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+  xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <artifactId>avro-parent</artifactId>
+    <groupId>org.apache.avro</groupId>
+    <version>1.5.0-SNAPSHOT</version>
+    <relativePath>../</relativePath>
+  </parent>
+  <artifactId>avro-tools</artifactId>
+  <name>Apache Avro Tools</name>
+  <url>http://avro.apache.org</url>
+  <description>Avro command line tools and utilities</description>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+        <configuration>
+          <archive>
+            <manifest>
+              <mainClass>org.apache.avro.tool.Main</mainClass>
+            </manifest>
+          </archive>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+
+  <dependencies>
+    <dependency>
+      <groupId>${project.groupId}</groupId>
+      <artifactId>avro</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>${project.groupId}</groupId>
+      <artifactId>avro-compiler</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>${project.groupId}</groupId>
+      <artifactId>avro-ipc</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>${project.groupId}</groupId>
+      <artifactId>avro-mapred</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.hadoop</groupId>
+      <artifactId>hadoop-core</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>net.sf.jopt-simple</groupId>
+      <artifactId>jopt-simple</artifactId>
+    </dependency>
+  </dependencies>
+
+</project>
+

Modified: avro/trunk/lang/java/tools/src/test/java/org/apache/avro/tool/TestRpcReceiveAndSendTools.java
URL: http://svn.apache.org/viewvc/avro/trunk/lang/java/tools/src/test/java/org/apache/avro/tool/TestRpcReceiveAndSendTools.java?rev=1049734&r1=1049732&r2=1049734&view=diff
==============================================================================
--- avro/trunk/lang/java/tools/src/test/java/org/apache/avro/tool/TestRpcReceiveAndSendTools.java (original)
+++ avro/trunk/lang/java/tools/src/test/java/org/apache/avro/tool/TestRpcReceiveAndSendTools.java Wed Dec 15 23:04:39 2010
@@ -34,7 +34,7 @@ public class TestRpcReceiveAndSendTools 
   @Test
   public void testServeAndSend() throws Exception {
     String protocolFile =
-      System.getProperty("share.dir") + "/test/schemas/simple.avpr";
+      System.getProperty("share.dir", "../../../share") + "/test/schemas/simple.avpr";
     ByteArrayOutputStream baos1 = new ByteArrayOutputStream();
     PrintStream p1 = new PrintStream(baos1);
     RpcReceiveTool receive = new RpcReceiveTool();



Mime
View raw message