获取 gradle 构建开始的时间

Art*_*wak 6 gradle

如何Date在 Gradle 中获取表示构建过程开始时间的对象?

一些背景

在我正在编写的一个插件中,我需要将构建的日期和时间存储在构建的存档中(它主要用于在应用程序的标题栏中显示日期和构建号,以使 QA 工作更轻松)。

我希望正在构建的多个子项目具有相同的日期,因此理想情况下我只想使用构建的开始。作为一种解决方法,我将日期保存在静态字段中,但这会伤害我的眼睛。我在来源中看到有多个org.gradle.util.Clock实例保存此类信息,但我找不到从插件中检索一个的方法。

Art*_*wak 5

我已成功使用以下代码检索构建时间时钟:

Clock clock = project.gradle.services.get(BuildRequestMetaData.class).buildTimeClock
Date startDate = new Date(clock.getStartTime())
Run Code Online (Sandbox Code Playgroud)

尽管如此,它还远远不够理想,因为它使用 Gradle 内部 API:getServices()方法是在org.gradle.api.internal.GradleInternal接口中定义的。


Pet*_*ser 5

您的插件可以在根项目上设置/获取动态属性:

def root = project.rootProject
if (!root.hasProperty("startTime")) {
    root.startTime = new Date()
}
// do whatever necessary with root.startTime
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

11594 次

最近记录:

10 年,3 月 前