Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
DRY,有更好的gradle依赖声明吗?_Gradle_Dependency Management - Fatal编程技术网

DRY,有更好的gradle依赖声明吗?

DRY,有更好的gradle依赖声明吗?,gradle,dependency-management,Gradle,Dependency Management,有没有更好的方法来声明来自同一组(例如com.android.support)的多个包(例如“appcompat-v7”)的同一版本(例如“23.4.0”)呢 实际申报: ... def androidSupport = '23.4.0' def rxBinding = '0.4.0' dependencies { ... // android support compile "com.android.support:appcompat-v7:$androidSupp

有没有更好的方法来声明来自同一组(例如com.android.support)的多个包(例如“appcompat-v7”)的同一版本(例如“23.4.0”)呢

实际申报:

...
def androidSupport = '23.4.0'
def rxBinding = '0.4.0'

dependencies {
    ...

    // android support
    compile "com.android.support:appcompat-v7:$androidSupport"
    compile "com.android.support:design:$androidSupport"
    compile "com.android.support:percent:$androidSupport"

    // rxJava
    compile "com.jakewharton.rxbinding:rxbinding:$rxBinding"
    compile "com.jakewharton.rxbinding:rxbinding-support-v4:$rxBinding"
    compile "com.jakewharton.rxbinding:rxbinding-appcompat-v7:$rxBinding"
    compile "com.jakewharton.rxbinding:rxbinding-design:$rxBinding"
    compile "com.jakewharton.rxbinding:rxbinding-recyclerview-v7:$rxBinding"
...
有可能做那样的事吗

...
compile(group: 'com.android.support', version: '23.4.0') {
    modules: "appcompat-v7", "design", "percent" 
}
...

一旦您意识到Gradle构建脚本只是一个Groovy脚本,这意味着这些“编译”行中的每一行都只是方法调用,您就开始看到许多可能性


例如,指定工件名称的“内联”数组,对其调用“each()”,并传递一个闭包,该闭包指定“
编译组:$it:$version
”(或类似的内容)。

一旦您意识到Gradle构建脚本只是Groovy脚本,这意味着这些“编译”行中的每一行都只是方法调用,你开始看到许多可能性

例如,指定工件名称的“内联”数组,对其调用“each()”,并传递一个闭包,该闭包指定“
compilegroup:$it:$version
”(或类似的内容)。

def multiArtifactDependency={String group,String version,List artifacts->artifacts.each{compile”${group}:${it}:${version}
multiArtifactDependency('com.android.support','23.3.0',['appcompat-v7','design']))
multiArtifactDependency('com.squareup.Refundation2'、'2.0.2'、['Refundation'、'converter gson'、'adapter rxjava']))
def multiArtifactDependency={String group,String version,List artifacts->artifacts.each{compile“${group}:${it}:${version}
multiArtifactDependency('com.android.support','23.3.0',['appcompat-v7','design']))
multiArtifactDependency('com.squareup.Refundation2'、'2.0.2'、['Refundation'、'converter gson'、'adapter rxjava']))
def multiArtifactDependency = { String group, String version, List<String> artifacts -> artifacts.each { compile "${group}:${it}:${version}" } }

multiArtifactDependency('com.android.support', '23.3.0', ['appcompat-v7', 'design'])
multiArtifactDependency('com.squareup.retrofit2', '2.0.2', ['retrofit', 'converter-gson', 'adapter-rxjava'])