fafb16b052
The `lsp-server` crate is currently published without license files, which is needed when packaging in Linux distributions. Symlink the files from the repository root so they are kept in sync. Test showing the files get picked up by `cargo package`: ``` michel in rust-analyzer/lib/lsp-server on add-lsp-server-license [+] is 📦 v0.7.6 via 🐍 v3.12.1 (.venv311) via 🦀 v1.76.0 ⬢ [fedora:39] ❯ cargo package --allow-dirty --no-verify Updating crates.io index Packaging lsp-server v0.7.6 (/home/michel/src/github/rust-lang/rust-analyzer/lib/lsp-server) Updating crates.io index Packaged 12 files, 59.6KiB (16.3KiB compressed) michel in rust-analyzer/lib/lsp-server on add-lsp-server-license [+] is 📦 v0.7.6 via 🐍 v3.12.1 (.venv311) via 🦀 v1.76.0 ⬢ [fedora:39] ❯ tar tf ../../target/package/lsp-server-0.7.6.crate | grep LICENSE lsp-server-0.7.6/LICENSE-APACHE lsp-server-0.7.6/LICENSE-MIT ``` Signed-off-by: Michel Lind <salimma@fedoraproject.org> |
||
---|---|---|
.. | ||
la-arena | ||
line-index | ||
lsp-server | ||
README.md |
lib
Crates in this directory are published to crates.io and obey semver.
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