Eric,

the .castor.cdr files are a by-product of generating Java classes from
an XML schema using the XML code generator of Castor (through the Maven
plugin for Castor).

Those resource files are being generated in
target/generated-sources/castor during code generation.

I hopes this makes it clearer ....

Werner

Lewis, Eric wrote:
> Just out of curiosity: Is there a reason that you keep the .cdr files in 
> src/main/java?
> IMHO you could have them in src/main/resources, since they end up in 
> target/classes anyway.
> 
> Best regards,
> Eric 
> 
>> -----Ursprüngliche Nachricht-----
>> Von: Werner Guttmann [mailto:[email protected]] 
>> Gesendet: Freitag, 2. Oktober 2009 13:13
>> An: Maven Users List
>> Betreff: Re: How to add generated resources directory in a plugin
>>
>> That does not really match what I am observing .. :-(.
>>
>> If I generate Java sources and resources into
>>
>> target/generated-sources/castor
>>
>> and use
>>
>> project.addCompileSourceRoot("target/generated-sources/castor")
>>
>> within the Maven plugin for Castor, Maven will include the generated
>> Java classes during compilation and put the class files in
>> target/classes of the project.
>>
>> As a result of this, users of the Maven plugin for Castor 
>> currently have
>> to add the following section to their project POMs.
>>
>> <resources>
>>    <resource>
>>       <directory>target/generated-sources/castor</directory>
>>       <includes>
>>          <include>**/*.cdr</include>
>>       </includes>
>>    </resource>
>>    <resource>
>>       <directory>src/main/resources</directory>
>>    </resource>
>> </resources>
>>
>> to have those .castor.cdr Files copied to target/classes as 
>> well. As we
>> all know, this is error-prone.
>>
>> As such, I tried to add code to the Maven plugin for Castor 
>> as follows:
>>
>> Resource resource = new Resource();
>> resource.setDirectory( getResourceDestination().getAbsolutePath() );
>> List<String> includes = new LinkedList<String>();
>> includes.add( "**/*.cdr" );
>> resource.setIncludes( includes );
>> project.addResource( resource );
>>
>> Problem is that once I add that code, the Java source files start
>> showing up in target/classes, which is not ideal.
>>
>> Any idea what's going wrong here ?
>>
>> Werner
>>
>> Roland Asmann wrote:
>>> I believe this can work (not 100% sure, I generate into two 
>> different 
>>> directories for sources and resources), but you should 
>> probably ONLY use the 
>>> addCompileSourceRoot for your directory...
>>>
>>> The way I understand it, is that if you put sources & 
>> resources there, they 
>>> are compiled to the output dir. Java knows how to handle 
>> .java-files --> 
>>> convert them to classes, and how to handle anything else 
>> --> just copy.
>>> If you use the resource-dir, maven will handle the copying 
>> and will copy 
>>> everything from the source to the target, without compiling.
>>>
>>> So, I presume you have used both calls I gave you, although 
>> you should only 
>>> use one.
>>>
>>> Hope this helps,
>>>
>>>
>>> On Thursday 01 October 2009 15:15, Werner Guttmann wrote:
>>>> Hi Roland,
>>>>
>>>> does this pattern/recipe change if both resources and Java 
>> classes would
>>>> be generated in the same directory. I have tried this a 
>> few days ago
>>>> (trying to automate a few things for the 
>> castor-maven-plugin), and it
>>>> seems like this does not really work.
>>>>
>>>> Assume you have a directory where you'll find ....
>>>>
>>>> - A.java
>>>> - B.java
>>>> - .castor.cdr
>>>>
>>>> where the last is a resource file. If I use above code 
>> snippets, I can
>>>> see in the target folder after a plugin run and subsequent 
>> compilation
>>>> the compiled Java classes, the resource file and the source files.
>>>>
>>>> How can I avoid the source files to be copy across ?
>>>>
>>>> Regards
>>>> Werner
>>>>
>>>> Roland Asmann wrote:
>>>>> Assuming you already have the maven-project as a variable 
>> in your plugin
>>>>> (if not, add it!):
>>>>>
>>>>> project.addCompileSourceRoot("your output directory here");
>>>>>
>>>>>
>>>>> And in the case of resources:
>>>>>
>>>>> Resource resource = new Resource();
>>>>> resource.setDirectory("your output directory here");
>>>>> resource.addInclude("**/*");
>>>>> project.addResource(resource);
>>>>>
>>>>> On Thursday 01 October 2009 13:59, Lewis, Eric wrote:
>>>>>> Hi
>>>>>>
>>>>>> I'm writing a plugin which generates resources and also 
>> test resources.
>>>>>> How in my plugin can I add these directories to the 
>> sources paths and
>>>>>> the test resources paths? (Except for using the 
>> build-helper plugin)
>>>>>> Best regards,
>>>>>> Eric
>>>>>>
>>>>>>
>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: [email protected]
>>>>>> For additional commands, e-mail: [email protected]
>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: [email protected]
>>>> For additional commands, e-mail: [email protected]
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>>
>>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to