我正在学习使用Gradle将一些简单的构建脚本放在一起作为练习,我想将当前机器的主机名放在JAR清单中。我知道我可以使用以下语法设置清单属性:
jar {
manifest {
attributes('Build-Host', 'foo')
}
}
然而,我不知道的是获取当前计算机主机名的最佳方法。 Gradle本身是否以某种方式向脚本提供此内容?我搜索了docs和user guide,但没有找到任何内容。
答案 0 :(得分:2)
Gradle未提供用于获取主机名的公共API。您必须自己完成,例如调用Java的InetAddress.localHost.hostName
。
答案 1 :(得分:1)
在Android上使用buildConfigField
和BuildConfig
课程:
build.gradle
defaultConfig {
// ...
buildConfigField 'long', 'BUILD_DATE', System.currentTimeMillis() + 'L'
buildConfigField 'String', 'BUILD_HOST', '"' + InetAddress.getLocalHost().getCanonicalHostName() + '"'
}
App.java
DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ", Locale.US);
Log.i(TAG, "BuildHost: " + BuildConfig.BUILD_HOST);
Log.i(TAG, "BuildDate: " + df.format(new Date(BuildConfig.BUILD_DATE)));
Log.i(TAG, "LaunchTime: " + df.format(Calendar.getInstance().getTime()));