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] -- Roland Asmann CFC Informationssysteme Entwicklungsgesellschaft m.b.H Bäckerstrasse 1/2/7 A-1010 Wien FN 266155f, Handelsgericht Wien Tel.: +43/1/513 88 77 - 27 Fax.: +43/1/513 88 62 Email: [email protected] Web: www.cfc.at --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
