collab: Remove dependency on X11 (#19079)

collab: Remove dependency on X11

I'm not sure if this is the best solution (perhaps pulling
`LanguageName` into a separate `language_types` crate would be
better...?) - but it massively reduces build time / dependencies / size
and means that the collab server no longer requires X11 libraries to be
installed.

tl;dr: `telemetry_events` requires the `language` crate, and the
language crate requires a whole ton of extra stuff. Since
telemetry_events only uses `language` for a single type definition
(`LanguageName`, aka `String`), we can cut all of these out by using the
base `String` type (This doesn't seem too terrible, given that all other
telemetry fields are using basic datatypes like String as opposed to
more strongly-typed variants).


FYI the dependency tree for "why does collab need X11 libraries??" looks
like this:

```
collab
 \- telemetry_events
     \- language
         |- gpui
         |- fuzzy
         |   \- gpui
         |- git
         |   \- gpui
         |- lsp
         |   |- gpui
         |   \- release_channel
         |       \- gpui
         |- settings
         |   |- fs
         |   |   \- gpui
         |   \- gpui
         |- task
         |   \- gpui
         \- theme
             \- gpui
```

Release Notes:

- N/A
This commit is contained in:
Shish 2024-10-11 18:28:34 +01:00 committed by GitHub
parent 84b61c8b1a
commit f1c45d988e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 6 additions and 30 deletions

1
Cargo.lock generated
View file

@ -11346,7 +11346,6 @@ dependencies = [
name = "telemetry_events"
version = "0.1.0"
dependencies = [
"language",
"semantic_version",
"serde",
]