使用以下语法:
plugins({
id('application')
id 'java'
id('com.github.johnrengelman.shadow').version('4.0.1')
})
allprojects(
{
apply(plugin: 'application')
apply(plugin: 'java')
apply(plugin: 'com.github.johnrengelman.shadow')
repositories({
mavenCentral()
})
}
....
task copyDeps(type: Copy) {
from (configurations.runtime + configurations.testRuntime) exclude '*'
into '/tmp'
}
)
我的理解是,>
[apply()
方法正在传递键值plugin: 'application'
,其中键是plugin
&值是'application'
apply()
方法的语法方面,plugin: 'application'
不是可读的语法:
1)我如何理解此语法apply(plugin: 'application')
? plugin: 'application'
是否是通过方法String
传递的apply()
类型的参数?
2)
可以使用此语法
task copyDeps(type: Copy) { from (configurations.runtime + configurations.testRuntime) exclude '*' into '/tmp' }
写为
task( copyDeps([type: Copy], { from (configurations.runtime + configurations.testRuntime) exclude '*' into '/tmp' }) )
?
使用以下语法:plugins({id('application')id'java'id('com.github.johnrengelman.shadow')。version('4.0.1')})allprojects({apply(plugin: 'application')apply(plugin:'java')...
这是惯用的常规“快捷方式”。