class Capistrano::Deploy::Strategy::GradleBuild

Public Instance Methods

deploy!() click to toggle source
# File lib/capistrano/recipes/deploy/strategy/gradle_build.rb, line 7
def deploy!
  execute "Running gradle build command" do
    unless self.gradle_working_dir
      set :gradle_working_dir, "./"
    end

    run_locally "cd #{gradle_working_dir} && #{gradle_home}/gradle #{gradle_cmd.gsub!('{release_name}', "#{File.basename(destination)}.tar")}"
    run_locally "cd #{gradle_working_dir} && mv build/distributions/#{File.basename(destination)}.tar #{copy_dir}"
  end

  run_locally "mkdir #{copy_dir}/#{File.basename(destination)}"
  create_revision_file
  run_locally "tar rf #{copy_dir}/#{File.basename(destination)}.tar #{copy_dir}/#{File.basename(destination)}/REVISION"
  run_locally "gzip #{copy_dir}/#{File.basename(destination)}.tar"
  distribute!
ensure
  rollback_changes
end
rollback_changes() click to toggle source
# File lib/capistrano/recipes/deploy/strategy/gradle_build.rb, line 26
def rollback_changes
  run_locally "cd #{gradle_working_dir} && rm -rf build/distributions/*"
  run_locally "rm -rf #{copy_dir}/#{File.basename(destination)}*"
end