Encapsulation Procedures

In an encapsulation script, you can use the following Tcl procedures:

VovInput

Description
Declares an input of a job
Usage
VovInput [options] <FILE>
Aliases
I
Options
-sticky
Specify that the input is an input, even if it's not actually a true input at runtime.
-consumed
Specify that the input disappears if the tool completes successfully (e.g. the tool gzip consumes its input).
-db <name>
Specifies the database of the input, which defaults to "FILE"
-links
Declare as inputs all symbolic links used to canonicalize the name of file.
-quote
Use the input name as given, instead of mapping it to the corresponding logical canonical name.
-normal
Use default flag settting.

VovOutput

Description
Declares an output of a job
Usage
VovOutput [options] <FILE>
Aliases
O
Options
-sticky
Specify that the output is an output, even if it's not actually a true output at runtime.
-ignore_timestamp
Specifies that the timestamp of the file should not be used to determine whether the job has succeeded or failed.
-db <name>
Specifies the database of the input, which defaults to "FILE"
-shared
State the output is the shared by many tools. FlowTracer ignores the timestamp of the shared outputs and serializes the execution of the jobs that contribute to the shared output.
-stop_barrier
Specify there is a barrier on the output, where the barrier is effective in stopping change propagation on and output.
-propagate_barrier
Specify there is a barrier on the output, where the barrier is deemed to be ineffective in stopping change propagation on this output.
-optional
Specify that the output file may or may not exist upon completion of the job. If the file does not exist, it is removed from the list of outputs. If the file does exist, it must obey the rules of all outputs, i.e. have a valid timestamp relative to the lifespan of the job. If an older file already exists and it is not an output of the job, the job will fail for having an output with a bad timestamp, i.e. older than the job start time. If this can happen in your flow, you may want to add the option -ignore_timestamp together with -optional.
-links
Declare as input (notice: input and not output!) all symbolic links used to canonicalize the name of file.
-normal
Use default flag settting.

VovExecutable

Description
Declares an executable as an input. This is equivalent to VovInput except that the argument is assumed to be an executable file and is searched for using the PATH variable.
Usage
VovExecutable <FILE>
Aliases
None
Options
None

VovStdoutCrtl

Description
Controls the disposition of both stdout and stderr. By default, everything printed by the tool to stdout or to stderr is saved into a file. The name of the file normally depends on the command line and on the value of the environment variable VOV_STDOUT_SPEC.
Usage
VovStdoutCtrl [options]
Aliases
I
Options
-normal
Save stdout and stderr if they are non empty.
-ignore
Stdout and stderr are ignored (they are not saved).
-forget_if_success
If the tool competes successfully, stdout is deleted and forgotten even if it is not empty; stderr, if any, is always saved.
-spec "string"
Change the string used to generate the name of the files used to store stderr and stdout. This string may contain the substrings @OUT@ and @UNIQUE@ and @ID@, which are appropriately replaced by FlowTracer.
Examples
# This is constant across retraces.
VovStdoutCtrl -spec savestd/@OUT@-@UNIQUE@.txt

# This changes with every invocation of the job.
VovStdoutCtrl -spec savestd/@OUT@-@ID@.txt

VovCorrectExitStatus

Description
Specifies which exit status values signify correct behavior. By default, only the value 0 (zero) is acceptable as the indicator of successful tool termination. For certain tools, other non-zero values may also indicate successful termination. The string is a space-separated list of positive integers and ranges of integers. A range of integers is expressed with a dash separating the lower limit from the upper limit.
Usage
VovCorrectExitStatus "<space-delimited-string-of-exit-value>"
Aliases
None
Options
None
Examples
VovCorrectExitStatus "0-5"
VovCorrectExitStatus "0 10-15 77"