首页 > 解决方案 > 使用 Gradle 在插件中配置 Zip/Copy 任务

问题描述

我正在尝试Zip在插件中创建一个任务:

class MyPlugin implements Plugin<Project> {

    @Override
    void apply(Project project) {

        Zip buildFunctionArchive = project.tasks.create("buildFunctionArchive", Zip.class) {

            archiveClassifier = "yolo"
            from(project.getTasksByName("compileJava", true))
        }
    }
}

但是由于某种原因,即使compileJava任务存在于我使用插件的项目表单中。当我打印调试输出时,我得到:NO-SOURCE

2020-10-05T02:16:03.565+1100 [LIFECYCLE] [class org.gradle.internal.buildevents.TaskExecutionLogger] > Task :buildFunctionArchive NO-SOURCE

如果我from在我的客户项目中配置:

buildFunctionArchive{
    from compileJava
}

这行得通,我什至yolo在存档名称中看到了 。但是如果我删除from compileJava

buildFunctionArchive{
}

除了一起删除配置并运行gradle buildFunctionArchive 任务不会创建存档,即使我在MyPlugin课堂上配置了这个,我也会收到NO-SOURCE错误消息。我错过了什么?我想Zip在我的插件中定义一个任务,但没有运气。

标签: gradlegradle-plugin

解决方案


推荐阅读