mirror of
https://github.com/capistrano/capistrano
synced 2023-03-27 23:21:18 -04:00
optimise mkdir commands
This commit is contained in:
parent
e55dbd70e1
commit
56b2917730
2 changed files with 24 additions and 13 deletions
|
@ -42,6 +42,22 @@ module Capistrano
|
|||
def asset_timestamp
|
||||
env.timestamp.strftime("%Y%m%d%H%M.%S")
|
||||
end
|
||||
|
||||
def linked_dirs(parent)
|
||||
fetch(:linked_dirs, []).map { |dir| parent.join(dir) }
|
||||
end
|
||||
|
||||
def linked_files(parent)
|
||||
fetch(:linked_files, []).map { |file| parent.join(file) }
|
||||
end
|
||||
|
||||
def linked_file_dirs(parent)
|
||||
linked_files(parent).map { |file| file.dirname }
|
||||
end
|
||||
|
||||
def linked_dir_parents(parent)
|
||||
linked_dirs(parent).map { |dir| dir.dirname }
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -36,21 +36,16 @@ namespace :deploy do
|
|||
desc 'Check directories to be linked exist in shared'
|
||||
task :linked_dirs do
|
||||
on roles :app do
|
||||
fetch(:linked_dirs).each do |dir|
|
||||
dir = shared_path.join(dir)
|
||||
execute :mkdir, '-pv', dir
|
||||
end
|
||||
execute :mkdir, '-pv', linked_dirs(shared_path)
|
||||
end
|
||||
end
|
||||
|
||||
desc 'Check files to be linked exist in shared'
|
||||
task :linked_files do
|
||||
on roles :app do |host|
|
||||
fetch(:linked_files).each do |file|
|
||||
file_path = shared_path.join(file)
|
||||
parent = file_path.dirname
|
||||
execute :mkdir, '-pv', parent
|
||||
unless test "[ -f #{file_path} ]"
|
||||
execute :mkdir, '-pv', linked_file_dirs(shared_path)
|
||||
linked_files(shared_path).each do |file|
|
||||
unless test "[ -f #{file} ]"
|
||||
error t(:linked_file_does_not_exist, file: file, host: host)
|
||||
exit 1
|
||||
end
|
||||
|
@ -77,11 +72,11 @@ namespace :deploy do
|
|||
desc 'Symlink linked directories'
|
||||
task :linked_dirs do
|
||||
on roles :app do
|
||||
execute :mkdir, '-pv', linked_dir_parents(release_path)
|
||||
|
||||
fetch(:linked_dirs).each do |dir|
|
||||
target = release_path.join(dir)
|
||||
source = shared_path.join(dir)
|
||||
parent = target.dirname
|
||||
execute :mkdir, '-pv', parent
|
||||
unless test "[ -L #{target} ]"
|
||||
if test "[ -f #{target} ]"
|
||||
execute :rm, '-rf', target
|
||||
|
@ -95,11 +90,11 @@ namespace :deploy do
|
|||
desc 'Symlink linked files'
|
||||
task :linked_files do
|
||||
on roles :app do
|
||||
execute :mkdir, '-pv', linked_file_dirs(release_path)
|
||||
|
||||
fetch(:linked_files).each do |file|
|
||||
target = release_path.join(file)
|
||||
source = shared_path.join(file)
|
||||
parent = target.dirname
|
||||
execute :mkdir, '-pv', parent
|
||||
unless test "[ -L #{target} ]"
|
||||
if test "[ -f #{target} ]"
|
||||
execute :rm, target
|
||||
|
|
Loading…
Add table
Reference in a new issue