Skip to content
This repository was archived by the owner on May 28, 2025. It is now read-only.

Commit 6d333e5

Browse files
committed
Auto merge of rust-lang#15098 - davidlattimore:libs-from-crates-io, r=Veykril
Use lib crates from crates.io See lib/README.md for justification
2 parents bc26e81 + 5c8d1a4 commit 6d333e5

File tree

3 files changed

+53
-12
lines changed

3 files changed

+53
-12
lines changed

Cargo.lock

Lines changed: 36 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,10 @@ debug = 0
3535
# chalk-ir = { path = "../chalk/chalk-ir" }
3636
# chalk-recursive = { path = "../chalk/chalk-recursive" }
3737
# chalk-derive = { path = "../chalk/chalk-derive" }
38+
# line-index = { path = "lib/line-index" }
39+
# la-arena = { path = "lib/la-arena" }
40+
# lsp-server = { path = "lib/lsp-server" }
41+
3842

3943
# ungrammar = { path = "../ungrammar" }
4044

@@ -76,10 +80,10 @@ tt = { path = "./crates/tt", version = "0.0.0" }
7680
vfs-notify = { path = "./crates/vfs-notify", version = "0.0.0" }
7781
vfs = { path = "./crates/vfs", version = "0.0.0" }
7882

79-
# In-tree crates that are published separately and follow semver.
80-
line-index = { version = "0.1.0-pre.1", path = "lib/line-index" }
81-
la-arena = { version = "0.3.1", path = "lib/la-arena" }
82-
lsp-server = { version = "0.7.1", path = "lib/lsp-server" }
83+
# In-tree crates that are published separately and follow semver. See lib/README.md
84+
line-index = { version = "0.1.0-pre.1" }
85+
la-arena = { version = "0.3.1" }
86+
lsp-server = { version = "0.7.1" }
8387

8488
# non-local crates
8589
smallvec = { version = "1.10.0", features = [

lib/README.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,12 @@
33
Crates in this directory are published to [crates.io](https://crates.io) and obey semver.
44

55
They _could_ live in a separate repo, but we want to experiment with a monorepo setup.
6+
7+
We use these crates from crates.io, not the local copies because we want to ensure that
8+
rust-analyzer works with the versions that are published. This means if you add a new API to these
9+
crates, you need to release a new version to crates.io before you can use that API in rust-analyzer.
10+
11+
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.
12+
13+
While prototyping, the local versions can be used by uncommenting the relevant lines in the
14+
`[patch.'crates-io']` section in Cargo.toml

0 commit comments

Comments
 (0)