classjig::Builder

sys::Obj
  jig::Builder

Builder spawns fan <build.fan> compile, parses its output, and renders one line per pod with the same live status bar as Runner. The running pod stays pinned above the bar with its current build step to the right in dim text.

Build output is line based: a top level <target> [<pod>] line starts a pod, indented lines are progress steps, and any other top level line is an error or warning for the current pod, until BUILD SUCCESS or BUILD FAILED. Each row is tagged with its target; with several targets a group runs each target across all pods in turn, so each pod gets one row per target.

findPod

Source

static BuildPod? findPod(BuildScript script, Str name)

Find BuildPod for name anywhere under script, or null.

findRoot

Source

static File findRoot()

Root build script: ./build.fan, else <workDir>/src/build.fan.

load

Source

static BuildScript load(File file)

Compile and construct build script, as build::Main does.

main

Source

static Int main(Str[] args, Bool quiet, Bool clean, Bool full, Str? target := null)

Entry point for jig build; each arg is a pod under the root script or a build script path; with no args build the root script. Runs compile unless one of these picks the target: clean only cleans; full cleans, compiles, and tests the built pods once all compile; target runs that build target.

make

Source

new make(File[] scripts, Str[] pods, Str[] targets := ["compile"], Bool quiet := false, Bool? tty := null, OutStream out := Env.cur().out(), File? cwd := null)

Create builder to run targets on each of scripts, which together are expected to build pods.

run

Source

Int run()

Run build and return exit code.