'Using environment variables in gradle.properties file

I'm trying to set "org.gradle.java.home" property in gradle.properties file to run my Gradle project on Java 8 while the rest of my system uses Java 7. Hence, JAVA_HOME is pointing to JDK 7 and not 8.

The problem is that I can't hardcode it to the properties file because other developers might have a different path or version of Java 8. So, I wanted to use an environment variable in the properties file like this:

org.gradle.java.home=MY_PROJECT_GRADLE_JAVA_HOME

That didn't work.

Does anybody know how can I use environment variables in gradle.properties or has another solution?



Solution 1:[1]

You can edit your gradlew.bat file, and make all developers use this (wrapper) gradle, and not local installation. Edit it, and anywhere it uses the JAVA_HOME use your env variable instead.

Solution 2:[2]

It will not work. One possible solutions is to save hardcoded property to user's gradle.properties. Extract from docs:

You can also add properties to your project objects using properties files. You can place a gradle.properties file in the Gradle user home directory (defined by the “GRADLE_USER_HOME” environment variable, which if not set defaults to USER_HOME/.gradle) or in your project directory.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 AndreyKo
Solution 2 Opal