Skip to content

Commit

Permalink
Do not attempt dependency graph on unsupported Gradle versions
Browse files Browse the repository at this point in the history
  • Loading branch information
bigdaz committed Jul 8, 2023
1 parent 1e71bce commit f01b48d
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 4 deletions.
Original file line number Diff line number Diff line change
@@ -1,13 +1,20 @@
import org.gradle.util.GradleVersion

if (System.env.GITHUB_DEPENDENCY_GRAPH_ENABLED != "true") {
return
}

if (GradleVersion.current().baseVersion < GradleVersion.version("5.0")) {
println "::warning::Dependency Graph is not supported for Gradle versions < 5.0. No dependency snapshot will be generated."
return
}

def reportDir = System.env.GITHUB_DEPENDENCY_GRAPH_REPORT_DIR
def jobCorrelator = System.env.GITHUB_DEPENDENCY_GRAPH_JOB_CORRELATOR
def reportFile = new File(reportDir, jobCorrelator + ".json")

if (reportFile.exists()) {
println "::warning::No dependency report generated for step: report file for '${jobCorrelator}' created in earlier step. Each build invocation requires a unique job correlator: specify GITHUB_DEPENDENCY_GRAPH_JOB_CORRELATOR var for this step."
println "::warning::No dependency snapshot generated for step: report file for '${jobCorrelator}' created in earlier step. Each build invocation requires a unique job correlator: specify GITHUB_DEPENDENCY_GRAPH_JOB_CORRELATOR var for this step."
return
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@ import static org.junit.Assume.assumeTrue
class TestDependencyGraph extends BaseInitScriptTest {
def initScript = 'github-dependency-graph.init.gradle'

static final List<TestGradleVersion> NO_DEPENDENCY_GRAPH_VERSIONS = [GRADLE_3_X, GRADLE_4_X]
static final List<TestGradleVersion> DEPENDENCY_GRAPH_VERSIONS = ALL_VERSIONS - NO_DEPENDENCY_GRAPH_VERSIONS


def "does not produce dependency graph when not enabled"() {
assumeTrue testGradleVersion.compatibleWithCurrentJvm
Expand All @@ -29,7 +32,21 @@ class TestDependencyGraph extends BaseInitScriptTest {
assert reportFile.exists()

where:
testGradleVersion << ALL_VERSIONS
testGradleVersion << DEPENDENCY_GRAPH_VERSIONS
}

def "warns and produces no dependency graph when enabled for older Gradle versions"() {
assumeTrue testGradleVersion.compatibleWithCurrentJvm

when:
def result = run(['help'], initScript, testGradleVersion.gradleVersion, [], envVars)

then:
assert !reportsDir.exists()
assert result.output.contains("::warning::Dependency Graph is not supported")

where:
testGradleVersion << NO_DEPENDENCY_GRAPH_VERSIONS
}

def "warns and does not overwrite existing report file"() {
Expand All @@ -42,10 +59,10 @@ class TestDependencyGraph extends BaseInitScriptTest {

then:
assert reportFile.text == "DUMMY CONTENT"
assert result.output.contains("::warning::No dependency report generated for step")
assert result.output.contains("::warning::No dependency snapshot generated for step")

where:
testGradleVersion << ALL_VERSIONS
testGradleVersion << DEPENDENCY_GRAPH_VERSIONS
}

def getEnvVars() {
Expand Down

0 comments on commit f01b48d

Please sign in to comment.