A somewhat opinionated collection of assorted utilities for Java 11, designed for use alongside Google Guava (Toolbox no longer depends on Guava as of 2.2.0).
Toolbox has a long and storied history being carried around between various projects, with the first inklings of it appearing in 2012, before assuming its final form as Toolbox under the Chipper project in 2019.
Toolbox is distributed on Una's personal Maven for now, repo.unascribed.com. Here's how you can use it in Gradle:
repositories {
maven {
url "https://repo.unascribed.com"
}
}
And you can add Toolbox as a dependency as such:
dependencies {
implementation "com.playsawdust:toolbox:2.2.1"
}
If you want to use toolbox.io.Directories
, more specifically the platform autodetection (i.e.
without calling setProvider
) or the WindowsDirectoryProvider implementation, you need JNA and JNA
Platform on the classpath so that SHGetKnownFolderPath
can be invoked, as well as to perform
reliable platform detection. This dependency is not pulled in transitively by default because it's
a large library.
You can pull in the required JNA libraries in Gradle like so:
dependencies {
implementation 'net.java.dev.jna:jna:5.10.0'
implementation 'net.java.dev.jna:jna-platform:5.10.0'
}