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"