Hi Werner
Yup, I had the same problem, but I'm generating my resources into
target/generated-resources/xyz and then adding that to my build:
Resource resource = new Resource();
resource.setDirectory(targetDirectory.getAbsolutePath());
resource.addInclude("**/*");
if (createTestConfiguration) {
mavenProject.addTestResource(resource);
} else {
mavenProject.addResource(resource);
}
They will still end up in target/classes or target/test-classes.
Best regards,
Eric
> -----Ursprüngliche Nachricht-----
> Von: Werner Guttmann [mailto:[email protected]]
> Gesendet: Freitag, 2. Oktober 2009 13:46
> An: Maven Users List
> Betreff: Re: AW: How to add generated resources directory in a plugin
>
> 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]