मेरी एक आवश्यकता है कि मेरी कुछ निर्भरताएँ एक अलग फ़ाइल में हैं। मैं यह कैसे हासिल कर सकता हूं? Docs.gradle.org पर नमूनों में से एक है:
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
बंद। मुझे सही रास्ते पर लाने के लिए ओपल का धन्यवाद।
उत्तर:
जवाब के लिए 2 № 1हेयर यू गो:
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
}