Gradle-apply()方法的语法

问题描述 投票:0回答:1

使用以下语法:

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')...

java gradle groovy closures
1个回答
1
投票

这是惯用的常规“快捷方式”。

© www.soinside.com 2019 - 2024. All rights reserved.