Gradle:从编译闭包中排除并包含多个组/模块

shi*_*.r. 8 gradle

可能尚未提供此语法,但我要求避免冗余代码.现在我排除这样的罐子

 compile ('com.mygroup:myJar:0.1.1-M1-SNAPSHOT+') {
    exclude group: 'org.apache.xmlgraphics'
    exclude group:'org.apache.avalon.framework'
    exclude group:'net.engio'
    exclude group: 'com.google.guava'
}
Run Code Online (Sandbox Code Playgroud)

如何在一行代码中排除多个组/模块,例如,此语法

compile ('com.mygroup:myJar:0.1.1-M1-SNAPSHOT+'){
    exclude group: ['org.apache.xmlgraphics', 'org.apache.avalon.framework', 'net.engio', 'com.google.guava']
}
Run Code Online (Sandbox Code Playgroud)

或者是否有任何其他短代码做同样的事情.

谢谢.

Oli*_*rth 6

你可以这样做:

compile ('com.mygroup:myJar:0.1.1-M1-SNAPSHOT+'){
    ['org.apache.xmlgraphics', 'org.apache.avalon.framework', 'net.engio', 'com.google.guava'].each {
        exclude group: it
    }
}
Run Code Online (Sandbox Code Playgroud)

请注意,这是利用Groovy功能,而不是Gradle功能.

另请注意,我不认为这include是一个在这种情况下的事情(请参阅此处的方法摘要).