Hi John, Thanks a lot. I appreciated it. I was wondering if this could be documented in the "Introduction to the Standard Directory Layout" and/or "Plug-in Development Guide" sections. This way plugin developers would have an idea of the standard layout for generated code before going towards implementation.
Regards, Dário -----Original Message----- From: John Casey [mailto:[EMAIL PROTECTED] Sent: quarta-feira, 14 de dezembro de 2005 16:47 To: Maven Users List Subject: Re: [m2] Standard directory layout for generated sources We already have some default "standards" for generation of code. First, code should be generated into: ${project.build.directory}/generated-sources/${plugin-prefix} Correspondingly, generated resources would go in: ${project.build.directory}/generated-resources/${plugin-prefix} This accommodates multiple code generators within the same build process, with no pollution of one by another. Tracking these new source/resource locations is easy; in your plugin, simply call: project.addCompileSourceRoot(..); project.addResource(..); Of course, we also define analogous structures for test sources/resources. We've found in the past that this offers a pretty good compromise between a clean structure per generating plugin, and simplicity of directory layouts. The full-scale src/(main|test)/(java|resources) directory structure isn't that useful in this case, since the generated sources/resources will not have to be maintained. HTH, John Dário Luís Coneglian Oliveros wrote: > Hi Jochen, > > One way to avoid the problem you mentioned is to have something like: > > - target > - generated > - src > - main > - java > - resources > - test > - java > ... > > This way we would keep a similar Maven directory layout for the generated > files. > > [Jochen] Why do you need to tell the compiler that there is a new source > directory? This is the plugins task and it should do so automatically? > > [Dário] In case we use plugins such as ejbdoclet, hibernatedoclet and so on. > When using any of these, you end up having your files generated somewhere. > Thus you need to tell Maven where to find them in order to compile them. > Having a standard layout for generated files, this setting could be defined > implicitly. > > Do you know how a plugin could tell Maven on the fly about the existence of a > new source directory ? If this is possible, then a plugin could have its own > generated directory and inform it to Maven. Despite I still think it would be > great to have a standard directory layout for generated files. > > Regards, > Dário > > -----Original Message----- > From: Jochen Wiedmann [mailto:[EMAIL PROTECTED] > Sent: quarta-feira, 14 de dezembro de 2005 09:32 > To: Maven Users List > Subject: Re: [m2] Standard directory layout for generated sources > > > On 12/14/05, Dário Luís Coneglian Oliveros <[EMAIL PROTECTED]> wrote: > >> When looking at the standard layout directory, I thought it would be great >> to have a common directory for the generated sources also since Maven >> already has a generate-sources lifecycle phase. This way we don´t need to >> tell the compiler where to find the generated sources. > > I disagree. First of all, a single directory woudn't be sufficient: > For example, you generate not only sources, but also resources. Both > may be generated for tests as well. So we end up with four. Besides, > it is not unusual to process one generators files with another > generator. In other words, the formers output directory becomes the > latters input directory. > > But, what makes me wonder the most: Why do you need to tell the > compiler that there is a new source directory? This is the plugins > task and it should do so automatically? > > > Jochen > > -- > Often it does seem a pity that Noah and his party did not miss the > boat. (Mark Twain) > > --------------------------------------------------------------------- > 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]