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']
    }
  }
}

我的错误想法:

我正在寻找有关如何解决此问题的任何建议,以便我的 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>