project.getBuild().setSourceDirectory() should modify the compile source roots 
automatically
--------------------------------------------------------------------------------------------

         Key: MNG-1945
         URL: http://jira.codehaus.org/browse/MNG-1945
     Project: Maven 2
        Type: Improvement

    Versions: 2.0.1    
    Reporter: Vincent Massol


Here's the code that I have in the clover plugin right now:

    private void redirectSourceDirectories()
    {
        String oldSourceDirectory = 
this.project.getBuild().getSourceDirectory();

        this.project.getBuild().setSourceDirectory( 
this.cloverOutputSourceDirectory );
        
        // Maven2 limitation: changing the source directory doesn't change the 
compile source roots
        Iterator sourceRoots = this.project.getCompileSourceRoots().iterator();
        for (int i = 0; sourceRoots.hasNext(); i++)
        {
            String sourceRoot = (String) 
this.project.getCompileSourceRoots().get( i );
            if (sourceRoot.equals(oldSourceDirectory))
            {
                this.project.getCompileSourceRoots().remove( i );

                // Note: Ideally we should add the new compile source root at 
the same place as the
                // one we're removing but there's no API for this...
                this.project.addCompileSourceRoot( 
this.project.getBuild().getSourceDirectory() );
            }
        }
    }

I believe this could be put in Maven core.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to