)]}'
{
  "commit": "858991323dab4ae7247a7da42759c6c4b3263203",
  "tree": "531c81a1269dab76d330cf5e79cbbdd2f314b44f",
  "parents": [
    "125245ed274ca5fdb572f450b1946a3c66538ab6"
  ],
  "author": {
    "name": "Simon Mavi Stewart",
    "email": "simon.m.stewart@gmail.com",
    "time": "Sat Jan 10 10:56:20 2026 +0000"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Sat Jan 10 10:56:20 2026 +0000"
  },
  "message": "[gradle] Handle aggregating dependencies and relocation version conflicts (#1512)\n\nThis change improves the Gradle resolver\u0027s handling of two edge cases:\n\n1. Aggregating dependencies with only classified artifacts:\n   Dependencies that exist solely to group platform-specific artifacts\n   (e.g., native libraries with -osx-aarch_64.jar but no base JAR) are\n   now correctly identified and collapsed.\n\n2. Relocation version conflicts:\n   When a relocated artifact has a different version than requested,\n   the resolver now correctly handles this by preferring the target\n   artifact.\n\nKey changes:\n- Add collapseAggregatingDependencies() to handle deps with only\n  classified artifacts (sources, javadoc, platform-specific)\n- Improve hasDownloadableArtifact() to check for actual non-POM files\n- Handle relocation where target version differs from requested\n- Add test for aggregating dependency resolution\n\nFixes issues where resolution would fail for native libraries or\nproduce incorrect graphs for relocated artifacts with version changes.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8d928bb75d920b9f67876628dc711af89d3642fe",
      "old_mode": 33188,
      "old_path": "private/tools/java/com/github/bazelbuild/rules_jvm_external/resolver/gradle/GradleResolver.java",
      "new_id": "b6eea232245e1502913304049c9af75fdc2faa15",
      "new_mode": 33188,
      "new_path": "private/tools/java/com/github/bazelbuild/rules_jvm_external/resolver/gradle/GradleResolver.java"
    },
    {
      "type": "modify",
      "old_id": "6e9f318a928d488d3ee86c764fefc60e76fc25f8",
      "old_mode": 33188,
      "old_path": "tests/com/github/bazelbuild/rules_jvm_external/resolver/ResolverTestBase.java",
      "new_id": "3755835d195bca45b51510820098a52347e8de77",
      "new_mode": 33188,
      "new_path": "tests/com/github/bazelbuild/rules_jvm_external/resolver/ResolverTestBase.java"
    },
    {
      "type": "modify",
      "old_id": "28f85d3ef64760a2e1e96ee3cd308e113aa427e4",
      "old_mode": 33188,
      "old_path": "tests/com/github/bazelbuild/rules_jvm_external/resolver/gradle/GradleResolverTest.java",
      "new_id": "646060338a5133ae88094822adda8abb4a371474",
      "new_mode": 33188,
      "new_path": "tests/com/github/bazelbuild/rules_jvm_external/resolver/gradle/GradleResolverTest.java"
    },
    {
      "type": "modify",
      "old_id": "e6b201fe4cbea1d3d3192b34b2e973c0a2fb4222",
      "old_mode": 33188,
      "old_path": "tests/com/github/bazelbuild/rules_jvm_external/resolver/gradle/fixtures/BUILD.bazel",
      "new_id": "5cacf15c025f0814fc08c2d3b55d5ac9818ebae5",
      "new_mode": 33188,
      "new_path": "tests/com/github/bazelbuild/rules_jvm_external/resolver/gradle/fixtures/BUILD.bazel"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "03952be6f4bb9707b7acdccc86b034b81a087b2e",
      "new_mode": 33188,
      "new_path": "tests/com/github/bazelbuild/rules_jvm_external/resolver/gradle/fixtures/aggregatingDependency/app-1.0.module"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0531b501eb989cbc7382e48146a106660bcff14e",
      "new_mode": 33188,
      "new_path": "tests/com/github/bazelbuild/rules_jvm_external/resolver/gradle/fixtures/aggregatingDependency/native-lib-1.0.module"
    },
    {
      "type": "modify",
      "old_id": "6c4961a064cf9ba029f87c59cd329acd9162aae4",
      "old_mode": 33188,
      "old_path": "tests/custom_maven_install/regression_testing_gradle_index.json",
      "new_id": "c30925b248cfaa86a711f7ca710e8c65109c863c",
      "new_mode": 33188,
      "new_path": "tests/custom_maven_install/regression_testing_gradle_index.json"
    },
    {
      "type": "modify",
      "old_id": "0476c348992a4ce89500ed6b0de57949e4492201",
      "old_mode": 33188,
      "old_path": "tests/custom_maven_install/regression_testing_gradle_install.json",
      "new_id": "16a8c9a7cc9a404d48f047831360586770d1ba3a",
      "new_mode": 33188,
      "new_path": "tests/custom_maven_install/regression_testing_gradle_install.json"
    }
  ]
}
