Sha256: 761b90662cfae3c79573b75f526fb8ef7d6b0b12fa009142b1394b6baff7e40a
Contents?: true
Size: 1.8 KB
Versions: 2
Compression:
Stored size: 1.8 KB
Contents
require "capistrano/upload_task" module Capistrano module TaskEnhancements def before(task, prerequisite, *args, &block) prerequisite = Rake::Task.define_task(prerequisite, *args, &block) if block_given? Rake::Task[task].enhance [prerequisite] end def after(task, post_task, *args, &block) Rake::Task.define_task(post_task, *args, &block) if block_given? task = Rake::Task[task] task.enhance do post = Rake.application.lookup(post_task, task.scope) raise ArgumentError, "Task #{post_task.inspect} not found" unless post post.invoke end end def remote_file(task) warn("[Deprecation Warning] `remote_file` is deprecated and will be "\ "removed in Capistrano 3.7.0") target_roles = task.delete(:roles) { :all } define_remote_file_task(task, target_roles) end def define_remote_file_task(task, target_roles) Capistrano::UploadTask.define_task(task) do |t| prerequisite_file = t.prerequisites.first file = shared_path.join(t.name) on roles(target_roles) do unless test "[ -f #{file.to_s.shellescape} ]" info "Uploading #{prerequisite_file} to #{file}" upload! File.open(prerequisite_file), file end end end end def ensure_stage Rake::Task.define_task(:ensure_stage) do unless stage_set? puts t(:stage_not_set) exit 1 end end end def tasks_without_stage_dependency stages + default_tasks end def default_tasks %w{install} end def exit_deploy_because_of_exception(ex) warn t(:deploy_failed, ex: ex.message) invoke "deploy:failed" exit(false) end def deploying? fetch(:deploying, false) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
capistrano-3.6.1 | lib/capistrano/dsl/task_enhancements.rb |
capistrano-3.6.0 | lib/capistrano/dsl/task_enhancements.rb |