build.gradle
是一個Groovy文件,所以你可以使用if
語句來動態地改變你的依賴,就像這樣:
dependencies {
// other dependencies
if (someFlag) {
compile("org.hsqldb:hsqldb")
} else {
compile("mysql:mysql-connector-java:5.1.31")
}
}
要配置這樣的一個可以使用project properties:
dependencies {
// other dependencies
if (!project.hasProperty("targetEnv") || targetEnv == "dev") {
compile("org.hsqldb:hsqldb")
} else if (targetEnv == "prod" || targetEnv == "qa") {
compile("mysql:mysql-connector-java:5.1.31")
} else {
throw new InvalidUserDataException("Unknown target environment '$targetEnv'")
}
}
現在,當gradle與一起運行時,將使用mysql依賴項或-PtargetEnv=prod
,hsqldb - 對於未指定targetEnv
或設置爲dev
的情況,並且如果傳遞某個未知環境名稱,則最終會拋出異常。