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

  1. Regenerate the baseline: ./gradlew <project>:generateRuntimeDeps.
  2. Review the diff of the baseline file to confirm the dependency change is intended.
  3. Update LICENSE and NOTICE to reflect added or removed dependencies, then commit the regenerated baseline.
  4. 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

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


AI-assisted analysis of apache/iceberg@86d9c8fc54 (2026-09-12). Data as JSON: /api/errors/b5360a8c2115198b. Report an issue: GitHub.