Scripts/convention/src/main/kotlin/io/gitlab/jfronny/scripts/OS.kt

20 lines
619 B
Kotlin

package io.gitlab.jfronny.scripts
object OS {
val TYPE: Type = with(System.getProperty("os.name", "generic").toLowerCase()) {
when {
contains("mac") || contains("darwin") -> Type.MAC_OS
contains("win") -> Type.WINDOWS
contains("nux") -> Type.LINUX
else -> throw UnsupportedOSException()
}
}
enum class Type(val displayName: String, val codename: String) {
WINDOWS("Windows", "windows"),
MAC_OS("OSX", "macos"),
LINUX("Linux", "linux");
}
class UnsupportedOSException() : RuntimeException("Unrecognized OS")
}