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]
