Documentation

Lake.Config.Workspace

structure Lake.Workspace :

A Lake workspace -- the top-level package directory.

Instances For
Equations
@[implemented_by Lake.OpaqueWorkspace.unsafeGet]
@[implemented_by Lake.OpaqueWorkspace.unsafeMk]
@[inline]

The path to the workspace's directory (i.e., the directory of the root package).

Equations
  • self.dir = self.root.dir
@[inline]

The workspace's configuration.

Equations
  • self.config = self.root.config.toWorkspaceConfig
@[inline]

The path to the workspace' Lake directory relative to dir.

Equations
  • self.relLakeDir = self.root.relLakeDir
@[inline]

The the full path to the workspace's Lake directory (e.g., .lake).

Equations
  • self.lakeDir = self.root.lakeDir
@[inline]

The path to the workspace's remote packages directory relative to dir.

Equations
  • self.relPkgsDir = self.root.relPkgsDir
@[inline]

The workspace's dir joined with its relPkgsDir.

Equations
  • self.pkgsDir = self.root.pkgsDir
@[inline]

The workspace's Lake manifest.

Equations
  • self.manifestFile = self.root.manifestFile

Add a package to the workspace.

Equations
  • One or more equations did not get rendered due to their size.
@[inline]

Try to find a package within the workspace with the given name.

Equations

Try to find a script in the workspace with the given name.

Equations

Check if the module is local to any package in the workspace.

Equations

Check if the module is buildable by any package in the workspace.

Equations

Locate the named, buildable, importable, local module in the workspace.

Equations

Locate the named, buildable, but not necessarily importable, module in the workspace.

Equations

Try to find a Lean library in the workspace with the given name.

Equations

Try to find a Lean executable in the workspace with the given name.

Equations

Try to find an external library in the workspace with the given name.

Equations

Try to find a target configuration in the workspace with the given name.

Equations
  • One or more equations did not get rendered due to their size.

Add a module facet to the workspace.

Equations
  • One or more equations did not get rendered due to their size.

Try to find a module facet configuration in the workspace with the given name.

Equations

Add a package facet to the workspace.

Equations
  • One or more equations did not get rendered due to their size.

Try to find a package facet configuration in the workspace with the given name.

Equations

Add a library facet to the workspace.

Equations
  • One or more equations did not get rendered due to their size.

Try to find a library facet configuration in the workspace with the given name.

Equations

The workspace's binary directories (which are added to Path).

Equations

The workspace's Lean library directories (which are added to LEAN_PATH).

Equations

The workspace's source directories (which are added to LEAN_SRC_PATH).

Equations
  • One or more equations did not get rendered due to their size.

The workspace's shared library path (e.g., for --load-dynlib). This is added to the sharedLibPathEnvVar by lake env.

Equations

The detected PATH of the environment augmented with the workspace's binDir and Lean and Lake installations' binDir.

Equations
  • self.augmentedPath = self.binPath ++ self.lakeEnv.path

The detected LEAN_PATH of the environment augmented with the workspace's leanPath and Lake's libDir.

Equations
  • self.augmentedLeanPath = self.leanPath ++ self.lakeEnv.leanPath

The detected LEAN_SRC_PATH of the environment augmented with the workspace's leanSrcPath and Lake's srcDir.

Equations
  • self.augmentedLeanSrcPath = self.leanSrcPath ++ self.lakeEnv.leanSrcPath
Equations
  • self.augmentedSharedLibPath = self.sharedLibPath ++ self.lakeEnv.sharedLibPath

The detected environment augmented with Lake's and the workspace's paths. These are the settings use by lake env / Lake.env to run executables.

Equations
  • One or more equations did not get rendered due to their size.

Remove all packages' build outputs (i.e., delete their build directories).

Equations