...
Buildr lets you easily define common build tasks and their dependencies using a project structure and standardized tasks such as "compile", "test", "package", etc.
Execution Order
Buildr/Rake determine determines the order of execution of tasks through dependency analysis (also known as topological sorting); If Buildr at runtime by ensuring that a task's dependencies are executed first (recursively). Runtime dependency resolution means tasks can be created and ordered dynamically. If Rake detects a cyclic dependency while executing the invocation chain, it will let you know.
Goal Oriented
Buildr/Rake will only execute tasks required to achieve the goal(s) specified on the command-line, or the
default
task if no goals are specified. If a task does not execute, it's because it's not required as part of the transitive dependencies of the goal(s).
...
Standard project tasks and their dependencies are:
...
Concurrency Support
Buildr/Rake support concurrent task execution to shorten build time. Rake's internal data structures are thread-safe with respect to concurrent task execution. However, if data is shared between potentially concurrent tasks, it's the tasks' responsibility to prevent race conditions and data corruption.
...