[ 
https://issues.apache.org/jira/browse/AVRO-1384?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alexandre Normand updated AVRO-1384:
------------------------------------

    Description: 
We have a use case for importing idl files as classpath resources (it makes 
possible to re-use idls in downstream artifacts if all imports use classpath 
resources as opposed to a file-based reference). To enable this, the imports in 
the same artifacts should be able to use classpath resources for other avro 
files in the same source structure. 

The proposed approach is to just add the source directory of avro files to the 
classpath. The avro resources would then follow the directory structure. This 
means that if someone configures the avro-maven-plugin with a source directory 
like this:
{code}
<sourceDirectory>${project.basedir}/src/main/resources</sourceDirectory>
{code}  

And the idl files live under {{project.basedir/src/main/resources/avro}}, the 
imports could be referencing other avro files like this: 
{code}
import idl "avro/otherSchema.avdl";
{code}

Things open for discussion: 
* Any documentation required to make this clear to end-users?
* Should I add the resources directories to the classpath as well? 


  was:
We have a use case for importing idl files as classpath resources (it makes 
possible to re-use idls in downstream artifacts if all imports use classpath 
resources as opposed to a file-based reference). To enable this, the imports in 
the same artifacts should be able to use classpath resources for other avro 
files in the same source structure. 

The proposed approach is to just add the source directory of avro files to the 
classpath. The avro resources would then follow the directory structure. This 
means that if someone configures the avro-maven-plugin with a source directory 
like this:
{code}
<sourceDirectory>${project.basedir}/src/main/resources</sourceDirectory>
{code}  

And the idl files live under {{${project.basedir}/src/main/resources/avro}}, 
the imports could be referencing other avro files like this: 
{code}
import idl "avro/otherSchema.avdl";
{code}

Things open for discussion: 
* Any documentation required to make this clear to end-users?
* Should I add the resources directories to the classpath as well? 



> avro-maven-plugin: Can't import idl files as classpath resources from the 
> same set of sources 
> ----------------------------------------------------------------------------------------------
>
>                 Key: AVRO-1384
>                 URL: https://issues.apache.org/jira/browse/AVRO-1384
>             Project: Avro
>          Issue Type: Improvement
>          Components: java
>    Affects Versions: 1.7.5
>            Reporter: Alexandre Normand
>            Assignee: Alexandre Normand
>         Attachments: AVRO-1384.patch
>
>
> We have a use case for importing idl files as classpath resources (it makes 
> possible to re-use idls in downstream artifacts if all imports use classpath 
> resources as opposed to a file-based reference). To enable this, the imports 
> in the same artifacts should be able to use classpath resources for other 
> avro files in the same source structure. 
> The proposed approach is to just add the source directory of avro files to 
> the classpath. The avro resources would then follow the directory structure. 
> This means that if someone configures the avro-maven-plugin with a source 
> directory like this:
> {code}
> <sourceDirectory>${project.basedir}/src/main/resources</sourceDirectory>
> {code}  
> And the idl files live under {{project.basedir/src/main/resources/avro}}, the 
> imports could be referencing other avro files like this: 
> {code}
> import idl "avro/otherSchema.avdl";
> {code}
> Things open for discussion: 
> * Any documentation required to make this clear to end-users?
> * Should I add the resources directories to the classpath as well? 



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to