It turns out there is a bug in the idl.jj compiler which doesn't pass
along the current "sourceDirectory" to 2nd level nested imports. I'll
file a bug and upload a patch and associated test. Any chance we can
spin 1.6.3 really fast?
I tried adding a jar of the avdl files as a dependency on the
avro-maven-plugin but that did not add the jar to the classpath in a way
that the new resource classpath loader could find it.
Suggestions greatly appreciated.
Thanks,
George
On 2/22/12 10:40 AM, George Fletcher wrote:
It appears that AVRO 1.6.2 broked nested IDL imports. Our project is
set up as follows. We use the IDL for all protocol and type
definitions. In order to share types, we create "empty" avdl protocol
files and name them like A_Protocol and A_Protocol_Types.avdl. That
ways protocol B which might need the types used in protocol A and just
import A_Protocol_Types.avdl.
I'm in the process of updating our baseline to move to 1.6.2 and I
noticed that first level imports work but second level imports fail.
All the necessary AVDL files are in the same directory. Take a set up
like below.
A_Protocol.advl
A_Protocol_Types.avdl
B_Protocol.avdl
imports A_Protocol_Types.avdl
imports B_Protocol_Types.avdl
imports A_Protocol_Types.avdl <-- This fails with a File not
Found exception
This works just fine with Avro 1.5.x so I'm thinking something changed
in Avro 1.6.2 that is breaking the behavior of following the imports.
Has anyone else run into this problem?
Thanks,
George
--
Chief Architect AIM: gffletch
Identity Services Engineering Work:[email protected]
AOL Inc. Home:[email protected]
Mobile: +1-703-462-3494 Blog:http://practicalid.blogspot.com
Office: +1-703-265-2544 Twitter:http://twitter.com/gffletch
--
Chief Architect AIM: gffletch
Identity Services Engineering Work: [email protected]
AOL Inc. Home: [email protected]
Mobile: +1-703-462-3494 Blog: http://practicalid.blogspot.com
Office: +1-703-265-2544 Twitter: http://twitter.com/gffletch