Auto merge of #15098 - davidlattimore:libs-from-crates-io, r=Veykril

Use lib crates from crates.io

See lib/README.md for justification
This commit is contained in:
bors 2023-06-21 06:57:32 +00:00
commit 6d333e587d
3 changed files with 53 additions and 12 deletions

44
Cargo.lock generated
View file

@ -87,7 +87,7 @@ name = "base-db"
version = "0.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"cfg", "cfg",
"la-arena", "la-arena 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"profile", "profile",
"rustc-hash", "rustc-hash",
"salsa", "salsa",
@ -524,7 +524,7 @@ dependencies = [
"indexmap", "indexmap",
"intern", "intern",
"itertools", "itertools",
"la-arena", "la-arena 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"limit", "limit",
"mbe", "mbe",
"once_cell", "once_cell",
@ -551,7 +551,7 @@ dependencies = [
"hashbrown", "hashbrown",
"intern", "intern",
"itertools", "itertools",
"la-arena", "la-arena 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"limit", "limit",
"mbe", "mbe",
"profile", "profile",
@ -584,7 +584,7 @@ dependencies = [
"hkalbasi-rustc-ap-rustc_index", "hkalbasi-rustc-ap-rustc_index",
"intern", "intern",
"itertools", "itertools",
"la-arena", "la-arena 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"limit", "limit",
"nohash-hasher", "nohash-hasher",
"once_cell", "once_cell",
@ -718,7 +718,7 @@ dependencies = [
"indexmap", "indexmap",
"itertools", "itertools",
"limit", "limit",
"line-index", "line-index 0.1.0-pre.1 (registry+https://github.com/rust-lang/crates.io-index)",
"memchr", "memchr",
"nohash-hasher", "nohash-hasher",
"once_cell", "once_cell",
@ -880,6 +880,12 @@ dependencies = [
name = "la-arena" name = "la-arena"
version = "0.3.1" version = "0.3.1"
[[package]]
name = "la-arena"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3752f229dcc5a481d60f385fa479ff46818033d881d2d801aa27dffcfb5e8306"
[[package]] [[package]]
name = "lazy_static" name = "lazy_static"
version = "1.4.0" version = "1.4.0"
@ -924,6 +930,16 @@ dependencies = [
"text-size", "text-size",
] ]
[[package]]
name = "line-index"
version = "0.1.0-pre.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2cad96769710c1745e11d4f940a8ff36000ade4bbada4285b001cb8aa2f745ce"
dependencies = [
"nohash-hasher",
"text-size",
]
[[package]] [[package]]
name = "lock_api" name = "lock_api"
version = "0.4.9" version = "0.4.9"
@ -954,6 +970,18 @@ dependencies = [
"serde_json", "serde_json",
] ]
[[package]]
name = "lsp-server"
version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3711e4d6f491dc9edc0f1df80e204f38206775ac92c1241e89b79229a850bc00"
dependencies = [
"crossbeam-channel",
"log",
"serde",
"serde_json",
]
[[package]] [[package]]
name = "lsp-types" name = "lsp-types"
version = "0.94.0" version = "0.94.0"
@ -1308,7 +1336,7 @@ version = "0.0.0"
dependencies = [ dependencies = [
"cfg-if", "cfg-if",
"countme", "countme",
"la-arena", "la-arena 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"libc", "libc",
"once_cell", "once_cell",
"perf-event", "perf-event",
@ -1326,7 +1354,7 @@ dependencies = [
"cfg", "cfg",
"expect-test", "expect-test",
"itertools", "itertools",
"la-arena", "la-arena 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"paths", "paths",
"profile", "profile",
"rustc-hash", "rustc-hash",
@ -1461,7 +1489,7 @@ dependencies = [
"ide-db", "ide-db",
"ide-ssr", "ide-ssr",
"itertools", "itertools",
"lsp-server", "lsp-server 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
"lsp-types", "lsp-types",
"mbe", "mbe",
"mimalloc", "mimalloc",

View file

@ -35,6 +35,10 @@ debug = 0
# chalk-ir = { path = "../chalk/chalk-ir" } # chalk-ir = { path = "../chalk/chalk-ir" }
# chalk-recursive = { path = "../chalk/chalk-recursive" } # chalk-recursive = { path = "../chalk/chalk-recursive" }
# chalk-derive = { path = "../chalk/chalk-derive" } # chalk-derive = { path = "../chalk/chalk-derive" }
# line-index = { path = "lib/line-index" }
# la-arena = { path = "lib/la-arena" }
# lsp-server = { path = "lib/lsp-server" }
# ungrammar = { path = "../ungrammar" } # ungrammar = { path = "../ungrammar" }
@ -76,10 +80,10 @@ tt = { path = "./crates/tt", version = "0.0.0" }
vfs-notify = { path = "./crates/vfs-notify", version = "0.0.0" } vfs-notify = { path = "./crates/vfs-notify", version = "0.0.0" }
vfs = { path = "./crates/vfs", version = "0.0.0" } vfs = { path = "./crates/vfs", version = "0.0.0" }
# In-tree crates that are published separately and follow semver. # In-tree crates that are published separately and follow semver. See lib/README.md
line-index = { version = "0.1.0-pre.1", path = "lib/line-index" } line-index = { version = "0.1.0-pre.1" }
la-arena = { version = "0.3.1", path = "lib/la-arena" } la-arena = { version = "0.3.1" }
lsp-server = { version = "0.7.1", path = "lib/lsp-server" } lsp-server = { version = "0.7.1" }
# non-local crates # non-local crates
smallvec = { version = "1.10.0", features = [ smallvec = { version = "1.10.0", features = [

View file

@ -3,3 +3,12 @@
Crates in this directory are published to [crates.io](https://crates.io) and obey semver. Crates in this directory are published to [crates.io](https://crates.io) and obey semver.
They _could_ live in a separate repo, but we want to experiment with a monorepo setup. They _could_ live in a separate repo, but we want to experiment with a monorepo setup.
We use these crates from crates.io, not the local copies because we want to ensure that
rust-analyzer works with the versions that are published. This means if you add a new API to these
crates, you need to release a new version to crates.io before you can use that API in rust-analyzer.
To release new versions of these packages, change their version in Cargo.toml. Once your PR is merged into master a workflow will automatically publish the new version to crates.io.
While prototyping, the local versions can be used by uncommenting the relevant lines in the
`[patch.'crates-io']` section in Cargo.toml