【发布时间】:2016-05-27 23:29:51
【问题描述】:
我正在处理一个 Scala 项目,该项目需要计算使用 sbt-assembly 生成的 jar 文件的 base64 编码 SHA-256 哈希。我写了一个简单的 Scala 方法来完成这个:
def computeCodeHash(file: File): File = {
//..do some work and write the hash to a new file with a '.sha256' extension
}
现在我需要创建一个 SBT 命令,我可以调用它来计算这个哈希值。我希望能够做这样的事情:
> codehash "target/scala-2.11/foo.jar"
并让该任务调用我的computeCodeHash 方法。对于额外的自动化点数,我还想弄清楚如何扩展构建,以便sbt-assembly 插件创建的assembly 任务也运行我的computeCodeHash 方法。
我已尝试通读有关输入任务和设置以及解析器的文档,但我对 SBT 的了解有限,我无法弄清楚如何完成看似非常基本的任务。我也尝试阅读sbt-assembly 源代码,但我无法理解它。
任何指针将不胜感激。
【问题讨论】: