使用 Gradle Kotlin DSL 获取构建时间
Get build time with Gradle Kotlin DSL
在我的 Gradle 脚本的 build
任务中,我想在构建项目时获取当前时间戳并将其保存到项目资源目录中的文件中。如果我理解正确,我应该能够调用 Java 方法来实现这一点,例如(在 Kotlin 中):
val timestamp = SimpleDateFormat("yyyy-MM-dd-HH:mm:ss").format(Date())
尝试将我的脚本导入 IntelliJ 失败并出现未解决的引用错误(SimpleDateFormat
和 Date
)。
使用完全限定名也不起作用(java.util.Date
); IntelliJ 显示它试图将 java
视为 java
插件。
我的 build.gradle.kts
看起来像这样:
plugins {
`java-library`
kotlin("jvm") version "1.6.10"
java
idea
application
... other plugins ...
}
tasks.build {
val timestamp = SimpleDateFormat("MM-dd-yyyy_hh-mm").format(Date())
}
... other configuration ...
如何正确使用这些参考文献?我是否缺少特定的插件,或者我是否需要采用完全不同的方法?
您是否尝试过将 import 语句添加到 build.gradle.kts
文件的顶部?
很可能 java
指的是同名任务,因为您在任务范围内。
import java.util.Date
import java.text.SimpleDateFormat
plugins {
...
}
tasks.build {
val timestamp = SimpleDateFormat("MM-dd-yyyy_hh-mm").format(Date())
}
... other configuration ...
我建议不要使用 java.util.Date
class,而是查看较新的 java.time.Instant
class。
在我的 Gradle 脚本的 build
任务中,我想在构建项目时获取当前时间戳并将其保存到项目资源目录中的文件中。如果我理解正确,我应该能够调用 Java 方法来实现这一点,例如(在 Kotlin 中):
val timestamp = SimpleDateFormat("yyyy-MM-dd-HH:mm:ss").format(Date())
尝试将我的脚本导入 IntelliJ 失败并出现未解决的引用错误(SimpleDateFormat
和 Date
)。
使用完全限定名也不起作用(java.util.Date
); IntelliJ 显示它试图将 java
视为 java
插件。
我的 build.gradle.kts
看起来像这样:
plugins {
`java-library`
kotlin("jvm") version "1.6.10"
java
idea
application
... other plugins ...
}
tasks.build {
val timestamp = SimpleDateFormat("MM-dd-yyyy_hh-mm").format(Date())
}
... other configuration ...
如何正确使用这些参考文献?我是否缺少特定的插件,或者我是否需要采用完全不同的方法?
您是否尝试过将 import 语句添加到 build.gradle.kts
文件的顶部?
很可能 java
指的是同名任务,因为您在任务范围内。
import java.util.Date
import java.text.SimpleDateFormat
plugins {
...
}
tasks.build {
val timestamp = SimpleDateFormat("MM-dd-yyyy_hh-mm").format(Date())
}
... other configuration ...
我建议不要使用 java.util.Date
class,而是查看较新的 java.time.Instant
class。