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]
