34 lines
987 B
Text
34 lines
987 B
Text
/-
|
|
Copyright (c) 2021 Mac Malone. All rights reserved.
|
|
Released under Apache 2.0 license as described in the file LICENSE.
|
|
Authors: Mac Malone
|
|
-/
|
|
|
|
open System
|
|
namespace Lake
|
|
|
|
/-- The default setting for a `WorkspaceConfig`'s `depsDir` option. -/
|
|
def defaultDepsDir : FilePath := "lean_packages"
|
|
|
|
/-- A `Workspace`'s declarative configuration. -/
|
|
structure WorkspaceConfig where
|
|
/--
|
|
The directory to which Lake should download dependencies.
|
|
Defaults to `defaultDepsDir` (i.e., `lean_packages`).
|
|
-/
|
|
depsDir : FilePath := defaultDepsDir
|
|
deriving Inhabited, Repr
|
|
|
|
/-- A Lake workspace -- the top-level package directory. -/
|
|
structure Workspace where
|
|
/-- The path to the workspace's directory. -/
|
|
dir : FilePath
|
|
/-- The workspace's configuration. -/
|
|
config : WorkspaceConfig
|
|
deriving Inhabited, Repr
|
|
|
|
namespace Workspace
|
|
|
|
/-- The workspace's `dir` joined with its `depsDir` configuration. -/
|
|
def depsDir (self : Workspace) : FilePath :=
|
|
self.dir / self.config.depsDir
|