/doc/decorators/follows.rst

https://code.google.com/p/ruffus/ · ReStructuredText · 69 lines · 44 code · 25 blank · 0 comment · 0 complexity · a0f2e0a15ce3e40d3f4698ffede55253 MD5 · raw file

  1. .. include:: ../global.inc
  2. .. _decorators.follows:
  3. .. index::
  4. pair: @follows; Syntax
  5. .. seealso::
  6. * :ref:`Decorators <decorators>` for more decorators
  7. * More on @follows in the ``Ruffus`` :ref:`Manual <manual.follows>`
  8. ############
  9. @follows
  10. ############
  11. .. |task| replace:: `task`
  12. .. _task: `decorators.follows.task`_
  13. .. |task_name| replace:: `"task_name"`
  14. .. _task_name: `decorators.follows.task_name`_
  15. .. |directory_name| replace:: `directory_name`
  16. .. _directory_name: `decorators.follows.directory_name`_
  17. ***************************************************************************************************************************************************
  18. *@follows*\ (|task|_ | |task_name|_ | :ref:`mkdir<decorators.mkdir>` (|directory_name|_), [more_tasks, ...])
  19. ***************************************************************************************************************************************************
  20. **Purpose:**
  21. Indicates task dependencies
  22. **Example**::
  23. def task1():
  24. print "doing task 1"
  25. @follows(task1)
  26. def task2():
  27. print "doing task 2"
  28. **Parameters:**
  29. .. _decorators.follows.task:
  30. * *task*:
  31. a list of tasks which have to be run **before** this function
  32. .. _decorators.follows.task_name:
  33. * *"task_name"*:
  34. Dependencies can be quoted function names.
  35. Quoted function names allow dependencies to be added before the function is defined.
  36. Functions in other modules need to be fully qualified.
  37. .. _decorators.follows.directory_name:
  38. * *directory_name*:
  39. Directories which need to be created (if they don't exist) before
  40. the task is run can be specified via a ``mkdir`` indicator object:
  41. ::
  42. @follows(task_x, mkdir("/output/directory") ...)
  43. def task():
  44. pass