How to set environment vars in IntelliJ for Gradle tasks

gradle, intellij-idea

Solution

Make the `System.properties` available in the `bootRun` (or other) tasks.

bootRun.systemProperties = System.properties

This way we can set in IntelliJ VM Options like `-Dspring.profiles.active=dev`.

Problem

the easiest way to pass spring profiles to `gradle bootRun` is (for me) by environment variable (e.g. `SPRING_PROFILES_ACTIVE`), when run on commandline. Unlike the Application configurations, the config for gradle tasks does not provide an input for environment variables. And as VM options don't get picked up either as it seems, I can not run those tasks from the IDE. I am aware, that I could start IntelliJ with the envvar set, but this seems rather cumbersome. So what I need is the IntelliJ pendant for `SPRING_PROFILES_ACTIVE=dev,testdb gradle bootRun`, unless there is a good reason, they have left this out. System is linux, intellij 14. The project in question is using springboot and I want to move over from running `main` in IntelliJ to running with springloaded+`bootRun` and separate `compileGroovy` calls as IntelliJ is not "understanding" the gradle file completely and therefor hides errors.

Original source