Sha256: d745dae667733e54426b4b53fe8dfe0db0010459781308d41e6cbe4ae697432d
Contents?: true
Size: 2 KB
Versions: 1
Compression:
Stored size: 2 KB
Contents
module DPL class Provider class PyPI < Provider DEFAULT_SERVER = 'https://pypi.python.org/pypi' PYPIRC_FILE = '~/.pypirc' def self.install_setuptools shell 'wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo python' shell 'rm -f setuptools-*.zip' end def initialize(*args) super(*args) self.class.pip 'twine' self.class.pip 'wheel' if options[:distributions].to_s.include? 'bdist_wheel' end install_setuptools def config { :header => '[distutils]', :servers_line => 'index-servers = pypi', :servers => { 'pypi' => [ "repository: #{options[:server] || DEFAULT_SERVER}", "username: #{option(:user)}", "password: #{option(:password)}", ] } } end def write_servers(f) config[:servers].each do |key, val| f.puts " " * 4 + key end config[:servers].each do |key, val| f.puts "[#{key}]" f.puts val end end def write_config File.open(File.expand_path(PYPIRC_FILE), 'w') do |f| config.each do |key, val| f.puts(val) if val.is_a? String or val.is_a? Array end write_servers(f) end end def check_auth write_config log "Authenticated as #{option(:user)}" end def check_app end def needs_key? false end def push_app context.shell "python setup.py #{options[:distributions] || 'sdist'}" context.shell "twine upload -r pypi dist/*" context.shell "rm -rf dist/*" if options[:docs_dir] docs_dir_option = '--upload-dir ' + options[:docs_dir] else docs_dir_option = '' end context.shell "python setup.py upload_docs #{docs_dir_option} -r #{options[:server] || 'pypi'}" end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
dpl-1.7.19.travis.929.4 | lib/dpl/provider/pypi.rb |