Roland,

I wish I had a choice, but I have to keep backwards-compatibility. Until
now, we used to offer one property on the Mojo to set the output path
(with a default of target/generated-sources/castor).

Now, we are offering a second option for the resource files generated,
but I still have to cater for those expecting things in the old location.

Werber

Roland Asmann wrote:
> Read the part about editing the plugin again... If you're working on the 
> actual castor-plugin, wouldn't it be easier to just separate the sources and 
> resources instead of adding the resources with inclusion/exclusion rules?
> 
> 
> On Friday 02 October 2009 13:45, Werner Guttmann wrote:
>> 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]
> 

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

Reply via email to