)]}'
{
  "commit": "777b42d5fdb230c6aff20b005ce8207aa31526c0",
  "tree": "c64a1ba3b2a4b419e3c4554bf28d4de9609210e6",
  "parents": [
    "45ae779dc5fcad0140fac01776179882b3cd6b75"
  ],
  "author": {
    "name": "Simon Mavi Stewart",
    "email": "simon.m.stewart@gmail.com",
    "time": "Thu Jan 15 00:41:38 2026 +0000"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Jan 15 00:41:38 2026 +0000"
  },
  "message": "[gradle] Fix Gradle resolver to respect force_version and include runtime dependencies (#1516)\n\nThe Gradle resolver was incorrectly retaining aggregating dependencies (dependencies that exist solely to group platform-specific artifacts) in the graph. This occurred because the resolver checked the POM\u0027s `packaging` field; if it was `jar` (the default) or missing, the resolver assumed a main JAR artifact must exist, even if Gradle did not resolve one.\n\nThis change updates `GradleResolver` to:\n1. Remove the logic that infers artifact existence from POM packaging. Instead, it now checks strictly for the presence of non-POM files in the resolved artifacts list.\n2. Refine `collapseAggregatingDependencies` to explicitly ignore `javadoc` and `sources` classifiers when determining if a node is an aggregating parent. This ensures standard libraries with documentation or sources attached are not incorrectly identified as aggregating dependencies.\n\n* Avoid creating detached configurations which lead to incorrect versions being fetched\n\n* Use runtime resolution, not just api\n\n* Correctly identify aggregating dependencies by ignoring POM packaging\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "63eee22f3c2f06eaf7bb9b805f518af524133b8d",
      "old_mode": 33188,
      "old_path": "gradle.BUILD.bazel",
      "new_id": "bfd27a17889214c2c876a5897b19716ee29c938d",
      "new_mode": 33188,
      "new_path": "gradle.BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "de366525389955bb81708635d64823b19108eba8",
      "old_mode": 33188,
      "old_path": "private/tools/java/com/github/bazelbuild/rules_jvm_external/resolver/gradle/BUILD.bazel",
      "new_id": "12e365026dfd117c858381c38b397350a4a2b493",
      "new_mode": 33188,
      "new_path": "private/tools/java/com/github/bazelbuild/rules_jvm_external/resolver/gradle/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "7f99253b7140a8d192378fc727b73dbe92db36a6",
      "old_mode": 33188,
      "old_path": "private/tools/java/com/github/bazelbuild/rules_jvm_external/resolver/gradle/GradleBuildScriptGenerator.java",
      "new_id": "02b0eb0d0f729d940fc1a29d8967a7114c1ee4d8",
      "new_mode": 33188,
      "new_path": "private/tools/java/com/github/bazelbuild/rules_jvm_external/resolver/gradle/GradleBuildScriptGenerator.java"
    },
    {
      "type": "modify",
      "old_id": "deae5c4425f9035cf255adba97d47f64bd62fde6",
      "old_mode": 33188,
      "old_path": "private/tools/java/com/github/bazelbuild/rules_jvm_external/resolver/gradle/GradleResolver.java",
      "new_id": "daa3de16faced31f449a58e4d71d15bd2fd1ca7d",
      "new_mode": 33188,
      "new_path": "private/tools/java/com/github/bazelbuild/rules_jvm_external/resolver/gradle/GradleResolver.java"
    },
    {
      "type": "modify",
      "old_id": "41f5d1bac0223422369d67b9c632e26d9e3a159b",
      "old_mode": 33188,
      "old_path": "private/tools/java/com/github/bazelbuild/rules_jvm_external/resolver/gradle/data/build.gradle.hbs",
      "new_id": "102304426895840c1372002fc0240edc50590c22",
      "new_mode": 33188,
      "new_path": "private/tools/java/com/github/bazelbuild/rules_jvm_external/resolver/gradle/data/build.gradle.hbs"
    },
    {
      "type": "modify",
      "old_id": "024fd58fa6572d48372e7ae794b07b1675036944",
      "old_mode": 33188,
      "old_path": "private/tools/java/com/github/bazelbuild/rules_jvm_external/resolver/gradle/plugin/GradleDependencyModelBuilder.java",
      "new_id": "e299593aac3c02fe30b4e8206d1aa60556edf936",
      "new_mode": 33188,
      "new_path": "private/tools/java/com/github/bazelbuild/rules_jvm_external/resolver/gradle/plugin/GradleDependencyModelBuilder.java"
    },
    {
      "type": "modify",
      "old_id": "14d97a5a5f1f4483d746091be03c524e85bf44a9",
      "old_mode": 33188,
      "old_path": "tests/com/github/bazelbuild/rules_jvm_external/resolver/ResolverTestBase.java",
      "new_id": "ce117e426e3afec9a1c6b670287c3bb5360b0d3d",
      "new_mode": 33188,
      "new_path": "tests/com/github/bazelbuild/rules_jvm_external/resolver/ResolverTestBase.java"
    },
    {
      "type": "modify",
      "old_id": "b3a634fa9f0644ca5602f60a6c5df7aba3082ca2",
      "old_mode": 33188,
      "old_path": "tests/custom_maven_install/regression_testing_gradle_index.json",
      "new_id": "6c4961a064cf9ba029f87c59cd329acd9162aae4",
      "new_mode": 33188,
      "new_path": "tests/custom_maven_install/regression_testing_gradle_index.json"
    },
    {
      "type": "modify",
      "old_id": "9ea4234df7d51a1c1a275baad3111d76f6069ba1",
      "old_mode": 33188,
      "old_path": "tests/custom_maven_install/regression_testing_gradle_install.json",
      "new_id": "dbce79a1871e584c949b6b7f81484a8e233239ef",
      "new_mode": 33188,
      "new_path": "tests/custom_maven_install/regression_testing_gradle_install.json"
    }
  ]
}
