Automatically skip assets precompiling if no changes were made.
Be sure you have lib/assets
vendor/assets
lib/assets/
directories !! If want to have empty directories, create .keep
file !
# config/recipes/assets.rb | |
namespace :deploy do | |
namespace :assets do | |
task :precompile, roles: :web, except: { no_release: true } do | |
from = source.next_revision(current_revision) | |
if releases.length <= 1 || capture("cd #{latest_release} && #{source.local.log(from)} vendor/assets/ lib/assets/ app/assets/ | wc -l").to_i > 0 | |
run %Q{cd #{latest_release} && #{rake} RAILS_ENV=#{rails_env} #{asset_env} assets:precompile} | |
else | |
logger.info "Skipping asset pre-compilation because there were no asset changes" | |
end | |
end | |
end | |
end |
load 'deploy' if respond_to?(:namespace) # cap2 differentiator | |
load 'deploy/assets' | |
Dir['config/recipes/*.rb'].each { |plugin| load(plugin) } | |
load 'config/deploy' |