diff --git a/maven-core/src/main/java/org/apache/maven/project/MavenProject.java b/maven-core/src/main/java/org/apache/maven/project/MavenProject.java index 84a4090b23ca..b96ce1ecdc12 100644 --- a/maven-core/src/main/java/org/apache/maven/project/MavenProject.java +++ b/maven-core/src/main/java/org/apache/maven/project/MavenProject.java @@ -135,8 +135,12 @@ public class MavenProject implements Cloneable { private List compileSourceRoots = new ArrayList<>(); + private List generatedCompileSourceRoots = new ArrayList<>(); + private List testCompileSourceRoots = new ArrayList<>(); + private List generatedTestCompileSourceRoots = new ArrayList<>(); + private List scriptSourceRoots = new ArrayList<>(); private ArtifactRepository releaseArtifactRepository; @@ -308,18 +312,36 @@ public void addCompileSourceRoot(String path) { addPath(getCompileSourceRoots(), path); } + public void addGeneratedCompileSourceRoot(String path) { + addPath(getGeneratedCompileSourceRoots(), path); + addPath(getCompileSourceRoots(), path); + } + public void addTestCompileSourceRoot(String path) { addPath(getTestCompileSourceRoots(), path); } + public void addGeneratedTestCompileSourceRoot(String path) { + addPath(getGeneratedTestCompileSourceRoots(), path); + addPath(getTestCompileSourceRoots(), path); + } + public List getCompileSourceRoots() { return compileSourceRoots; } + public List getGeneratedCompileSourceRoots() { + return generatedCompileSourceRoots; + } + public List getTestCompileSourceRoots() { return testCompileSourceRoots; } + public List getGeneratedTestCompileSourceRoots() { + return generatedTestCompileSourceRoots; + } + public List getCompileClasspathElements() throws DependencyResolutionRequiredException { List list = new ArrayList<>(getArtifacts().size() + 1); @@ -1082,10 +1104,18 @@ private void deepCopy(MavenProject project) { setCompileSourceRoots((new ArrayList<>(project.getCompileSourceRoots()))); } + if (project.getGeneratedCompileSourceRoots() != null) { + generatedCompileSourceRoots = new ArrayList<>(project.getGeneratedCompileSourceRoots()); + } + if (project.getTestCompileSourceRoots() != null) { setTestCompileSourceRoots((new ArrayList<>(project.getTestCompileSourceRoots()))); } + if (project.getGeneratedTestCompileSourceRoots() != null) { + generatedTestCompileSourceRoots = new ArrayList<>(project.getGeneratedTestCompileSourceRoots()); + } + if (project.getScriptSourceRoots() != null) { setScriptSourceRoots((new ArrayList<>(project.getScriptSourceRoots()))); }