bau/atlas

Wraps Atlas dependency operations used by Bau.

Procs

proc atlasDepsDir(projectDir: string): string {....raises: [], tags: [],
    forbids: [].}
Return the dependency materialization directory used by Atlas.
proc atlasDir(projectDir: string): string {....raises: [], tags: [], forbids: [].}
Return the Atlas metadata directory for a project.
proc atlasInitialized(projectDir: string): bool {....raises: [],
    tags: [ReadDirEffect], forbids: [].}
Return true when Atlas metadata exists for the project.
proc initAtlas(projectDir: string; verbose: bool = false) {.
    ...raises: [OSError, IOError, ValueError], tags: [ReadDirEffect, ReadEnvEffect,
    ReadIOEffect, WriteIOEffect, ExecIOEffect, RootEffect, TimeEffect],
    forbids: [].}
Initialize Atlas metadata for the project when needed.
proc installDeps(projectDir: string; verbose: bool = false) {.
    ...raises: [IOError, OSError, ValueError, TomlError, KeyError, Exception], tags: [
    ReadDirEffect, WriteIOEffect, ReadEnvEffect, ReadIOEffect, ExecIOEffect,
    RootEffect, TimeEffect], forbids: [].}
Install dependencies for a Bau project, falling back to Atlas install.
proc runAtlas(args: openArray[string]; projectDir: string; verbose: bool = false): tuple[
    exitCode: int, output: string] {....raises: [OSError, IOError, ValueError], tags: [
    ReadDirEffect, ReadEnvEffect, ReadIOEffect, WriteIOEffect, ExecIOEffect,
    RootEffect, TimeEffect], forbids: [].}
Run Atlas with Bau's project and dependency directory arguments.
proc runAtlasChecked(args: openArray[string]; projectDir: string;
                     verbose: bool = false): string {.
    ...raises: [OSError, IOError, ValueError], tags: [ReadDirEffect, ReadEnvEffect,
    ReadIOEffect, WriteIOEffect, ExecIOEffect, RootEffect, TimeEffect],
    forbids: [].}
Run Atlas and raise IOError when it exits with a nonzero status.
proc syncDeps(cfg: BauConfig; projectDir: string; verbose: bool = false;
              featureSelection: FeatureSelection = FeatureSelection()) {.
    ...raises: [IOError, OSError, ValueError], tags: [WriteIOEffect, ReadDirEffect,
    ReadEnvEffect, ReadIOEffect, ExecIOEffect, RootEffect, TimeEffect],
    forbids: [].}
Materialize enabled dependencies declared in cfg through Atlas.
proc updateDeps(projectDir: string; filter: string = ""; verbose: bool = false) {.
    ...raises: [OSError, IOError, ValueError], tags: [ReadDirEffect, ReadEnvEffect,
    ReadIOEffect, WriteIOEffect, ExecIOEffect, RootEffect, TimeEffect],
    forbids: [].}
Ask Atlas to update dependencies, optionally limiting to one filter.