Search code examples
grailsgroovyplatform-detection

Detecting the platform (Window or Linux) by Groovy/Grails


Is there a way to detect the platform (Window / Linux) in which the website is running by Groovy / Grails?


Solution

  • 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