From 7435e139f101775e70305a9554afc5b64f215848 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Thu, 2 Nov 2023 17:57:38 -0700 Subject: [PATCH] Added a method to return the provided scope classpath JARs --- src/main/java/rife/bld/BaseProject.java | 16 ++++++++++++++++ src/test/java/rife/bld/TestProject.java | 1 + src/test/java/rife/bld/TestWebProject.java | 1 + 3 files changed, 18 insertions(+) diff --git a/src/main/java/rife/bld/BaseProject.java b/src/main/java/rife/bld/BaseProject.java index 4421fc7..eb40fa0 100644 --- a/src/main/java/rife/bld/BaseProject.java +++ b/src/main/java/rife/bld/BaseProject.java @@ -1403,6 +1403,22 @@ public class BaseProject extends BuildExecutor { return classpath; } + /** + * Returns all the jar files that are in the provided scope classpath. + * + * @since 1.7.6 + */ + public List providedClasspathJars() { + // detect the jar files in the compile lib directory + var dir_abs = libCompileDirectory().getAbsoluteFile(); + var jar_files = FileUtils.getFileList(dir_abs, INCLUDED_JARS, EXCLUDED_JARS); + + // build the provided classpath + var classpath = new ArrayList<>(jar_files.stream().map(file -> new File(dir_abs, file)).toList()); + addLocalDependencies(classpath, Scope.provided); + return classpath; + } + /** * Returns all the jar files that are in the runtime scope classpath. *

diff --git a/src/test/java/rife/bld/TestProject.java b/src/test/java/rife/bld/TestProject.java index d432a9d..44de8e6 100644 --- a/src/test/java/rife/bld/TestProject.java +++ b/src/test/java/rife/bld/TestProject.java @@ -106,6 +106,7 @@ public class TestProject { assertNotNull(project.mainSourceFiles()); assertNotNull(project.testSourceFiles()); assertNotNull(project.compileClasspathJars()); + assertNotNull(project.providedClasspathJars()); assertNotNull(project.runtimeClasspathJars()); assertNotNull(project.standaloneClasspathJars()); assertNotNull(project.testClasspathJars()); diff --git a/src/test/java/rife/bld/TestWebProject.java b/src/test/java/rife/bld/TestWebProject.java index f794adc..7b9be96 100644 --- a/src/test/java/rife/bld/TestWebProject.java +++ b/src/test/java/rife/bld/TestWebProject.java @@ -96,6 +96,7 @@ public class TestWebProject { assertNotNull(project.mainSourceFiles()); assertNotNull(project.testSourceFiles()); assertNotNull(project.compileClasspathJars()); + assertNotNull(project.providedClasspathJars()); assertNotNull(project.runtimeClasspathJars()); assertNotNull(project.standaloneClasspathJars()); assertNotNull(project.testClasspathJars());