Skip to content
Aaron Crow edited this page Sep 19, 2013 · 3 revisions

This page provides information about what's in Drake step data when that data is passed to the run function of a Drake step Protocol implementation.

Entries

This documents some of the more useful entries you'll find in the step data. It is not exhaustive.

cmds: A sequence of Strings from the body of the step. Each element is a line of the step body.

outputs: A sequence of the step's outputs.

opts: A hash-map of the specified options of the step. Will always include an entry for :protocol, the step's protocol

vars: A hash-map representing the environment variables under which the step is running.

Example step data hash-map

Below is a real-world example from running using the echostep plugin.

Here's the step:

echostep.out <- in.txt [echostep +myopt]
  A command
  another command
  last command

And here's the resulting contents of echostep.out (except I've removed some of the more tedious entries from the :vars map):

{:children #{},
 :cmds ("A command" "another command" "last command  "),
 :outputs ("/Users/aaroncrow/workspace/drake/echostep.out"),
 :dir "/Users/aaroncrow/workspace/drake/.drake/echostep.out",
 :parents #{},
 :input-tags (),
 :output-tags (),
 :raw-outputs ["echostep.out"],
 :inputs ("/Users/aaroncrow/workspace/drake/in.txt"),
 :opts {:myopt true, :protocol "echostep"}
 :vars
 {"LEIN_HOME" "/Users/aaroncrow/.lein",
  "OUTPUT" "/Users/aaroncrow/workspace/drake/echostep.out",
  "DISPLAY" "/tmp/launch-OSjaXZ/org.x:0",
  "rvm_version" "1.9.2",
  "INPUTN" 1,
  "SSH_AUTH_SOCK" "/tmp/launch-BIQhO5/Listeners",
  "INPUT0" "/Users/aaroncrow/workspace/drake/in.txt",
  "INPUTS" "/Users/aaroncrow/workspace/drake/in.txt",
  "INPUT" "/Users/aaroncrow/workspace/drake/in.txt",
  "USER" "aaroncrow",
  "TERM" "xterm-color",
  "OUTPUTN" 1,
  "LANG" "en_US.UTF-8",
  "OUTPUT0" "/Users/aaroncrow/workspace/drake/echostep.out",
  "SHELL" "/bin/bash",
  "BASE" "",
  "OUTPUTS" "/Users/aaroncrow/workspace/drake/echostep.out"}}