gpt4 book ai didi

groovy - Gradle中的自定义任务/插件

转载 作者:行者123 更新时间:2023-12-03 03:15:23 25 4
gpt4 key购买 nike

我正在尝试创建一个自定义任务/插件(都拒绝工作)以在我的gradle构建脚本中使用。

我正在使用groovy插件,并且想在单独的文件中声明任务/插件,而不是在build.gradle中声明。

我的项目树如下:

/project
.
|-gradle
|-src
|---main
|-----groovy
|-----java
|-----resources
|---test
|-----groovy
|-----java
|-----resources
|-build.gradle

我想做的是在 src/main/groovy中创建我的Task / Plugin类,然后在 build.gradle中使用它们。

让我举一个小例子。
src/main/groovy/mypackage/ TestTask.groovy:
package org.gradle.mypackage

import org.gradle.api.DefaultTask
import org.gradle.api.tasks.TaskAction

public class TestTask extends DefaultTask {

@TaskAction
def doAction() {

}
}

build.gradle
plugins {
id 'groovy'
}

sourceCompatibility = 1.7

repositories {
mavenCentral()
}

dependencies {

compile(
localGroovy(),
gradleApi()
)

testCompile(
[ group: 'junit', name: 'junit', version: '4.11' ]
)

}

task testTask(type: TestTask)

当我尝试使用gradle.build(清理,构建等)执行任何操作时,出现以下错误:

Error:(116, 0) Could not find property 'TestTask' on root project 'project'.



我究竟做错了什么?我尝试使用 importbuild.gradle中对任务进行 import mypackage.TestTask,但这也不起作用。

在我看来,groovy文件根本无法编译,而根据我在 docs中读取的内容,gradle应该负责编译并将其添加到类路径中。

最佳答案

这不是它的工作方式。如果需要提供按包组织的自定义插件和任务,请将整个代码放在buildSrc目录下。在$GRADLE_HOME/samples/multiProjectBuildSrc下,您可以找到很好的例子。
$GRADLE_HOME-gradle安装目录。

关于groovy - Gradle中的自定义任务/插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27380086/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com