Skip to content

Latest commit

 

History

History
66 lines (51 loc) · 2.02 KB

README.md

File metadata and controls

66 lines (51 loc) · 2.02 KB

Maven Central API documentation CI License: MPL-2.0

directories-jvm (Coursier fork)

Fork of of the dirs-dev/directories-jvm project, with coursier-specific changes

Compared to the upstream project, this fork:

  • still supports JDK 8
  • offers to use JNI rather than shelling out to a PowerShell script to call Windows APIs with JDK < 23
  • contains a number of fixes for Windows

How to use

Add dependency

Mill

def ivyDeps = Agg(
  ivy"io.get-coursier.util:directories:0.1.2"
)

Scala CLI

//> using dep io.get-coursier.util:directories:0.1.2

API

import dev.dirs.ProjectDirectories
val projDirs = ProjectDirectories.from(null, null, "MyApp")
projDirs.configDir // "/Users/name/Library/Application Support/MyApp"
projDirs.preferenceDir // "/Users/name/Library/Preferences/MyApp"
// ...

How to use with JNI fallback on JDK < 23

Add dependency

Mill

def ivyDeps = Agg(
  ivy"io.get-coursier.util:directories-jni:0.1.2"
)

Scala CLI

//> using dep io.get-coursier.util:directories-jni:0.1.2

API

import dev.dirs.ProjectDirectories
import dev.dirs.jni.WindowsJni
val projDirs = ProjectDirectories.from(null, null, "MyApp", WindowsJni.getJdkAwareSupplier())
projDirs.configDir // "/Users/name/Library/Application Support/MyApp"
projDirs.preferenceDir // "/Users/name/Library/Preferences/MyApp"
// ...