From 8762ce9e6a0c33a7687b8f0a0a3d0b4da86184e4 Mon Sep 17 00:00:00 2001 From: Zhenlei Huang Date: Thu, 25 May 2023 09:15:53 +0800 Subject: [PATCH] [MNG-7793] Add APIs for generated sources --- .../apache/maven/project/MavenProject.java | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) 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()))); }