Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Where to put the gradle.properties file

I am following the Artifactory 1-min Setup. I have Artifactory up and running on my localhost, and now I am trying to integrate it with Intellij/Gradle.

The artifactory webapp gives a gradle.properties and build.gradle file, so I'm trying to start with adding these to my IntelliJ project. However, I don't know where to put the gradle.properties file.

I tried copying thegradle.properties contents (key=value pairs) to gradle/wrapper/gradle-wrapper.properties, unfortunately doing that does not make the keys accessible in the build.gradle file. Any ideas?

like image 231
bcorso Avatar asked May 19 '15 18:05

bcorso


People also ask

Where do Gradle wrapper properties go?

The Wrapper shell script and batch file reside in the root directory of a single or multi-project Gradle build. You will need to reference the correct path to those files in case you want to execute the build from a subproject directory e.g. ../../gradlew tasks .


2 Answers

Gradle looks for gradle.properties files in these places:

  • in project build dir (that is where your build script is)
  • in sub-project dir
  • in gradle user home (defined by the GRADLE_USER_HOME environment variable, which if not set defaults to USER_HOME/.gradle)

Properties from one file will override the properties from the previous ones (so file in gradle user home has precedence over the others, and file in sub-project has precedence over the one in project root).

Reference: https://gradle.org/docs/current/userguide/build_environment.html

like image 141
ericbn Avatar answered Oct 13 '22 06:10

ericbn


Actually there are 3 places where gradle.properties can be placed:

  1. Under gradle user home directory defined by the GRADLE_USER_HOME environment variable, which if not set defaults to USER_HOME/.gradle
  2. The sub-project directory (myProject2 in your case)
  3. The root project directory (under myProject)

Gradle looks for gradle.properties in all these places while giving precedence to properties definition based on the order above. So for example, for a property defined in gradle user home directory (#1) and the sub-project (#2) its value will be taken from gradle user home directory (#1).

You can find more details about it in gradle documentation here.

like image 38
Amnon Shochot Avatar answered Oct 13 '22 04:10

Amnon Shochot