You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by Sachin Patel <sp...@gmail.com> on 2005/07/29 16:22:34 UTC

build change...xmlbean2 issue

What are peoples thoughts on the following change?...

Maven as far as I know doesn't support multiple output folders, it only 
contains "/target/classes" so the binary output from xmlbeans2 is thrown 
into there, causing problems with Eclipse since these files are subject 
to being deleted.  

However maven does have a concept of "resources".

<resources>
  <resource>
    <directory>src/main/resources</directory>
  </resource>
</resources>

In this example, every file in src/main/resources is copied as is to the 
target/classes directory, preserving any subdirectory structure.

Can xmlbeans2 can generate for each project into its own <directory> 
outside of "target/classes"? This generated output will be copied into 
"target/classes" preserving the Maven build and IntelliJ support.  If so 
we can modify the maven-eclipse plugin to set this folder as a "classes" 
folder so its contents be preserved supporting Eclipse integration.

Is this change feasible and doable?

Thanks.

Sachin.

Re: build change...xmlbean2 issue

Posted by Jeff Genender <jg...@savoirtech.com>.
Resource can work...this is a possible solution.  We did this sort of 
thing on the last project I was on...you just have to be sure the 
original resources dir structure is the same as under the classes dir. 
There are also other ways to skin this cat.

Dain Sundstrom wrote:
> I think this is something the maven team dealt with recently.  You  
> might want to ask them what solution they came up with.
> 
> BTW I don't think resource will work, since maven simply copies the  
> resources into the classes directory.
> 
> -dain
> 
> On Jul 29, 2005, at 8:50 AM, David Jencks wrote:
> 
>> This might work, although it will cause significant additional  
>> complications for use with idea and probably other tools.  From my  
>> point of view this is sort of an eclipse limitation in that it  
>> appears to be insisting that there can only be one "compiler"  
>> producing binary output, and that compiler is the eclipse java  
>> compiler.  I would think a more flexible approach would be to allow  
>> adding multiple "compilers" to the eclipse project.
>>
>> I probably won't have time to look into this for a while.  If you  
>> want to pursue it, you need to make sure that:
>>
>> 1. the "resources" directory you add is in target, not src
>> 2. the maven xmlbeans plugin adds the resource directory to the  maven 
>> internal structures whether or not it runs xmlbeans to  generate code. 
>> I think there might be some code for including the  source schemas 
>> that might be similar to what you need.
>> 3. modify the idea plugin to find the generated classes.  I don't  
>> know if this is necessary and I don't know if it will confuse idea.
>>
>> Will doing this provide a solution to the eclipse classpath problem  
>> as well?  IIUC to get eclipse to recognize the generated  classes  you 
>> need to put the final output jar on the eclipse classpath.  I  hope 
>> that there is one solution that will solve both problems.
>>
>> thanks
>> david jencks
>>
>> On Jul 29, 2005, at 7:22 AM, Sachin Patel wrote:
>>
>>
>>> What are peoples thoughts on the following change?...
>>>
>>> Maven as far as I know doesn't support multiple output folders, it  
>>> only contains "/target/classes" so the binary output from  xmlbeans2 
>>> is thrown into there, causing problems with Eclipse  since these 
>>> files are subject to being deleted.
>>> However maven does have a concept of "resources".
>>>
>>> <resources>
>>>  <resource>
>>>    <directory>src/main/resources</directory>
>>>  </resource>
>>> </resources>
>>>
>>> In this example, every file in src/main/resources is copied as is  to 
>>> the target/classes directory, preserving any subdirectory  structure.
>>>
>>> Can xmlbeans2 can generate for each project into its own  <directory> 
>>> outside of "target/classes"? This generated output  will be copied 
>>> into "target/classes" preserving the Maven build  and IntelliJ 
>>> support.  If so we can modify the maven-eclipse  plugin to set this 
>>> folder as a "classes" folder so its contents be  preserved supporting 
>>> Eclipse integration.
>>>
>>> Is this change feasible and doable?
>>>
>>> Thanks.
>>>
>>> Sachin.
>>>
>>

Re: build change...xmlbean2 issue

Posted by Dain Sundstrom <da...@iq80.com>.
I think this is something the maven team dealt with recently.  You  
might want to ask them what solution they came up with.

BTW I don't think resource will work, since maven simply copies the  
resources into the classes directory.

-dain

On Jul 29, 2005, at 8:50 AM, David Jencks wrote:

> This might work, although it will cause significant additional  
> complications for use with idea and probably other tools.  From my  
> point of view this is sort of an eclipse limitation in that it  
> appears to be insisting that there can only be one "compiler"  
> producing binary output, and that compiler is the eclipse java  
> compiler.  I would think a more flexible approach would be to allow  
> adding multiple "compilers" to the eclipse project.
>
> I probably won't have time to look into this for a while.  If you  
> want to pursue it, you need to make sure that:
>
> 1. the "resources" directory you add is in target, not src
> 2. the maven xmlbeans plugin adds the resource directory to the  
> maven internal structures whether or not it runs xmlbeans to  
> generate code. I think there might be some code for including the  
> source schemas that might be similar to what you need.
> 3. modify the idea plugin to find the generated classes.  I don't  
> know if this is necessary and I don't know if it will confuse idea.
>
> Will doing this provide a solution to the eclipse classpath problem  
> as well?  IIUC to get eclipse to recognize the generated  classes  
> you need to put the final output jar on the eclipse classpath.  I  
> hope that there is one solution that will solve both problems.
>
> thanks
> david jencks
>
> On Jul 29, 2005, at 7:22 AM, Sachin Patel wrote:
>
>
>> What are peoples thoughts on the following change?...
>>
>> Maven as far as I know doesn't support multiple output folders, it  
>> only contains "/target/classes" so the binary output from  
>> xmlbeans2 is thrown into there, causing problems with Eclipse  
>> since these files are subject to being deleted.
>> However maven does have a concept of "resources".
>>
>> <resources>
>>  <resource>
>>    <directory>src/main/resources</directory>
>>  </resource>
>> </resources>
>>
>> In this example, every file in src/main/resources is copied as is  
>> to the target/classes directory, preserving any subdirectory  
>> structure.
>>
>> Can xmlbeans2 can generate for each project into its own  
>> <directory> outside of "target/classes"? This generated output  
>> will be copied into "target/classes" preserving the Maven build  
>> and IntelliJ support.  If so we can modify the maven-eclipse  
>> plugin to set this folder as a "classes" folder so its contents be  
>> preserved supporting Eclipse integration.
>>
>> Is this change feasible and doable?
>>
>> Thanks.
>>
>> Sachin.
>>
>


Re: build change...xmlbean2 issue

Posted by David Jencks <dj...@gluecode.com>.
This might work, although it will cause significant additional 
complications for use with idea and probably other tools.  From my 
point of view this is sort of an eclipse limitation in that it appears 
to be insisting that there can only be one "compiler" producing binary 
output, and that compiler is the eclipse java compiler.  I would think 
a more flexible approach would be to allow adding multiple "compilers" 
to the eclipse project.

I probably won't have time to look into this for a while.  If you want 
to pursue it, you need to make sure that:

1. the "resources" directory you add is in target, not src
2. the maven xmlbeans plugin adds the resource directory to the maven 
internal structures whether or not it runs xmlbeans to generate code. I 
think there might be some code for including the source schemas that 
might be similar to what you need.
3. modify the idea plugin to find the generated classes.  I don't know 
if this is necessary and I don't know if it will confuse idea.

Will doing this provide a solution to the eclipse classpath problem as 
well?  IIUC to get eclipse to recognize the generated  classes you need 
to put the final output jar on the eclipse classpath.  I hope that 
there is one solution that will solve both problems.

thanks
david jencks

On Jul 29, 2005, at 7:22 AM, Sachin Patel wrote:

> What are peoples thoughts on the following change?...
>
> Maven as far as I know doesn't support multiple output folders, it 
> only contains "/target/classes" so the binary output from xmlbeans2 is 
> thrown into there, causing problems with Eclipse since these files are 
> subject to being deleted.
> However maven does have a concept of "resources".
>
> <resources>
>  <resource>
>    <directory>src/main/resources</directory>
>  </resource>
> </resources>
>
> In this example, every file in src/main/resources is copied as is to 
> the target/classes directory, preserving any subdirectory structure.
>
> Can xmlbeans2 can generate for each project into its own <directory> 
> outside of "target/classes"? This generated output will be copied into 
> "target/classes" preserving the Maven build and IntelliJ support.  If 
> so we can modify the maven-eclipse plugin to set this folder as a 
> "classes" folder so its contents be preserved supporting Eclipse 
> integration.
>
> Is this change feasible and doable?
>
> Thanks.
>
> Sachin.
>