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]
