Where to put the gradle.properties file

Intellij IdeaGradleArtifactory

Intellij Idea Problem Overview


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?

Intellij Idea Solutions


Solution 1 - Intellij Idea

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

Solution 2 - Intellij Idea

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.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionbcorsoView Question on Stackoverflow
Solution 1 - Intellij IdeaericbnView Answer on Stackoverflow
Solution 2 - Intellij IdeaAmnon ShochotView Answer on Stackoverflow