gpt4 book ai didi

gradle:如何编写一个 groovy 任务

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

我一直在努力解决user guide .这似乎是我想做的一件非常简单的事情,但我就是不知道如何让它工作。

我想编写一个外部 groovy 文件来定义一个任务,然后在 build.gradle 中调用该任务.这是我的build.gradle文件:

// Apply the groovy plugin to add support for Groovy
apply plugin: 'groovy'

// In this section you declare where to find the dependencies of your project
repositories {
// Use 'jcenter' for resolving your dependencies.
// You can declare any Maven/Ivy/file repository here.
jcenter()
}

// In this section you declare the dependencies for your production and test code
dependencies {
// We use the latest groovy 2.x version for building this library
compile 'org.codehaus.groovy:groovy-all:2.4.7'
compile gradleApi()
compile localGroovy()
// We use the awesome Spock testing and specification framework
testCompile 'org.spockframework:spock-core:1.0-groovy-2.4'
testCompile 'junit:junit:4.12'
}

task myTask (type: my.package.MyTask)

然后,在 src/main/groovy/my/package 下我有 MyTask.groovy :
package my.package

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

class MyTask extends DefaultTask {
String greeting = 'hello from MyTask'

@TaskAction
def greet(){
println greeting
}
}

我什至无法列出任务:
$ gradle tasks

FAILURE: Build failed with an exception.

* Where:
Build file '/projects/gradle/build.gradle' line: 21

* What went wrong:
A problem occurred evaluating root project 'gradle'.
> Could not get unknown property 'my' for root project 'gradle' of type org.gradle.api.Project.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 3.193 secs

在这一点上,我完全不知道发生了什么或如何做我想做的事。这似乎是最简单的示例,但遵循用户指南让我无处可去。无论我做什么,我都无法摆脱那个异常(exception)。

如何编写一个 groovy 文件并使用它在构建文件中定义一个新任务?

最佳答案

您必须将您的 groovy 文件放在:

rootProjectDir/buildSrc/src/main/groovy

引用:
https://docs.gradle.org/current/userguide/custom_tasks.html#N14573

编辑

我从未尝试更改 buildSrc 的位置但这似乎是一个 Unresolved 问题:
https://issues.gradle.org/browse/GRADLE-2816

(如果我错了请纠正)

关于gradle:如何编写一个 groovy 任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38641057/

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