Is there a way to detect the platform (Window / Linux) in which the website is running by Groovy / Grails?
Detecting the platform (Window or Linux) by Groovy/Grails
Asked Answered
System.properties['os.name']
will return the name of the OS, e.g. "Windows XP". So if you want to figure out whether you're running on Windows or not, you could do something like:
if (System.properties['os.name'].toLowerCase().contains('windows')) {
println "it's Windows"
} else {
println "it's not Windows"
}
Alternatively, org.apache.commons.lang.SystemUtils
(from the Apache commons-lang project) exposes some boolean constants that provide the same information as the code above, e.g.
SystemUtils.IS_OS_MAC
SystemUtils.IS_OS_WINDOWS
SystemUtils.IS_OS_UNIX
More specific constants such as these are also available
SystemUtils.IS_OS_WINDOWS_2000
SystemUtils.IS_OS_SOLARIS
SystemUtils.IS_OS_MAC_OSX
Or for short:
if (System.env['OS'].contains('Windows')){ println "it's Windows" }
Since Groovy provides a map access to getAt/putAt
methods.
© 2022 - 2024 — McMap. All rights reserved.
System.properties
won't help you since it contains the properties of the Jenkins instance. Instead you can useonWindows = (env['OS'] ?: "").toLowerCase().contains('windows');
– Biogen