在何处放置用户项目特定的Gradle属性?

时间:2019-01-04 13:32:23

标签: git gradle git-flow

Gradle属性存储到名为gradle.properties的文件中。它可以位于项目根目录或~/.gradle/

根据this discussion on gradle.org,项目根目录中的属性文件应包含项目特定的属性,并且应受源代码控制(在我的情况下为Git)。用户特定的属性应位于~/.gradle/gradle.properties中,这样它们就不会在SCM下提交。

但是我应该在特定项目中放置特定于特定用户的属性,比如中央Git存储库的凭据?

我使用的jgitflow-gradle-plugin需要属性gitUsernamegitPassword。绝对不应承诺这些属性。因此,它们不能放在项目根目录的gradle.properties中。另一方面,它们不应由不同的项目共享,因为我可以使用具有不同凭据的不同Git中央存储库。

是否可以在一个项目中使用多个gradle.properties文件?其中一个将被提交,而另一个将被忽略。

1 个答案:

答案 0 :(得分:0)

您应该尝试使用Gradle Properties Plugin。它增强了Gradle从各种属性文件加载属性的方式。

1#进行设置:

plugins {
  id 'net.saliman.properties' version '1.4.6'
}

还是旧方法(等级<= 2.0)

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'net.saliman:gradle-properties-plugin:1.4.6'
    }
}

apply plugin: 'net.saliman.properties'

2#在项目目录中创建一个gradle-local.properties文件,并对其进行gitignore。在其中添加您的凭据。

3#将原始gradle.properties保留在版本控制下,并在其中保留要通过git共享的属性