Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

...

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:

...

!image:project-deps.png|width=800!

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.

...