将用户项目特定的 Gradle 属性放在哪里?
Where to put user-project specific Gradle properties?
Gradle 属性存储到名为 gradle.properties
的文件中。可以位于项目根目录,也可以位于~/.gradle/
根据 this discussion on gradle.org,项目根目录中的 属性 文件应该包含项目特定的属性并且应该在源代码控制下(在我的例子中是 Git)。用户特定的属性应该在 ~/.gradle/gradle.properties
中,这样它们就不会在 SCM 下提交。
但是我应该将特定项目中特定用户的属性放在哪里,比方说中央 Git 存储库的凭据?
我正在使用需要属性 gitUsername
和 gitPassword
的 jgitflow-gradle-plugin
。这些属性绝对不应该被提交。因此不能放在项目根目录下的gradle.properties中。另一方面,它们不应该被不同的项目共享,因为我可以使用不同的 Git 具有不同凭据的中央存储库。
有没有办法在一个项目中使用多个 gradle.properties
文件?其中一个将被提交,另一个将被 git-忽略。
你应该试试 Gradle Properties Plugin。它增强了 Gradle 从各种属性文件加载属性的方式。
1# 设置:
plugins {
id 'net.saliman.properties' version '1.4.6'
}
或旧方法 (Gradle <= 2.0)
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'net.saliman:gradle-properties-plugin:1.4.6'
}
}
apply plugin: 'net.saliman.properties'
2#在工程目录下创建gradle-local.properties
文件,git忽略。将您的凭据添加到其中。
3# 将原始 gradle.properties
置于版本控制之下,并在其中保留您希望通过 git
共享的属性
Gradle 属性存储到名为 gradle.properties
的文件中。可以位于项目根目录,也可以位于~/.gradle/
根据 this discussion on gradle.org,项目根目录中的 属性 文件应该包含项目特定的属性并且应该在源代码控制下(在我的例子中是 Git)。用户特定的属性应该在 ~/.gradle/gradle.properties
中,这样它们就不会在 SCM 下提交。
但是我应该将特定项目中特定用户的属性放在哪里,比方说中央 Git 存储库的凭据?
我正在使用需要属性 gitUsername
和 gitPassword
的 jgitflow-gradle-plugin
。这些属性绝对不应该被提交。因此不能放在项目根目录下的gradle.properties中。另一方面,它们不应该被不同的项目共享,因为我可以使用不同的 Git 具有不同凭据的中央存储库。
有没有办法在一个项目中使用多个 gradle.properties
文件?其中一个将被提交,另一个将被 git-忽略。
你应该试试 Gradle Properties Plugin。它增强了 Gradle 从各种属性文件加载属性的方式。
1# 设置:
plugins {
id 'net.saliman.properties' version '1.4.6'
}
或旧方法 (Gradle <= 2.0)
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'net.saliman:gradle-properties-plugin:1.4.6'
}
}
apply plugin: 'net.saliman.properties'
2#在工程目录下创建gradle-local.properties
文件,git忽略。将您的凭据添加到其中。
3# 将原始 gradle.properties
置于版本控制之下,并在其中保留您希望通过 git