Buildship 中的自动任务执行

如果您使用 Eclipse,您可能熟悉 Buildship,它是用于 Gradle 的 Eclipse 插件。Buildship 3.1 版本允许您 在项目同步时运行任务自动构建,这是 Github 上投票率最高的两个问题。在这篇文章中,我们将总结为什么这对许多人来说是一个必不可少的功能,以及如何使用它。

扩展项目同步

Buildship 项目的同步功能将 Gradle 项目导入工作区,并配置它们以与 Java 工具链一起使用。当然,这只是冰山一角。还有许多其他工具和框架,Buildship 无法为所有框架提供配置。从 3.0 版本开始,有一个 公共 API 用于添加新的集成,但这需要编写 Eclipse 插件。大多数用户只想运行自定义任务来生成或更新配置文件。在每次更改后手动运行任务可能会令人沮丧且容易出错。在项目同步时自动运行任务有助于开发人员保持工作流程。

工作原理

要使用此新功能,您需要 Buildship 3.1 及更高版本,以及使用 Gradle 5.4 及更高版本的项目。在 Gradle 5.4 中,我们在 eclipse 插件中引入了一个新属性

plugins {
    id 'eclipse'
}

task generateCustomConfig {
    doLast {
          println "Generating custom configuration..."
    }
}

eclipse {
    synchronizationTasks generateCustomConfig
}

就是这样。当您导入或同步项目时,您将看到任务正在执行。

Executing tasks upon synchronization

请注意,同步任务是使用任务引用声明的。您实际上可以使用不同的类型:指定任务路径的字符串、任务列表等等。本质上,您可以使用任何 任务依赖类型

在 Eclipse 构建期间执行任务

除了上述功能外,我们还添加了在用户更改工作区中的资源并触发 Eclipse 构建时运行任务的选项。此功能可用于执行小型代码生成器和验证器任务。语法非常相似

plugins {
    id 'eclipse'
}

task generateCode {
    doLast {
        println 'Generating some code...'
    }
}

eclipse {
    autoBuildTasks generateCode
}

结论

此新功能将使许多开发人员和构建作者能够在 IDE 中提供更流畅的工作体验。请告诉我们您对此功能的看法,以及您如何在自己的设置中使用它。

讨论