Which is exactly what I ended up doing. Thanks for everybody's patience ...
Werner Roland Asmann 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] > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
