What I do until this <http://jira.codehaus.org/browse/CASTOR-2829> is released as part of castor 1.3.1 is to add castor generates sources (.java) via build helper plugin, and for the Castor resources configure build resources to along with src/main/resource directory include ${project.build.directory}/generated-sources/castor directory with includes section that has single include, **/.castor.cdr
Regards, Stevo. On Tue, Oct 6, 2009 at 10:15 AM, Roland Asmann <[email protected]> wrote: > Werber, > > Understandable. Then add the generated folder as a sources-folder and a > resources-folder with a filter on '**/*.java'. I guess that would be the > easiest way, in case more resource-types make it into this folder. > > Roland > > > > 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] > > > > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > >
