Types
JBBPackage = ref object name*: string version*: string baseUrl*: string isGit*: bool url*: string sharedLibs*: seq[string] staticLibs*: seq[string] requires*: seq[JBBPackage] skipRequires*: seq[string]
- JBBPackage type that stores package information
Procs
proc `==`(pkg1, pkg2: JBBPackage): bool {...}{.raises: [], tags: [].}
- Check if two JBBPackage objects are equal
proc newJBBPackage(name, version: string): JBBPackage {...}{.raises: [], tags: [].}
- Create a new JBBPackage with specified name and version
proc getJBBRepo(pkg: JBBPackage; outdir: string) {...}{. raises: [ValueError, OSError, Exception, IOError, KeyError], tags: [ReadDirEffect, ExecIOEffect, ReadIOEffect, RootEffect, WriteIOEffect, ReadEnvEffect].}
- Clone JBB package repo and checkout version tag if version is specified in package
proc loadJBBInfo(outdir: string): JBBPackage {...}{.raises: [], tags: [ReadDirEffect, ReadIOEffect, WriteIOEffect].}
- Load cached package info from outdir/jbbinfo.json
proc saveJBBInfo(pkg: JBBPackage; outdir: string) {...}{.raises: [IOError], tags: [WriteIOEffect].}
- Save downloaded package info to outdir/jbbinfo.json
proc downloadJBB(pkg: JBBPackage; outdir: string; main = true) {...}{. raises: [OSError, ValueError, Exception, IOError, KeyError], tags: [ReadDirEffect, ReadIOEffect, WriteIOEffect, ExecIOEffect, RootEffect, ReadEnvEffect].}
-
Download pkg from BinaryBuilder.org to outdir
High-level API that handles the end to end JBB process flow to find latest package binary and downloads and extracts it to outdir.
proc dlJBBRequires(pkg: JBBPackage; outdir: string) {...}{. raises: [KeyError, OSError, ValueError, Exception, IOError], tags: [ReadDirEffect, ReadIOEffect, WriteIOEffect, ExecIOEffect, RootEffect, ReadEnvEffect].}
- Download all required dependencies of this pkg
proc getJBBLDeps(pkg: JBBPackage; outdir: string; shared: bool; main = true): seq[string] {...}{. raises: [ValueError], tags: [].}
-
Get all BinaryBuilder.org libs - shared (.so|.dll) or static (.a|.lib) in pkg, including deps in descending order
outdir is prefixed to each entry