Hi Fabrice,

You can access this property from within a plugin via the
org.apache.maven.project.MavenProject addCompileSourceRoot method.

I think the idea behind having compileSourceRoots as read-only is that
source generation should be done from within a plugin. That plugin
should then append any new source root to the project as required,
keeping the plugin self contained and not contaminating your POM.

That said, attached is a very simple example that will let you add a
source root in your POM [1].

Cheers,
...andrew

Listing 1:

package com.yourcompany.maven.plugin;

import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.project.MavenProject;

/**
 * @author <a href="mailto:[EMAIL PROTECTED]">You</a>
 * @version $Id$
 * @goal addCompileSourceRoot
 */
public class CompileSourceRootMojo
  extends AbstractMojo
{
  /**
   * The Maven project.
   *
   * @parameter expression="${project}"
   * @required
   * @readonly
   */
  private MavenProject project;

  /**
   * @parameter
   * @required
   */
  private String compileSourceRoot;

  public void execute()
    throws MojoExecutionException
  {
    project.addCompileSourceRoot(compileSourceRoot);
  }
}

[EMAIL PROTECTED] wrote:
> 
> 
> 
> Hi guys,
> 
> one of my dev teams uses the multiple source folder functionnality of
> Eclipse (in a single project). That is, they have a project that looks
> like:
> 
> MyProject
>    + src_1
>          + ...java packages and files...
>    + src_2
>          + ...java packages and files...
> 
> I've just seen that there's a "compileSourceRoots" property for the
> compiler plugin, but it is read-only. How is it possible then to put the
> source roots "src_1" and "src_2" in this property?
> 
> Thanks for your help!
> 
> Best Regards / Cordialement,
> Fabrice BELLINGARD
> DINQ/DSIN/INSI/EATE/IDVS/AIDV
> (+33) (01 61) 45 15 91  -  [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]

Reply via email to