Lake Manifest #
The data structure of a Lake manifest and the definitions needed to create, modify, serialize, and deserialize it.
The current version of the manifest format.
Three-part semantic versions were introduced in v1.0.0
.
Major version increments indicate breaking changes
(e.g., new required fields and semantic changes to existing fields).
Minor version increments (after 0.x
) indicate backwards-compatible extensions
(e.g., adding optional fields, removing fields).
Lake supports reading manifests with versions that have -
suffixes.
When checking for version compatibility, Lake expects a manifest with version
x.y.z-foo
to have all the features of the official manifest version x.y.z
.
That is, Lake ignores the -
suffix.
VERSION HISTORY
v0.x.0 (versioned by a natural number)
1
: First version2
: Adds optionalinputRev
package entry field3
: Changes entry to inductive (withpath
/git
)4
: Adds requiredpackagesDir
manifest field5
: Adds optionalinherited
package entry field (and removedopts
)6
: Adds optional package rootname
manifest field7
:type
refactor, custom to/fromJson
v1.x.x (versioned by a string)
"1.0.0"
: Switches to a semantic versioning scheme"1.1.0"
: Add optionalscope
package entry field
Equations
Instances For
Manifest version 0.6.0
package entry. For backwards compatibility.
- path (name : Lean.Name) (opts : Lean.NameMap String) (inherited : Bool) (dir : System.FilePath) : PackageEntryV6
- git (name : Lean.Name) (opts : Lean.NameMap String) (inherited : Bool) (url rev : String) (inputRev? : Option String) (subDir? : Option System.FilePath) : PackageEntryV6
Instances For
The package source for an entry in the manifest. Describes exactly how Lake should materialize the package.
- path
(dir : System.FilePath)
: PackageEntrySrc
A local filesystem package.
dir
is relative to the package directory of the package containing the manifest. - git
(url rev : String)
(inputRev? : Option String)
(subDir? : Option System.FilePath)
: PackageEntrySrc
A remote Git package.
Instances For
An entry for a package stored in the manifest.
- name : Lean.Name
- scope : String
- inherited : Bool
- configFile : System.FilePath
- manifestFile? : Option System.FilePath
- src : PackageEntrySrc
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Manifest data structure that is serialized to the file.
- name : Lean.Name
- lakeDir : System.FilePath
- packagesDir? : Option System.FilePath
- packages : Array PackageEntry
Instances For
Add a package entry to the end of a manifest.
Equations
Instances For
Equations
Instances For
Equations
Instances For
Parse a manifest file.
Equations
Instances For
Parse a manifest file. Returns none
if the file does not exist.
Errors if the manifest is ill-formatted or the read files for other reasons.
Equations
Instances For
Serialize the manifest to a JSON file.
Equations
Instances For
Equations
Instances For
Deserialize package entries from a (partial) JSON manifest.
Equations
Instances For
Deserialize manifest package entries from a JSON string.
Equations
Instances For
Deserialize manifest package entries from a JSON file.
Equations
Instances For
Deserialize manifest package entries from a JSON file. Returns an empty array if the file does not exist.
Equations
Instances For
Serialize manifest package entries to a JSON file.