/ / क्या मैं अपनी निर्भरता और रिपॉजिटरी दूसरी फाइल में डाल सकता हूँ - gradle, android-gradle

क्या मैं अपनी निर्भरताओं और भंडारों को किसी अन्य फाइल में रख सकता हूं? - gradle, एंड्रॉइड-ग्रेडल

मेरी एक आवश्यकता है कि मेरी कुछ निर्भरताएँ एक अलग फ़ाइल में हैं। मैं यह कैसे हासिल कर सकता हूं? 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
}