Black Duck 未能成功 运行 gradlew dependencies
Black Duck fails to run gradlew dependencies successfully
自从 Gradle 6.7.1 升级到 7.0(这可能是一个转移注意力的问题)后,Black Duck 扫描我的 Gradle 项目现在失败了。
错误信息如下:
* Where:
Initialization script '/root/blackduck/runs/2022-01-18-19-06-00-216/shared/gradle/init-detect.gradle' line: 40
* What went wrong:
Execution failed for task ':dependencies'.
> No signature of method: org.gradle.api.tasks.diagnostics.internal.dependencies.AsciiDependencyReportRenderer.startProject() is applicable for argument types: (org.gradle.api.internal.project.DefaultProject_Decorated) values: [root project '<redacted>']
Possible solutions: startProject(org.gradle.api.tasks.diagnostics.internal.ProjectDetails), startProject(org.gradle.api.tasks.diagnostics.internal.ProjectDetails)
当 Gradle 构建 运行 没有 Black Duck 时,构建成功。
Black Duck 扫描 运行 使用以下命令:
bash detect.sh --blackduck.url=<redacted> --blackduck.trust.cert=true --blackduck.api.token=<redacted> --detect.project.name=<redacted> --detect.project.version.name=Developer --detect.source.path=.
这是我的全部 build.gradle
:
buildscript {
repositories {
maven {
url "https://<redacted>/nexus/repository/maven-central"
}
maven {
url "https://<redacted>/nexus/repository/thirdparty"
}
maven {
url "https://<redacted>/nexus/repository/gradle-plugins"
}
}
}
plugins {
id "java"
}
def nexusUsername = (System.getenv("NEXUS_USERNAME") != null ? System.getenv("NEXUS_USERNAME") : (project.hasProperty('NEXUS_USERNAME') ? "$NEXUS_USERNAME" : ""))
def nexusPassword = (System.getenv("NEXUS_PASSWORD") != null ? System.getenv("NEXUS_PASSWORD") : (project.hasProperty('NEXUS_PASSWORD') ? "$NEXUS_PASSWORD" : ""))
repositories {}
ext {}
dependencies {}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'idea'
sourceCompatibility = 11
targetCompatibility = 11
sourceSets {
main {
java {
srcDirs = ['src/main/java']
}
}
}
我的错误想法:
- 自动生成的
/root/blackduck/runs/2022-01-18-19-06-00-216/shared/gradle/init-detect.gradle
文件中有一个错误(可能 Black Duck 与 Gradle 7.0 不兼容)
- 我运行
detect.sh
脚本参数错误
- 我的
build.gradle
文件有问题
我正在寻找有关如何解决此问题的任何建议,以便我的 Black Duck 扫描可以再次 运行 成功。
问题是我使用的是旧版本的 Black Duck detect.sh
脚本。我使用的是 6.9.1 版。一旦我升级到使用版本 7.6.0,Black Duck 扫描再次工作。
要使用新版本的脚本,您可以执行以下操作(注意 URL 中的 detect7.sh
;如果您下载原版 detect.sh
,您将获得旧版本):
curl --fail https://detect.synopsys.com/detect7.sh -o detect.sh
export DETECT_LATEST_RELEASE_VERSION=7.6.0
bash detect.sh <args>
自从 Gradle 6.7.1 升级到 7.0(这可能是一个转移注意力的问题)后,Black Duck 扫描我的 Gradle 项目现在失败了。
错误信息如下:
* Where: Initialization script '/root/blackduck/runs/2022-01-18-19-06-00-216/shared/gradle/init-detect.gradle' line: 40 * What went wrong: Execution failed for task ':dependencies'. > No signature of method: org.gradle.api.tasks.diagnostics.internal.dependencies.AsciiDependencyReportRenderer.startProject() is applicable for argument types: (org.gradle.api.internal.project.DefaultProject_Decorated) values: [root project '<redacted>'] Possible solutions: startProject(org.gradle.api.tasks.diagnostics.internal.ProjectDetails), startProject(org.gradle.api.tasks.diagnostics.internal.ProjectDetails)
当 Gradle 构建 运行 没有 Black Duck 时,构建成功。
Black Duck 扫描 运行 使用以下命令:
bash detect.sh --blackduck.url=<redacted> --blackduck.trust.cert=true --blackduck.api.token=<redacted> --detect.project.name=<redacted> --detect.project.version.name=Developer --detect.source.path=.
这是我的全部 build.gradle
:
buildscript {
repositories {
maven {
url "https://<redacted>/nexus/repository/maven-central"
}
maven {
url "https://<redacted>/nexus/repository/thirdparty"
}
maven {
url "https://<redacted>/nexus/repository/gradle-plugins"
}
}
}
plugins {
id "java"
}
def nexusUsername = (System.getenv("NEXUS_USERNAME") != null ? System.getenv("NEXUS_USERNAME") : (project.hasProperty('NEXUS_USERNAME') ? "$NEXUS_USERNAME" : ""))
def nexusPassword = (System.getenv("NEXUS_PASSWORD") != null ? System.getenv("NEXUS_PASSWORD") : (project.hasProperty('NEXUS_PASSWORD') ? "$NEXUS_PASSWORD" : ""))
repositories {}
ext {}
dependencies {}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'idea'
sourceCompatibility = 11
targetCompatibility = 11
sourceSets {
main {
java {
srcDirs = ['src/main/java']
}
}
}
我的错误想法:
- 自动生成的
/root/blackduck/runs/2022-01-18-19-06-00-216/shared/gradle/init-detect.gradle
文件中有一个错误(可能 Black Duck 与 Gradle 7.0 不兼容) - 我运行
detect.sh
脚本参数错误 - 我的
build.gradle
文件有问题
我正在寻找有关如何解决此问题的任何建议,以便我的 Black Duck 扫描可以再次 运行 成功。
问题是我使用的是旧版本的 Black Duck detect.sh
脚本。我使用的是 6.9.1 版。一旦我升级到使用版本 7.6.0,Black Duck 扫描再次工作。
要使用新版本的脚本,您可以执行以下操作(注意 URL 中的 detect7.sh
;如果您下载原版 detect.sh
,您将获得旧版本):
curl --fail https://detect.synopsys.com/detect7.sh -o detect.sh
export DETECT_LATEST_RELEASE_VERSION=7.6.0
bash detect.sh <args>