[ https://jira.codehaus.org/browse/MNG-1945?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jason van Zyl closed MNG-1945. ------------------------------ Resolution: Not A Bug > project.getBuild().setSourceDirectory() should modify the compile source > roots automatically > -------------------------------------------------------------------------------------------- > > Key: MNG-1945 > URL: https://jira.codehaus.org/browse/MNG-1945 > Project: Maven 2 & 3 > Issue Type: Improvement > Components: POM > Affects Versions: 2.0.1 > Reporter: Vincent Massol > Assignee: Jason van Zyl > Fix For: Issues to be reviewed for 3.x > > > 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, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira