Repository: pantsbuild/pants

Issue:
Upgrade Coursier
**Is your feature request related to a problem? Please describe.**
Not much of a feature request as just a simple placeholder to upgrade Pants' version of coursier. 

Version of Coursier currently being used by Pants suffers from this particular bug: https://github.com/coursier/coursier/issues/2316, which, although it's rare, it basically prevents us from being able to resolve some JVM dependencies. The fix already merged doesn't just solve the original issue, but it's also faster when rendering the JSON report Pants relies on.

**Describe the solution you'd like**
At my company we are running Pants with this additional config in `pants.toml`:

```toml
version = "v2.1.0-M5-18-gfebf9838c"
known_versions.add = [
  "v2.1.0-M5-18-gfebf9838c|linux_arm64 |d4ad15ba711228041ad8a46d848c83c8fbc421d7b01c415d8022074dd609760f|19264005",
  "v2.1.0-M5-18-gfebf9838c|linux_x86_64|3e1a1ad1010d5582e9e43c5a26b273b0147baee5ebd27d3ac1ab61964041c90b|19551533",
  "v2.1.0-M5-18-gfebf9838c|macos_arm64 |d13812c5a5ef4c9b3e25cc046d18addd09bacd149f95b20a14e4d2a73e358ecf|18826510",
  "v2.1.0-M5-18-gfebf9838c|macos_x86_64|d13812c5a5ef4c9b3e25cc046d18addd09bacd149f95b20a14e4d2a73e358ecf|18826510",
]
```

First time we have configured it we also observed that the lockfiles generated for the JVM resolves now include more direct dependencies for each entry.

**Describe alternatives you've considered**
The alternative would be to wait until a final `2.1.0` release from Coursier happens.

**Additional context**
N/A



Discussion:
I think that we can definitely upgrade to a new release of coursier on `main`: if you'd like to open a PR for that, it would be appreciated! The bigger question is just whether it's stable enough to be backported to `2.11.x`, but we can answer that after its in `main` (particularly if someone else experiences that issue).
yeah, sounds good to me to just leave it in main and see if how stable it is. I'll open a PR for that

Resolving patch:
diff --git a/src/python/pants/jvm/resolve/coursier_setup.py b/src/python/pants/jvm/resolve/coursier_setup.py
--- a/src/python/pants/jvm/resolve/coursier_setup.py
+++ b/src/python/pants/jvm/resolve/coursier_setup.py
@@ -104,10 +104,14 @@
 class CoursierSubsystem(TemplatedExternalTool):
     options_scope = "coursier"
     name = "coursier"
-    help = "A dependency resolver for the Maven ecosystem."
+    help = "A dependency resolver for the Maven ecosystem. (https://get-coursier.io/)"
 
-    default_version = "v2.0.16-169-g194ebc55c"
+    default_version = "v2.1.0-M5-18-gfebf9838c"
     default_known_versions = [
+        "v2.1.0-M5-18-gfebf9838c|linux_arm64 |d4ad15ba711228041ad8a46d848c83c8fbc421d7b01c415d8022074dd609760f|19264005",
+        "v2.1.0-M5-18-gfebf9838c|linux_x86_64|3e1a1ad1010d5582e9e43c5a26b273b0147baee5ebd27d3ac1ab61964041c90b|19551533",
+        "v2.1.0-M5-18-gfebf9838c|macos_arm64 |d13812c5a5ef4c9b3e25cc046d18addd09bacd149f95b20a14e4d2a73e358ecf|18826510",
+        "v2.1.0-M5-18-gfebf9838c|macos_x86_64|d13812c5a5ef4c9b3e25cc046d18addd09bacd149f95b20a14e4d2a73e358ecf|18826510",
         "v2.0.16-169-g194ebc55c|linux_arm64 |da38c97d55967505b8454c20a90370c518044829398b9bce8b637d194d79abb3|18114472",
         "v2.0.16-169-g194ebc55c|linux_x86_64|4c61a634c4bd2773b4543fe0fc32210afd343692891121cddb447204b48672e8|18486946",
         "v2.0.16-169-g194ebc55c|macos_arm64 |15bce235d223ef1d022da30b67b4c64e9228d236b876c834b64e029bbe824c6f|17957182",


Test patch: