将用户项目特定的 Gradle 属性放在哪里?

Cim*_*man 7 git gradle git-flow

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

根据gradle.org上的这个讨论,项目根目录中的属性文件应该包含项目特定的属性并且应该在源代码控制之下(在我的例子中是 Git)。用户特定的属性应该在, ~/.gradle/gradle.properties以便它们不会在 SCM 下提交。

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

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

有没有办法gradle.properties在一个项目中使用多个文件?其中一个将被提交,另一个将被忽略。

ToY*_*nos 3

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

1#设置:

plugins {
  id 'net.saliman.properties' version '1.4.6'
}
Run Code Online (Sandbox Code Playgroud)

或者老方法(Gradle <= 2.0)

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

apply plugin: 'net.saliman.properties'
Run Code Online (Sandbox Code Playgroud)

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

3#将原始版本gradle.properties置于版本控制之下,并保留您想要通过 git 共享的属性