很长一段时间我使用Gradle和java
插件,Gradle Witness来验证Maven依赖。 e.g:
apply plugin: 'java'
apply plugin: 'witness'
dependencies {
compile "io.netty:netty-all:4.0.30.Final"
}
dependencyVerification {
verify = [
'io.netty:netty-all:1578cbb1354f02951c6ce5d374962e703afb882321164db9e3a2cfb141a1ebeb'
]
}
我现在想切换到java-library
插件,但它似乎与Witness不兼容。构建失败,并显示以下错误:No dependency for integrity assertion found: io.netty:netty-all
apply plugin: 'java-library'
apply plugin: 'witness'
dependencies {
implementation "io.netty:netty-all:4.0.30.Final"
}
dependencyVerification {
verify = [
'io.netty:netty-all:1578cbb1354f02951c6ce5d374962e703afb882321164db9e3a2cfb141a1ebeb'
]
}
我所从事的项目是安全敏感的,我们需要能够验证依赖项的确切校验和(而不仅仅是PGP
签名)。
有没有办法帮助Witness
解决问题或使用具有相同功能的其他插件?不幸的是见证hasn't been updated since 2014并且似乎没有维护。
答案 0 :(得分:0)
checksum-dependency-plugin应该涵盖所有情况。
示例集成:https://github.com/trezor/trezor-android/pull/53
主要功能:
allDependencies
,基本上是Gradle的默认dependencies
任务,已添加到所有项目中。rootDir/build/checksum/checksum.xml
文件(因此您可以对其进行查看)。最重要的是,您可以添加-PchecksumUpdate
来更新校验和/ PGP密钥。