如何使用Gradle将Build-Host属性添加到JAR清单?

时间:2012-01-19 16:53:46

标签: gradle

我正在学习使用Gradle将一些简单的构建脚本放在一起作为练习,我想将当前机器的主机名放在JAR清单中。我知道我可以使用以下语法设置清单属性:

jar { 
    manifest {
        attributes('Build-Host', 'foo')
    }
}

然而,我不知道的是获取当前计算机主机名的最佳方法。 Gradle本身是否以某种方式向脚本提供此内容?我搜索了docsuser guide,但没有找到任何内容。

2 个答案:

答案 0 :(得分:2)

Gradle未提供用于获取主机名的公共API。您必须自己完成,例如调用Java的InetAddress.localHost.hostName

答案 1 :(得分:1)

在Android上使用buildConfigFieldBuildConfig课程:

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()));