apache/iceberg · error · GradleException
Runtime dependency check failed. To update the baseline run:
Error message
Runtime dependency check failed. To update the baseline run:
./gradlew ${project.path}:generateRuntimeDeps
Then update LICENSE and NOTICE to reflect the dependency changes. What it means
The runtime-dependency check compares each project's actual runtime classpath modules against a committed baseline. If any module was added or removed relative to the baseline, the script builds a message listing Added/Removed modules (with 'expected by' mappings) and throws this GradleException, instructing you to regenerate the baseline and update LICENSE/NOTICE.
Source
Thrown at runtime-deps.gradle:127
msg.append("Runtime dependency baseline mismatch for ${project.name}!\n")
if (versionChanged) {
msg.append("\n Version changed (${versionChanged.size()}):\n")
versionChanged.toSorted().each { module ->
msg.append(" ~ ${expectedByModule[module]} -> ${actualByModule[module]}\n")
}
}
if (added) {
msg.append("\n Added (${added.size()}):\n")
added.toSorted().each { module -> msg.append(" + ${actualByModule[module]}\n") }
}
if (removed) {
msg.append("\n Removed (${removed.size()}):\n")
removed.toSorted().each { module -> msg.append(" - ${expectedByModule[module]}\n") }
}
msg.append("\nTo update the baseline run:\n")
msg.append(" ./gradlew ${project.path}:generateRuntimeDeps\n")
msg.append("\nThen update LICENSE and NOTICE to reflect the dependency changes.")
throw new GradleException(msg.toString())
}
}
}
check.dependsOn checkRuntimeDeps
View on GitHub (pinned to 86d9c8fc54)
Solutions
- Regenerate the baseline: ./gradlew <project>:generateRuntimeDeps.
- Review the diff of the baseline file to confirm the dependency change is intended.
- Update LICENSE and NOTICE to reflect added or removed dependencies, then commit the regenerated baseline.
- If the change was unintentional, revert the dependency change in build.gradle instead.
Example fix
// before implementation 'com.google.guava:guava:33.1.0-jre' // new module, baseline stale // after ./gradlew :iceberg-core:generateRuntimeDeps # then update LICENSE/NOTICE and commit the baseline
Defensive patterns
Strategy: validation
Validate before calling
./gradlew :iceberg-core:checkRuntimeDeps # or run generateRuntimeDeps first and inspect the git diff of the baseline before committing
Prevention
- Run ./gradlew <project>:generateRuntimeDeps in the same PR as any dependency change.
- Review baseline diffs in code review alongside LICENSE/NOTICE updates.
- Avoid ad-hoc dependency additions; route new dependencies through the approved dependency list.
When it happens
Trigger: Running ./gradlew check (which depends on checkRuntimeDeps) after changing dependencies in build.gradle — adding a new runtime dependency, upgrading one, or removing one — so the resolved runtime module set no longer matches the baseline file.
Common situations: Adding a third-party library for a feature; a dependency upgrade pulls in a new transitive module; excluding a dependency to slim the classpath; rebasing code that changed dependencies without regenerating the baseline.
Understand the failure class
Background: Checksum mismatch errors: "checksum verification failed", "digest mismatch", "expected vs actual checksum" — what they mean and how to fix them — this error's family across 41 libraries.
Related errors
- WARNING: Missing ${depsFile.name} in ${projectDir}. Run: ./g
- This build must be run with JDK 17 or 21 but was executed wi
- Neither version.txt nor git version exists:
- Neither version.txt nor git version exists
- Expected a Spark/Scala version combination in Gradle project
AI-assisted analysis of apache/iceberg@86d9c8fc54 (2026-09-12).
Data as JSON: /api/errors/b5360a8c2115198b.
Report an issue: GitHub.