Build Keys, Infos, & Facets #
This module defines the shorthand definitions for build keys, infos, and facets on the various target types.
Build Key Helper Constructors #
Instances For
Instances For
Instances For
Complex Builtin Facet Declarations #
Additional builtin facets missing from Build.Facets.
These are defined here because they need configuration definitions
(e.g., Module), whereas the facets there are needed by the configuration
definitions.
An import statement with its resolved module within the workspace.
Instances For
A module's source file path plus its parsed header.
- path : System.FilePath
- trace : BuildTrace
- header : Lean.ModuleHeader
- imports : Array ModuleImport
Instances For
The module's processed Lean source file. Combines tracing the file with parsing its header.
Instances For
The direct local imports of the Lean module.
Instances For
The transitive local imports of the Lean module.
Instances For
The transitive local imports of the Lean module.
Instances For
Shared library for --load-dynlib.
Instances For
A Lean library's Lean modules.
Instances For
The package's array of dependencies.
Instances For
The package's complete array of transitive dependencies.
Instances For
Facet Build Info Helper Constructors #
Definitions to easily construct BuildInfo values for module, package,
and target facets.
Module Infos #
Build info for applying the specified facet to the module. It is the user's obligation to ensure the facet in question is a module facet.
Instances For
Build info for a module facet.
Instances For
The module's processed Lean source file. Combines tracing the file with parsing its header.
Instances For
The module's Lean source file.
Instances For
The parsed module header of the module's source file.
Instances For
The direct local imports of the Lean module.
Instances For
The transitive local imports of the Lean module.
Instances For
The transitive local imports of the Lean module.
Instances For
The computed configuration of a module for Lean.
In the process, this facet will build all of a module's dependencies,
including transitive imports, plugins, and those specified by needs.
Instances For
This facet builds all of a module's dependencies,
including transitive imports, plugins, and those specified by needs.
Instances For
For internal use only. Information about the imports of this module.
Instances For
For internal use only. Information useful to importers of this module.
Instances For
Artifacts directly needed for an import of this module with the module system enabled.
Instances For
Artifacts directly needed for an import of this module from a module without the module
system enabled or import all of this module from a module with it enabled.
Instances For
The olean.server file produced by lean (with the module system enabled).
Instances For
The olean.private file produced by lean (with the module system enabled).
Instances For
The object file .c.o.noexport built from c (without -DLEAN_EXPORTING).
Instances For
Shared library for --load-dynlib.
Instances For
Package Infos #
Build info for a package target (e.g., a library, executable, or custom target).
Instances For
Instances For
Build info for a package facet.
Instances For
A package's cached build archive (e.g., from Reservoir or GitHub). Will cause the whole build to fail if the archive cannot be fetched.
Instances For
A package's optional cached build archive (e.g., from Reservoir or GitHub). Will NOT cause the whole build to fail if the archive cannot be fetched.
Instances For
A package's Reservoir build archive from Reservoir. Will cause the whole build to fail if the barrel cannot be fetched.
Instances For
A package's optional build archive from Reservoir. Will NOT cause the whole build to fail if the barrel cannot be fetched.
Instances For
A package's build archive from a GitHub release. Will cause the whole build to fail if the release cannot be fetched.
Instances For
A package's optional build archive from a GitHub release. Will NOT cause the whole build to fail if the release cannot be fetched.
Instances For
A package's extraDepTargets mixed with its transitive dependencies'.
Instances For
The package's array of dependencies.
Instances For
The package's complete array of transitive dependencies.
Instances For
Lean Library Infos #
Instances For
Build info for a facet of a Lean library.
Instances For
The library's default facets (as specified by its defaultFacets configuration). .
Instances For
A Lean library's Lean modules.
Instances For
A Lean library's static artifact.
Instances For
A Lean library's static artifact (with exported symbols).
Static libraries with explicit exports are built as thin libraries. Such libraries are usually used as part of the local build process of some shared artifact and not publicly distributed. Standard static libraries are much better for distribution.
Instances For
A Lean library's extraDepTargets mixed with its package's.
Instances For
Lean Executable Infos #
Instances For
A Lean binary executable.
Instances For
External Library Infos #
Instances For
A external library's static binary.
Instances For
A external library's dynlib.
Instances For
Input File & Directory Infos #
Instances For
The default facet for an input file. Produces the file path.
Instances For
Instances For
The default facet for an input directory. Produces the matching files in the directory.