lean4-htt/src/shell
Mac Malone 93c9ae7c20
feat: lake: reservoir require (#4495)
Adds a new type of `require` which fetches package metadata from a
registry API endpoint (i.e., Reservoir) and then clones a Git package
using the information provided. To require such a dependency, the new
syntax is:

```lean
require <scope> / <pkg-name> [@ "git#<rev>"] -- e.g., require "leanprover" / "doc-gen4"
```

Or in TOML:

```toml
[[require]]
name = "<pkg-name>"
scope = "<scope>"
rev = "<rev>"
```

Unlike with Git dependencies, Lake can make use of the richer
information provided by the registry to determine the default branch of
the package. This means for repositories of packages like `doc-gen4`
which have a default branch that is not `master`, Lake will now use said
default branch (e.g., in `doc-gen4`'s case, `main`).

Lake also supports configuring the registry endpoint via an environment
variable: `RESERVIOR_API_URL`. Thus, any server providing a similar
interface to Reservoir can be used as the registry. Further
configuration options paralleling those of Cargo's [Alternative
Registries](https://doc.rust-lang.org/cargo/reference/registries.html)
and [Source
Replacement](https://doc.rust-lang.org/cargo/reference/source-replacement.html)
will come in the future.

Updated and split from #3174.
2024-06-29 01:40:54 +00:00
..
app.manifest fix: UTF-8 file path support for lean on Windows 2021-09-22 12:21:52 +02:00
CMakeLists.txt feat: lake: reservoir require (#4495) 2024-06-29 01:40:54 +00:00
lean.cpp chore: reintroduce lean.cpp in separate commit so Git doesn't freak out 2021-09-16 07:03:37 -07:00
lean_js.cpp chore: remove dead code 2020-10-27 09:37:21 -07:00
manifest.rc fix: UTF-8 file path support for lean on Windows 2021-09-22 12:21:52 +02:00
mk_lean_sh.sh fix(test*.sh): allow spaces in filename 2015-03-28 23:29:52 -04:00