Commit ff2630c2 authored by Clement Bois's avatar Clement Bois
Browse files

Merge branch '24-incompatible-with-cyclonedx-gradle-plugin-3-0-0' into 'master'

Resolve "Incompatible with  cyclonedx-gradle-plugin 3.0.0-alpha-0"

Closes #24

See merge request to-be-continuous/gradle!68
parents 3e337a0e bd26592a
Loading
Loading
Loading
Loading
+57 −19
Original line number Diff line number Diff line
@@ -514,6 +514,19 @@ stages:
    fi
  }

  function semver_higher_major() {
    current_ver=$1
    target_major=$2
    if [[ $current_ver == "latest" ]]; then
      # we consider latest is always up higher
      return 0
    elif [[ "$(echo "${current_ver//v/}" | awk -F'.' '{print $1}')" -ge $target_major ]]; then
      return 0
    else
      return 1
    fi
  }

  unscope_variables
  eval_all_secrets

@@ -625,6 +638,31 @@ gradle-sbom:
          log_info "... use CycloneDX latest version: \\e[32m$GRADLE_SBOM_VERSION\\e[0m"
        fi
        GRADLE_SBOM_OPTS="-I cyclonedx.init.gradle ${GRADLE_SBOM_OPTS}"
        if semver_higher_major "${GRADLE_SBOM_VERSION:-latest}" 3
        then
          cat << EOF > cyclonedx.init.gradle
        allprojects {
          buildscript {
              repositories {
                  maven {
                      url "${GRADLE_MAVEN_PLUGIN_URL}/"
                  }
              }
              dependencies {
                  classpath "org.cyclonedx:cyclonedx-gradle-plugin:$GRADLE_SBOM_VERSION"
              }
          }
          afterEvaluate { project ->
              project.apply plugin: 'org.cyclonedx.bom'
              project.cyclonedxBom {
                  xmlOutput.unsetConvention()
                  jsonOutput.set(file("build/reports/bom.json"))
                  includeLicenseText = false
              }
          }
        }
      EOF
        else
          cat << EOF > cyclonedx.init.gradle
        allprojects {
          buildscript {
@@ -637,7 +675,6 @@ gradle-sbom:
                  classpath "org.cyclonedx:cyclonedx-gradle-plugin:$GRADLE_SBOM_VERSION"
              }
          }

          afterEvaluate { project ->
              project.apply plugin: 'org.cyclonedx.bom'
              project.cyclonedxBom {
@@ -648,6 +685,7 @@ gradle-sbom:
        }
      EOF
        fi
      fi
    - $GRADLE_CLI_BIN $GRADLE_CLI_OPTS $GRADLE_SBOM_OPTS cyclonedxBom
    - mv build/reports/bom.json reports/gradle-sbom.cyclonedx.json
    - chmod a+r reports/gradle-sbom.cyclonedx.json