mirror of
https://github.com/capistrano/capistrano
synced 2023-03-27 23:21:18 -04:00
Merge pull request #1397 from Futurelearn/master
Bind post_task lazily in TaskEnhancements#after.
This commit is contained in:
commit
07ceeececb
3 changed files with 14 additions and 2 deletions
|
@ -11,6 +11,7 @@ https://github.com/capistrano/capistrano/compare/v3.4.0...HEAD
|
|||
* Minor changes
|
||||
* Fix filtering behaviour when using literal hostnames in on() block (@townsen)
|
||||
* Added options to set username and password when using Subversion as SCM (@dsthode)
|
||||
* Allow after() to refer to tasks that have not been loaded yet (@jcoglan)
|
||||
|
||||
## `3.4.0`
|
||||
|
||||
|
|
|
@ -9,9 +9,8 @@ module Capistrano
|
|||
|
||||
def after(task, post_task, *args, &block)
|
||||
Rake::Task.define_task(post_task, *args, &block) if block_given?
|
||||
post_task = Rake::Task[post_task]
|
||||
Rake::Task[task].enhance do
|
||||
post_task.invoke
|
||||
Rake::Task[post_task].invoke
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -54,6 +54,18 @@ module Capistrano
|
|||
expect(order).to eq(['before_task', 'task', 'after_task'])
|
||||
end
|
||||
|
||||
it 'invokes in proper order when referring to as-yet undefined tasks' do
|
||||
task_enhancements.after('task', 'not_loaded_task')
|
||||
|
||||
Rake::Task.define_task('not_loaded_task') do
|
||||
order.push 'not_loaded_task'
|
||||
end
|
||||
|
||||
Rake::Task['task'].invoke order
|
||||
|
||||
expect(order).to eq(['task', 'not_loaded_task'])
|
||||
end
|
||||
|
||||
it 'invokes in proper order and with arguments and block' do
|
||||
task_enhancements.after('task', 'after_task_custom', :order) do |t, args|
|
||||
order.push 'after_task'
|
||||
|
|
Loading…
Reference in a new issue