Build Data Subtypes #
The open type family which maps a module facet's name to its build data
in the Lake build store. For example, a transitive × direct import pair
for the lean.imports
facet or an active build target for lean.c
.
It is an open type, meaning additional mappings can be add lazily
as needed (via module_data
).
The open type family which maps a package facet's name to its build data
in the Lake build store. For example, a transitive dependencies of the package
for the facet deps
.
It is an open type, meaning additional mappings can be add lazily
as needed (via package_data
).
The open type family which maps a (builtin) Lake target's (e.g., extern_lib
)
facet to its associated build data. For example, an active build target for
the externLib.static
facet.
It is an open type, meaning additional mappings can be add lazily
as needed (via target_data
).
Equations
- Lake.LibraryData facet = Lake.TargetData (`leanLib ++ facet)
Instances For
Build Data #
A mapping between a build key and its associated build data in the store. It is a simple type function composed of the separate open type families for modules facets, package facets, Lake target facets, and custom targets.
Equations
- Lake.BuildData (Lake.BuildKey.moduleFacet module f) = Lake.ModuleData f
- Lake.BuildData (Lake.BuildKey.packageFacet package f) = Lake.PackageData f
- Lake.BuildData (Lake.BuildKey.targetFacet package target f) = Lake.TargetData f
- Lake.BuildData (Lake.BuildKey.customTarget p t) = Lake.CustomData (p, t)
Instances For
Macros for Declaring Build Data #
Macro for declaring new TargetData
for libraries.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Macro for declaring new CustomData
.
Equations
- One or more equations did not get rendered due to their size.