我打包了一个包含带有gradle的webapp列表的zip。
最后,我想为zip添加密码。
我尝试使用commandLine传递linuz命令“zipcloak”,然后psw in required两次,我无法将其发送到命令行:
commandLine ("zipcloak", zip_name + ".zip")
setStandardInput ("psw")
setStandardInput ("psw")
也许有更好的解决方案来做到这一点......
由于
编辑:
我通过添加以下行来取得进展:
commandLine "zipcloak", "zipname.zip"
ByteArrayOutputStream bytes = new ByteArrayOutputStream()
PrintWriter out = new PrintWriter(bytes)
out.println("psw")
out.println("psw")
out.flush()
ByteArrayInputStream input = new ByteArrayInputStream(bytes.toByteArray())
standardInput = input
现在命令已执行,我在控制台上看到了密码的请求,但我仍然无法直接从脚本向此请求发送字符串,我必须在控制台上手动添加它。
编辑 - 解决方案:
我找到了解决方案:我没有在现有的zip中添加密码,而是将zip包装为密码
task encodeZip(type: Exec) {
workingDir path_target_workspace
commandLine "zip", "-P", "password", "-r", "zipname.zip", "file1", "file2", "fil3" .....
}
希望有所帮助