Utility library to parse class path inputs, and return the corresponding files. It
handles simple globs (/dir/*, /dir/*.jar) and Java properties (${spark.home}/jars/*).
Add it as a dependency:
//> using lib "io.get-coursier::class-path-util:0.1.1"Import it:
import coursier.cputil.ClassPathUtilUse it like
ClassPathUtil.classPath("/foo/${thing}/*:/a/b.jar") // Seq[java.nio.file.Path]Just like the format that java -cp accepts, paths are split
by an OS-dependent separator: ; on Windows, : on Linux / macOS
(and other Unix systems). class-path-util uses the separator
returned by java.io.File.pathSeparator.
* and *.jar are accepted at the end of a path. Case doesn't matter
(*.JAR works too, for example). Both * and *.jar are equivalent,
and make class-path-util add all the JARs (files ending in .jar,
comparison done in a case-insensitive way) of the underlying directory
to the class path.
The API of this library is minimal (one singleton with 2 methods).
It intends to respect semantic versioning, even
with 0.x versions (major version 0 subjected to the same
constraints as 1, 2, etc.).