hara.runtime.basic.type-twostep

invoke-ptr-twostep

added in 4.0

(invoke-ptr-twostep {:keys [process lang layout], :as rt, :or {layout :full}} ptr args)

invokes twostep pointer

local-exec-available?

added in 4.1

(local-exec-available? exec)

checks if the resolved twostep executable exists locally

raw-eval-twostep

added in 4.0

(raw-eval-twostep {:keys [exec process], :as rt} body)

evaluates the twostep evaluation

rt-twostep

added in 4.0

(rt-twostep {:keys [id lang runtime program process], :as m})

creates an active twostep runtime

rt-twostep-setup

added in 4.0

(rt-twostep-setup lang program process exec)(rt-twostep-setup lang program process exec context)

setup params for the twostep runtime

rt-twostep:create

added in 4.0

(rt-twostep:create {:keys [id lang runtime exec program process], :as m, :or {runtime :twostep}})

creates a twostep runtime

sh-exec

added in 4.0

(sh-exec input-args input-body {:keys [pipe trim stderr raw root extension output-flag], :as opts, :or {trim clojure.string/trim-newline}})

basic function for executing the compile and run process

sh-exec-docker

added in 4.1

(sh-exec-docker input-args input-body {:keys [trim stderr raw root extension output-flag container], :as opts, :or {trim clojure.string/trim-newline}})

executes the compile and run process inside a Docker container

sh-exec-portable

added in 4.1

(sh-exec-portable input-args input-body {:keys [container container-backup force-container], :as opts})

uses local twostep execution when the compiler is available, otherwise falls back to Docker when configured