【问题标题】:Not able to extend a Gradle task无法扩展 Gradle 任务
【发布时间】:2018-11-22 15:56:11
【问题描述】:

我是 Gradle 的新手(我们正在从 SBT 切换)并使用它来构建使用 Play Framework 制作的应用程序。

我需要在 Gradle 处理它们之前对资源添加一些过滤(我想将一些构建属性注入到配置中以使它们可从代码中使用)。

我已经设法“扩展”了 java processResources 任务,但由于某种原因,我不能对 play processPlayBinaryPlayResources 做同样的事情。

processPlayBinaryPlayResources {
    filter ReplaceTokens, tokens: [
            "applicationVersion": version
    ]
}

即使这样也行不通:

def playVersion = "2.6.20"
def scalaVersion = "2.12"
def javaVersion = "1.8"

apply plugin: "java"
apply plugin: "idea"
apply plugin: "play"

model {
    components {
        play {
            platform play: playVersion, scala: scalaVersion, java: javaVersion
            injectedRoutesGenerator = true
        }
    }
}

processPlayBinaryPlayResources {
    doLast {
        println("ok")
    }
}

dependencies {
    compile "io.vavr:vavr:0.9.2"
    compile "org.imgscalr:imgscalr-lib:4.2"
    compile "com.typesafe.play:play-guice_${scalaVersion}:2.6.20"
    compile "com.typesafe.akka:akka-http_${scalaVersion}:10.1.5"
    compile "com.typesafe.play:filters-helpers_${scalaVersion}:2.6.20"
    compile "ch.qos.logback:logback-classic:1.2.3"
}

它产生:

> Could not find method processPlayBinaryPlayResources() for arguments [build_6grwx7eowye82rdqpu4qlinur$_run_closure2@582d9dbd] on root project 'myproject' of type org.gradle.api.Project.

知道为什么吗?

【问题讨论】:

    标签: gradle playback


    【解决方案1】:

    您找到任务processPlayBinaryPlayResources 的假设是基于此,java 插件会自动为所有源集添加一个 processResources 任务 process<sourceset_name>Resources 。仅当使用 java pugins sourceSets 方法添加源集时才会发生这种情况,在这种情况下 PlayBinaryPlay 不是。 play 插件使用自己的 DSL 来配置源集。 因此,当您尝试扩展 processPlayBinaryPlayResources 时,它不会发生,因为首先不存在该名称的此类任务,因此在将其委托给 Project 时,您最终会得到这个

     Could not find method processPlayBinaryPlayResources() for arguments [build_6grwx7eowye82rdqpu4qlinur$_run_closure2@582d9dbd] on root project 'myproject' of type org.gradle.api.Project.
    

    最后我要补充一点,processPlayBinaryPlayResources任务不是play插件添加的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 1970-01-01
      • 2015-07-01
      • 2017-11-20
      相关资源
      最近更新 更多