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' |