相关疑难解决方法(0)

什么是gradle中的运算符<<(双倍小于)?

以下代码定义了4个gradle任务:

4.times { counter ->
    task "task$counter" << {
        println "I'm task number $counter"
    }
}
Run Code Online (Sandbox Code Playgroud)

但什么是<<运营商?它在groovy中做了什么?

groovy gradle

33
推荐指数
2
解决办法
1万
查看次数

Gradle任务不应自动执行

我在gradle中定义一个任务:

task releaseCandidate(type: Exec) {
    commandLine 'git', 'checkout', 'develop'

    // Increment version code in Manifest
    String manifest = new File('AndroidManifest.xml').getText('UTF-8')
    Pattern pattern = Pattern.compile('android:versionCode="([0-9]+)"')
    Matcher matcher = pattern.matcher(manifest)
    matcher.find()
    int newVersionCode = Integer.parseInt(matcher.group(1)) + 1
    manifest = manifest.replaceAll(
        "android:versionCode=\"([0-9]+)\"", "android:versionCode=\"$newVersionCode\""
    )
    new File('AndroidManifest.xml').write(manifest, 'UTF-8')

    commandLine 'git', 'diff'
}
Run Code Online (Sandbox Code Playgroud)

只有当我明确地将其称为时,我才想执行它gradle releaseCandidate.但是,当我运行任何其他任务时,例如gradle assembleDebug,它还会运行任务releaseCandidate.我不希望这种行为发生.没有任务取决于releaseCandidate,反之亦然.

我的项目是一个Android应用程序,所以我使用的是androidgradle插件.

gradle android-gradle-plugin

26
推荐指数
2
解决办法
1万
查看次数

在groovy中"<<"(双倍小于)的目的是什么

我在一些代码中看到了我无法理解<<的目的,就像在下面的示例代码中一样

def renderFiles(args) {
   def model = []
   args.each { fileArgs ->
      model << createModel(fileArgs.id,fileArgs.path,fileArgs.ext)
   }
   render view:'show', model: [files:model]
}
Run Code Online (Sandbox Code Playgroud)

groovy

12
推荐指数
2
解决办法
6476
查看次数

标签 统计

gradle ×2

groovy ×2

android-gradle-plugin ×1