Class: Dpl::Providers::Packagecloud

Inherits:
Dpl::Provider show all
Defined in:
lib/dpl/providers/packagecloud.rb

Constant Summary collapse

NEED_DIST =

previous implementation checks against all of these in dist_required? but then the error message only lists rmp, deb, python, and dsc. i think the error message might be out of date? so is the option description in the readme (and thus above).

%w(rpm deb dsc whl egg egg-info gz zip tar bz2 z tgz)

Constants inherited from Dpl::Provider

Dpl::Provider::FOLDS, Dpl::Provider::STAGES

Instance Attribute Summary

Attributes inherited from Dpl::Provider

#key_name, #repo_name

Instance Method Summary collapse

Methods inherited from Dpl::Provider

#before_finish, #before_init, #before_install, #before_prepare, #before_setup, #chmod, #cleanup, #cmd, #compact, #err, #error, #escape, examples, #expand, #file?, #finish?, #fold, #fold?, #info, #initialize, install_deps, install_deps?, #mkdir_p, move_files, #msg, #mv, #only, #open, #opt_for, #opt_key, #opts_for, #print, #quote, #read, #remove_dpl_dir, #rm_rf, #run, #run_cmd, #run_cmds, #run_stage, #run_stage?, #script, #setup_dpl_dir, #setup_git_config, #setup_git_http_user_agent, #setup_git_ssh, #setup_ssh_key, #shell, #sq, #ssh_keygen, #symbolize, #try_ssh_access, #uncleanup, unmove_files, validate_runtimes, #wait_for_ssh_access, #warn

Methods included from Dpl::Provider::Dsl

#apt, #apt?, #cmds, #description, #env, #errs, #full_name, #gem, #gem?, #keep, #move, #msgs, #needs, #needs?, #node_js, #npm, #npm?, #opt, #path, #pip, #pip?, #python, #ruby_pre?, #ruby_version, #runtimes, #status, #strs, #summary, #user_agent, #vars

Methods included from Squiggle

#sq

Methods included from Assets

#asset

Methods included from Env

included, #opts

Methods included from ConfigFile

included, #opts

Methods included from Interpolate

#interpolate, #obfuscate, #vars

Methods included from Memoize

included

Constructor Details

This class inherits a constructor from Dpl::Provider

Instance Method Details

#deployObject



74
75
76
77
78
79
# File 'lib/dpl/providers/packagecloud.rb', line 74

def deploy
  packages.each do |package|
    delete(package) if force?
    push(package)
  end
end

#finishObject



81
82
83
# File 'lib/dpl/providers/packagecloud.rb', line 81

def finish
  Dir.chdir(@cwd)
end

#installObject



50
51
52
53
# File 'lib/dpl/providers/packagecloud.rb', line 50

def install
  @cwd = Dir.pwd
  Dir.chdir(local_dir)
end

#loginObject



55
56
57
58
59
60
61
# File 'lib/dpl/providers/packagecloud.rb', line 55

def 
  info :authenticate
  info :timeouts
  client
rescue ::Packagecloud::UnauthenticatedException
  error :unauthenticated
end

#timeout_infoObject



63
64
65
# File 'lib/dpl/providers/packagecloud.rb', line 63

def timeout_info
  to_pairs(timeouts)
end

#validateObject



67
68
69
70
71
72
# File 'lib/dpl/providers/packagecloud.rb', line 67

def validate
  error :missing_packages if paths.empty?
  error :missing_dist if missing_dist?
  info :supported_packages, paths.join(', ')
  info :source_packages, source_paths.join(', ') if source_paths.any?
end