使用摇,我想定义取决于一堆可执行文件(例如,规则exe
,dll
等等)。但是,在使用它们之前,需要对它们进行数字签名。由于“签名”实际上并不会产生新文件,我如何确保我的规则仅在文件签名后才依赖于文件?
编辑:消除歧义是有序的。我的规则会生成其中一些文件,但不是全部。有些是第三方的,并且是我们存储库的一部分。因此,以某种方式我需要在这些静态文件签名后依赖它们。
一种简单的方法是使签名步骤首先进行复制,因此:
"signed//*" *> \out -> do
copyFile ("unsigned" </> dropDirectory1 out) out
cmd "signer" out
另一种方法是在签名时生成一个文件,以提醒该文件已签名:
"programs//*.key" *> \out -> do
writeFile' out ""
cmd "signer" $ dropExtension out
不建议使用第二种表述,因为通常规则不应修改其他规则所产生的价值-很容易进行过多的重建(我想您可能会在这里进行)。
如果您需要额外的文件,那么对于生成的exe文件,只需一步生成并对其进行签名-如果要生成文件然后编辑其属性(editbin
在Windows上),这是一种相当常见的模式。对于未生成的文件,可以在签入之前对其进行签名,但是无论如何,修改存储库中的源文件(这就是第三方的东西)可能是个坏主意,因此,复制可能会更好。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句