)]}'
{
  "commit": "fd9185f5e6ed7b004b3ef6acac8fd3577ca72f4a",
  "tree": "a20ea4a19fc98ea70d4d02d8dbcd632ccfa0cf7c",
  "parents": [
    "30e29da81fef13d0c55948bb8001be8e8d65521e"
  ],
  "author": {
    "name": "Simon Mavi Stewart",
    "email": "simon.m.stewart@gmail.com",
    "time": "Mon Jul 20 22:28:31 2026 +0100"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Jul 20 22:28:31 2026 +0100"
  },
  "message": "fix: force a single version per Gradle module when pinning (#1608)\n\nGradle selects one version per group:artifact and ignores classifiers,\nso forcing each classified root separately (e.g. a main jar and its\ntest-fixtures jar at different versions) made resolution unsatisfiable.\nGroup roots by module and force only the defining version: the\nunclassified root, or the highest classified request.\n\nAlso stop the resolver plugin\u0027s detached-configuration retry from\nundermining pins: skip it when the main configuration fully resolved,\nand re-apply the forced modules when it runs, since detached\nconfigurations never see `configurations.all`.\n\nCo-Authored-By: Claude \u003cnoreply@anthropic.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1ffd2ffdfe0fc07408b3775137c24b042929e093",
      "old_mode": 33188,
      "old_path": "MODULE.bazel",
      "new_id": "cf48fe59e45c05fe65be1fcffb2cf793e891bb11",
      "new_mode": 33188,
      "new_path": "MODULE.bazel"
    },
    {
      "type": "modify",
      "old_id": "0aa500da814a19fd88dd459f3479ec84367f8e02",
      "old_mode": 33188,
      "old_path": "private/extensions/maven.bzl",
      "new_id": "d64709a7a16baccb4d904085622803d2988a6302",
      "new_mode": 33188,
      "new_path": "private/extensions/maven.bzl"
    },
    {
      "type": "modify",
      "old_id": "b53b27cbc9e9a077a6dd7adfbe8302b675422de4",
      "old_mode": 33188,
      "old_path": "private/tools/java/com/github/bazelbuild/rules_jvm_external/resolver/gradle/plugin/GradleDependencyModelBuilder.java",
      "new_id": "f1c8b3c8249cbdbb999d246982eaac18b08414d2",
      "new_mode": 33188,
      "new_path": "private/tools/java/com/github/bazelbuild/rules_jvm_external/resolver/gradle/plugin/GradleDependencyModelBuilder.java"
    },
    {
      "type": "modify",
      "old_id": "1898ee754d3ff9f6deee075404b452ddf8afe858",
      "old_mode": 33188,
      "old_path": "tests/com/github/bazelbuild/rules_jvm_external/resolver/gradle/BUILD",
      "new_id": "711baa303418d7e9870d582dffc7a655c677d877",
      "new_mode": 33188,
      "new_path": "tests/com/github/bazelbuild/rules_jvm_external/resolver/gradle/BUILD"
    },
    {
      "type": "modify",
      "old_id": "1e872cb627ae6573e2237da57351d58c5956088e",
      "old_mode": 33188,
      "old_path": "tests/com/github/bazelbuild/rules_jvm_external/resolver/gradle/GradleResolverTest.java",
      "new_id": "c7449bde1de5fcd341f1db6aca8328d98eadc593",
      "new_mode": 33188,
      "new_path": "tests/com/github/bazelbuild/rules_jvm_external/resolver/gradle/GradleResolverTest.java"
    },
    {
      "type": "modify",
      "old_id": "06dbbfe7135a415ef8b3147c160d98ec1af799e7",
      "old_mode": 33188,
      "old_path": "tests/com/github/bazelbuild/rules_jvm_external/resolver/gradle/fixtures/BUILD",
      "new_id": "d1543dc94895b5b63115949c306ac4b549f7091a",
      "new_mode": 33188,
      "new_path": "tests/com/github/bazelbuild/rules_jvm_external/resolver/gradle/fixtures/BUILD"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8803eec31e1e60546a0c2c92a1148f3824df5744",
      "new_mode": 33188,
      "new_path": "tests/com/github/bazelbuild/rules_jvm_external/resolver/gradle/fixtures/strictTransitiveConstraint/app-1.0.module"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "898613d802d0d39ea89c455e4ad95c33f4bc20d7",
      "new_mode": 33188,
      "new_path": "tests/com/github/bazelbuild/rules_jvm_external/resolver/gradle/fixtures/testFixturesVariant/sample-2.0.module"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "713990edaca31c5cfa14b06f1eba99973489bab6",
      "new_mode": 33188,
      "new_path": "tests/custom_maven_install/gradle_classifier_pinning_install.json"
    },
    {
      "type": "modify",
      "old_id": "7b917f26df58cface7e5b9a079702110384daab2",
      "old_mode": 33188,
      "old_path": "tests/integration/BUILD",
      "new_id": "21848b1fa6ac37540086c1e29747b0df9183c78e",
      "new_mode": 33188,
      "new_path": "tests/integration/BUILD"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0856e4fff74a4c8cdd8bdbe0e9709a0775b64913",
      "new_mode": 33188,
      "new_path": "tests/integration/gradle-classifier-pinning-deps.golden.unix"
    },
    {
      "type": "modify",
      "old_id": "26b71006a6ddbb038b713cd3be78718a16cf9cb2",
      "old_mode": 33188,
      "old_path": "tests/unit/version_conflict_policy_test.bzl",
      "new_id": "b4210a90db636205e95a62ac6492f81f1a453244",
      "new_mode": 33188,
      "new_path": "tests/unit/version_conflict_policy_test.bzl"
    }
  ]
}
