lib/capistrano/tasks/middleman.rake in capistrano-middleman-0.1.0 vs lib/capistrano/tasks/middleman.rake in capistrano-middleman-0.1.3

- old
+ new

@@ -1,9 +1,11 @@ +require 'securerandom' namespace :middleman do middleman_options = Array(fetch(:middleman_options, %w(--verbose))) - archive_name = fetch :archive_name, 'archive.zip' + archive_prefix = fetch :archive_prefix, 'archive' + archive_name = format('%s-%s.zip', archive_prefix, SecureRandom.hex) build_dir = fetch :build_dir, 'build' source_dir = fetch :source_dir, 'source' keep_filesystem_permissions = fetch :keep_filesystem_permissions, false directory_permissions = fetch :directory_permissions, 2775 file_permissions = fetch :file_permissions, 0664 @@ -11,23 +13,23 @@ exclude_patterns = Array(fetch(:exclude_patterns)) tar_roles = fetch(:tar_roles, :all) desc "Archive files to #{archive_name}" file archive_name => source_dir do |t| - cmd = %w(middleman build) - cmd.concat middleman_options - sh cmd.join(' ') + run_locally do + execute :middleman, 'build', *middleman_options - Capistrano::Middleman::Utils.zip( - build_dir, - t.name, - working_directory: build_dir, - exclude_patterns: exclude_patterns, - keep_filesystem_permissions: keep_filesystem_permissions, - directory_permissions: directory_permissions, - file_permissions: file_permissions - ) + Capistrano::Middleman::Utils.zip( + build_dir, + t.name, + working_directory: build_dir, + exclude_patterns: exclude_patterns, + keep_filesystem_permissions: keep_filesystem_permissions, + directory_permissions: directory_permissions, + file_permissions: file_permissions + ) + end end desc "Build #{archive_name} on localhost" task build: archive_name do run_locally do @@ -48,24 +50,25 @@ tmp_file = capture('mktemp') # Upload the archive, extract it and finally remove the tmp_file upload!(archive_file, tmp_file) - umask = capture('umask') - debug "umask on remote system #{host} is #{umask}" + # umask = capture('umask') + # debug "umask on remote system #{host} is #{umask}" execute :unzip, tmp_file, '-d', release_path execute :rm, '-f', tmp_file end end desc 'Cleaning up deploy' task :clean do |_t| FileUtils.rm_rf build_dir - FileUtils.rm_rf archive_name + FileUtils.rm_rf format('%s-%s.zip', archive_prefix, '*') end after 'deploy:finished', 'middleman:clean' task :check task :set_current_revision end +