私はいくつかの依存関係が別々のファイルにあるという要件を持っています。どうすればこれを達成できますか? docs.gradle.orgのサンプルの1つは次のとおりです。
List groovy = ["org.codehaus.groovy:groovy-all:2.4.7@jar",
"commons-cli:commons-cli:1.0@jar",
"org.apache.ant:ant:1.9.6@jar"]
List hibernate = ["org.hibernate:hibernate:3.0.5@jar",
"somegroup:someorg:1.0@jar"]
dependencies {
runtime groovy, hibernate
}
このようなことはうまくいくでしょうが、同じファイルにリポジトリを指定することもできます。
編集:
私が思いついた解決策
stuff.gradle
repositories {
maven {
credentials {
username "stuff"
password "stuff"
}
url "stuff"
}
}
dependencies {
compile "things"
}
そして build.gradle
apply from: "path/to/stuff.gradle"
後 dependencies
私はそれが違いを生むかどうかは分かりませんが、驚くほど単純でした。 build.gradle
適用ステートメントとは別に、それはまだ正常です repositories
そして dependencies
閉鎖する。私を正しい軌道に乗せるためのオパールのおかげです。
回答:
回答№1は2どうぞ:
lol.gradle:
ext.repos = { mavenCentral(); mavenLocal() }
ext.groovy = [
"org.codehaus.groovy:groovy-all:2.4.7@jar",
"commons-cli:commons-cli:1.0@jar",
"org.apache.ant:ant:1.9.6@jar",
]
ext.hibernate = [
"org.hibernate:hibernate:3.0.5@jar",
]
build.gradle
apply from: "lol.gradle"
apply plugin: "java"
repositories repos
dependencies {
runtime groovy, hibernate
}
リポジトリはリストとして保持できるため、回避策なしでリポジトリを保持する最も簡単な方法は、クロージャを使用することです。リポジトリを保持するためにリストを使用すると、両方とものメソッド解決エラーで失敗します mavenLocal
そして mavenCentral
.
リポジトリをリストとして保持したい場合は、次のコードを使用できます。
LOL.gradle
ext.repos = ["mavenCentral", "mavenLocal",]
ext.groovy = [
"org.codehaus.groovy:groovy-all:2.4.7@jar",
"commons-cli:commons-cli:1.0@jar",
"org.apache.ant:ant:1.9.6@jar",
]
ext.hibernate = [
"org.hibernate:hibernate:3.0.5@jar",
]
build.gradle
apply from: "lol.gradle"
apply plugin: "java"
repositories { r ->
repos.each { n -> r."$n"() }
}
dependencies {
runtime groovy, hibernate
}