dpl 1.9.1.travis.2669.5 → 1.9.1.travis.2689.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.travis.yml +4 -6
- data/Rakefile +62 -10
- data/gemspec_helper.rb +1 -0
- data/lib/dpl/provider.rb +12 -8
- data/lib/dpl/version.rb +1 -1
- metadata +16 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 1d57a4757298450c261675de95dbfec3c872654f5a9254cb37421bee9bf2a90e
|
|
4
|
+
data.tar.gz: 65af2a43706237c712d1b49289691f1745dbcaa44c5155538a4835a7db287039
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 19fcd00cec99be64611cc80b5edc507a829899c22355307335c3b2b375379cc3d243221fdb81f1e4d888da7e75931a7ceae461118bbad8d622f4b3e1b32ab19c
|
|
7
|
+
data.tar.gz: c82543adcf7c164777a9b40138e37dbb8882dd3f779e037fe3cb6a50d208f4bdf18f287da1078cb75d1c7f6ecb078b427f5324031f1fba9c0e06e4d911922799
|
data/.travis.yml
CHANGED
|
@@ -8,8 +8,6 @@ rvm:
|
|
|
8
8
|
jobs:
|
|
9
9
|
include:
|
|
10
10
|
- stage: deploy
|
|
11
|
-
install: true
|
|
12
|
-
script: true
|
|
13
11
|
cache: false
|
|
14
12
|
before_deploy:
|
|
15
13
|
- sed -i.bak "s/VERSION = '.*'/VERSION = '${DPL_VERSION}'/g" lib/dpl/version.rb
|
|
@@ -19,16 +17,16 @@ jobs:
|
|
|
19
17
|
- git commit -m "Update DPL::Version"
|
|
20
18
|
deploy:
|
|
21
19
|
- provider: rubygems
|
|
20
|
+
script: skip
|
|
21
|
+
edge:
|
|
22
|
+
branch: master
|
|
22
23
|
api_key:
|
|
23
24
|
secure: ZmZoDL1tilWvQrqRWDm2K4xQ5Grt9eRJzYVZPLANR0P1TM5BJBLk+UhWCWCPkkDVIBWMa5ANsiFYBxtH65Lw+uqMztSpVusk0l0LQXZGv9jMpT9445A8008U3vvfS0ke7IG8Q4bMAC7Sd6VGaiHDyZC7zmNvnqMpmVX7ShcgBME=
|
|
24
25
|
gem: dpl
|
|
25
|
-
edge:
|
|
26
|
-
branch: v1.9
|
|
27
26
|
gemspec_glob: 'dpl*.gemspec'
|
|
28
27
|
on:
|
|
29
28
|
repo: travis-ci/dpl
|
|
30
|
-
|
|
31
|
-
if: NOT type IN (pull_request)
|
|
29
|
+
if: branch = master AND NOT type IN (pull_request)
|
|
32
30
|
|
|
33
31
|
env:
|
|
34
32
|
global:
|
data/Rakefile
CHANGED
|
@@ -3,9 +3,16 @@ require 'term/ansicolor'
|
|
|
3
3
|
require 'pathname'
|
|
4
4
|
require 'logger'
|
|
5
5
|
require './lib/dpl/version'
|
|
6
|
+
require 'highline'
|
|
6
7
|
|
|
7
8
|
include Term::ANSIColor
|
|
8
9
|
|
|
10
|
+
def cli
|
|
11
|
+
@cli ||= HighLine.new
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
@ready = false
|
|
15
|
+
|
|
9
16
|
def logger
|
|
10
17
|
@logger ||= Logger.new($stdout)
|
|
11
18
|
end
|
|
@@ -18,29 +25,68 @@ def gem_version
|
|
|
18
25
|
ENV['DPL_VERSION'] || DPL::VERSION
|
|
19
26
|
end
|
|
20
27
|
|
|
28
|
+
def confirm(verb = "release")
|
|
29
|
+
unless @ready
|
|
30
|
+
answer = cli.ask "Ready to #{verb} `dpl` version #{gem_version}? (y/n)"
|
|
31
|
+
if answer !~ /^y/i
|
|
32
|
+
abort red("Aborting #{verb}")
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
@ready = true
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
|
|
21
39
|
gemspecs = FileList[File.join(top, "dpl-*.gemspec")]
|
|
22
40
|
|
|
23
41
|
providers = gemspecs.map { |f| /dpl-(?<provider>.*)\.gemspec/ =~ f && provider }
|
|
24
42
|
|
|
25
|
-
dpl_bin = File.join(Gem.bindir, "dpl")
|
|
26
|
-
|
|
27
43
|
task :default => [:spec, :install] do
|
|
28
44
|
Rake::Task["spec_providers"].invoke
|
|
29
45
|
Rake::Task["check_providers"].invoke
|
|
30
46
|
end
|
|
31
47
|
|
|
48
|
+
desc "Run spec on all providers"
|
|
32
49
|
task :spec_providers do
|
|
33
50
|
providers.each do |provider|
|
|
34
51
|
Rake::Task["spec-#{provider}"].invoke
|
|
35
52
|
end
|
|
36
53
|
end
|
|
37
54
|
|
|
55
|
+
desc "Check all provider gems install correctly"
|
|
38
56
|
task :check_providers do
|
|
39
57
|
providers.each do |provider|
|
|
40
58
|
Rake::Task["check-#{provider}"].invoke
|
|
41
59
|
end
|
|
42
60
|
end
|
|
43
61
|
|
|
62
|
+
desc "Build all gems"
|
|
63
|
+
task :build => "dpl-#{gem_version}.gem" do
|
|
64
|
+
providers.each do |provider|
|
|
65
|
+
Rake::Task["dpl-#{provider}-#{gem_version}.gem"].invoke
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
desc "Release all gems"
|
|
70
|
+
task :release do
|
|
71
|
+
confirm
|
|
72
|
+
threads = []
|
|
73
|
+
providers.each { |provider| threads << Thread.new { Rake::Task["release-#{provider}"].invoke } }
|
|
74
|
+
threads.each { |thr| thr.join }
|
|
75
|
+
logger.info green("Pushing dpl-#{gem_version}.gem")
|
|
76
|
+
sh "gem push dpl-#{gem_version}.gem"
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
desc "Yank all gems"
|
|
80
|
+
task :yank, [:version] do |t, args|
|
|
81
|
+
version = args.version
|
|
82
|
+
confirm "yank"
|
|
83
|
+
logger.info green("Yanking `dpl` version #{version}")
|
|
84
|
+
sh "gem yank dpl -v #{version}"
|
|
85
|
+
threads = []
|
|
86
|
+
providers.each { |provider| threads << Thread.new { Rake::Task["yank-#{provider}"].invoke } }
|
|
87
|
+
threads.each { |thr| thr.join }
|
|
88
|
+
end
|
|
89
|
+
|
|
44
90
|
task :deep_clean do
|
|
45
91
|
Rake::Task[:clean].invoke
|
|
46
92
|
sh "git clean -dfx"
|
|
@@ -64,10 +110,6 @@ end
|
|
|
64
110
|
|
|
65
111
|
desc "Install dpl gem"
|
|
66
112
|
task :install => "dpl-#{gem_version}.gem" do
|
|
67
|
-
Rake::FileTask[dpl_bin].invoke
|
|
68
|
-
end
|
|
69
|
-
|
|
70
|
-
file dpl_bin do
|
|
71
113
|
logger.info green("Installing dpl gem")
|
|
72
114
|
ruby "-S gem install dpl-#{gem_version}.gem"
|
|
73
115
|
end
|
|
@@ -81,10 +123,9 @@ providers.each do |provider|
|
|
|
81
123
|
end
|
|
82
124
|
|
|
83
125
|
desc %Q(Run dpl-#{provider} specs)
|
|
84
|
-
task "spec-#{provider}" => [:install, "Gemfile-#{provider}"] do
|
|
126
|
+
task "spec-#{provider}" => [:install, "Gemfile-#{provider}"] do
|
|
127
|
+
sh "rm -f $HOME/.npmrc"
|
|
85
128
|
logger.info green("Running `bundle install` for #{provider}")
|
|
86
|
-
# rm_rf 'stubs'
|
|
87
|
-
# rm_rf '.bundle'
|
|
88
129
|
sh 'bash', '-cl', "bundle install --gemfile=Gemfile-#{provider} --path=vendor/cache/dpl-#{provider} --retry=3 --binstubs=stubs"
|
|
89
130
|
logger.info green("Running specs for #{provider}")
|
|
90
131
|
sh "env BUNDLE_GEMFILE=Gemfile-#{provider} ./stubs/rspec spec/provider/#{provider}_spec.rb"
|
|
@@ -104,5 +145,16 @@ providers.each do |provider|
|
|
|
104
145
|
ruby "-S dpl --provider=#{provider} --skip-cleanup=true --no-deploy"
|
|
105
146
|
end
|
|
106
147
|
|
|
107
|
-
|
|
148
|
+
desc "Release dpl-#{provider} gem"
|
|
149
|
+
task "release-#{provider}" => "dpl-#{provider}-#{gem_version}.gem" do
|
|
150
|
+
confirm
|
|
151
|
+
logger.info green("Pushing dpl-#{provider}-#{gem_version}.gem")
|
|
152
|
+
sh "gem push dpl-#{provider}-#{gem_version}.gem"
|
|
153
|
+
end
|
|
108
154
|
|
|
155
|
+
desc "Yank dpl-#{provider}"
|
|
156
|
+
task "yank-#{provider}" do
|
|
157
|
+
logger.info green("Yanking dpl-#{provider} version #{gem_version}")
|
|
158
|
+
sh "gem yank dpl-#{provider} -v #{gem_version}"
|
|
159
|
+
end
|
|
160
|
+
end
|
data/gemspec_helper.rb
CHANGED
|
@@ -33,6 +33,7 @@ def gemspec_for(provider_name=nil, runtime_dependencies=[])
|
|
|
33
33
|
s.add_development_dependency 'json_pure'
|
|
34
34
|
s.add_development_dependency 'tins'
|
|
35
35
|
s.add_development_dependency 'coveralls'
|
|
36
|
+
s.add_development_dependency 'highline'
|
|
36
37
|
|
|
37
38
|
# set up files
|
|
38
39
|
if provider_name
|
data/lib/dpl/provider.rb
CHANGED
|
@@ -10,7 +10,7 @@ module DPL
|
|
|
10
10
|
# file names. There is no simple rule to map them automatically
|
|
11
11
|
# (camel-cases, snake-cases, call-caps, etc.), so we need an explicit
|
|
12
12
|
# map.
|
|
13
|
-
|
|
13
|
+
GEM_NAME_OF = {
|
|
14
14
|
'Anynines' => 'anynines',
|
|
15
15
|
'Appfog' => 'appfog',
|
|
16
16
|
'Atlas' => 'atlas',
|
|
@@ -61,35 +61,35 @@ module DPL
|
|
|
61
61
|
# when requiring the file corresponding to the provider name
|
|
62
62
|
# given in the options, the general strategy is to normalize
|
|
63
63
|
# the option to lower-case alphanumeric, then
|
|
64
|
-
# use that key to find the file name using the
|
|
64
|
+
# use that key to find the file name using the GEM_NAME_OF map.
|
|
65
65
|
|
|
66
66
|
context.fold("Installing deploy dependencies") do
|
|
67
67
|
begin
|
|
68
68
|
opt_lower = super.option(:provider).to_s.downcase
|
|
69
69
|
opt = opt_lower.gsub(/[^a-z0-9]/, '')
|
|
70
|
-
class_name =
|
|
70
|
+
class_name = class_of(opt)
|
|
71
71
|
raise Error, "could not find provider %p" % opt unless class_name
|
|
72
|
-
require "dpl/provider/#{
|
|
72
|
+
require "dpl/provider/#{GEM_NAME_OF[class_name]}"
|
|
73
73
|
provider = const_get(class_name).new(context, options)
|
|
74
74
|
rescue NameError, LoadError => e
|
|
75
75
|
if /uninitialized constant DPL::Provider::(?<provider_wanted>\S+)/ =~ e.message
|
|
76
|
-
provider_gem_name =
|
|
76
|
+
provider_gem_name = GEM_NAME_OF[provider_wanted]
|
|
77
77
|
elsif %r(cannot load such file -- dpl/provider/(?<provider_file_name>\S+)) =~ e.message
|
|
78
|
-
provider_gem_name =
|
|
78
|
+
provider_gem_name = GEM_NAME_OF[class_name]
|
|
79
79
|
else
|
|
80
80
|
# don't know what to do with this error
|
|
81
81
|
raise e
|
|
82
82
|
end
|
|
83
83
|
install_cmd = "gem install dpl-#{provider_gem_name || opt} -v #{ENV['DPL_VERSION'] || DPL::VERSION}"
|
|
84
84
|
|
|
85
|
-
if File.exist?(local_gem = File.join(Dir.pwd, "dpl-#{
|
|
85
|
+
if File.exist?(local_gem = File.join(Dir.pwd, "dpl-#{GEM_NAME_OF[provider_gem_name] || opt_lower}-#{ENV['DPL_VERSION'] || DPL::VERSION}.gem"))
|
|
86
86
|
install_cmd = "gem install #{local_gem}"
|
|
87
87
|
end
|
|
88
88
|
|
|
89
89
|
context.shell(install_cmd)
|
|
90
90
|
Gem.clear_paths
|
|
91
91
|
|
|
92
|
-
require "dpl/provider/#{
|
|
92
|
+
require "dpl/provider/#{GEM_NAME_OF[class_name]}"
|
|
93
93
|
provider = const_get(class_name).new(context, options)
|
|
94
94
|
rescue DPL::Error
|
|
95
95
|
if opt_lower
|
|
@@ -149,6 +149,10 @@ module DPL
|
|
|
149
149
|
context.shell("npm install -g #{name}", retry: true) if `which #{command}`.chop.empty?
|
|
150
150
|
end
|
|
151
151
|
|
|
152
|
+
def self.class_of(filename)
|
|
153
|
+
GEM_NAME_OF.keys.detect { |p| p.to_s.downcase == filename }
|
|
154
|
+
end
|
|
155
|
+
|
|
152
156
|
attr_reader :context, :options
|
|
153
157
|
|
|
154
158
|
def initialize(context, options)
|
data/lib/dpl/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: dpl
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.9.1.travis.
|
|
4
|
+
version: 1.9.1.travis.2689.5
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Konstantin Haase
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2018-03-
|
|
11
|
+
date: 2018-03-08 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rspec
|
|
@@ -94,6 +94,20 @@ dependencies:
|
|
|
94
94
|
- - ">="
|
|
95
95
|
- !ruby/object:Gem::Version
|
|
96
96
|
version: '0'
|
|
97
|
+
- !ruby/object:Gem::Dependency
|
|
98
|
+
name: highline
|
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
|
100
|
+
requirements:
|
|
101
|
+
- - ">="
|
|
102
|
+
- !ruby/object:Gem::Version
|
|
103
|
+
version: '0'
|
|
104
|
+
type: :development
|
|
105
|
+
prerelease: false
|
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
107
|
+
requirements:
|
|
108
|
+
- - ">="
|
|
109
|
+
- !ruby/object:Gem::Version
|
|
110
|
+
version: '0'
|
|
97
111
|
description: deploy tool abstraction for clients
|
|
98
112
|
email: konstantin.mailinglists@googlemail.com
|
|
99
113
|
executables:
|