如何通过gradle项目属性进行gradle项目的snyk测试

问题描述 投票:0回答:1

如果我们为 gradle 的项目属性值传递环境变量

在 build.gradle 中说,我们使用:

url "https://${nexusDomain}/repository/gvhvid-maven-public"

然后为 gradle 项目运行

snyk test
失败并出现以下错误:

ERROR: Gradle Error (short):
> Could not get unknown property 'nexusDomain' for root project 'gvhvid-service' of type org.gradle.api.Project.

因为

snyk test
隐式运行以下命令:

/builds/gvhvid/gradlew' snykResolvedDepsJson -q --build-file /builds/gvhvid/build.gradle 
-Dorg.gradle.parallel= -Dorg.gradle.console=plain -I /tmp/tmp-580-SoPWUNy9S4bm--init.gradle 
--no-configuration-cache

可能的解决方案是通过 snyk CLI 传递项目属性的值:

nexusDomain

因此,我尝试使用 SNYK CLI 选项进行修复:

--configuration-attributes

但这似乎不起作用!

java gradle snyk
1个回答
0
投票
我发现的修复方法是将 gradle 项目属性的值传递给 gradle,因为环境变量对 gradle 可见,使用特殊前缀

ORG_GRADLE_PROJECT_

 进行构建

说:

ORG_GRADLE_PROJECT_nexusDomain="gvh.vid.com"
然后运行

snyk test

成功了! ☺️

© www.soinside.com 2019 - 2024. All rights reserved.