dpl 2.0.3.beta.4 → 2.0.3.beta.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +15 -3
- data/Gemfile.lock +444 -211
- data/Rakefile +36 -34
- data/bin/dpl +3 -1
- data/dpl.gemspec +25 -0
- data/lib/dpl/cli.rb +19 -14
- data/lib/dpl/ctx/bash.rb +18 -12
- data/lib/dpl/ctx/test.rb +21 -15
- data/lib/dpl/ctx.rb +2 -0
- data/lib/dpl/helper/assets.rb +4 -2
- data/lib/dpl/helper/cmd.rb +20 -18
- data/lib/dpl/helper/config_file.rb +5 -3
- data/lib/dpl/helper/cookbook_site_streaming_uploader.rb +249 -0
- data/lib/dpl/helper/env.rb +26 -22
- data/lib/dpl/helper/github.rb +2 -0
- data/lib/dpl/helper/interpolate.rb +8 -4
- data/lib/dpl/helper/memoize.rb +4 -1
- data/lib/dpl/helper/squiggle.rb +3 -1
- data/lib/dpl/helper/transliterate.rb +3 -1
- data/lib/dpl/helper/wrap.rb +3 -1
- data/lib/dpl/helper/zip.rb +3 -1
- data/lib/dpl/provider/dsl.rb +18 -4
- data/lib/dpl/provider/examples.rb +6 -2
- data/lib/dpl/provider/status.rb +26 -24
- data/lib/dpl/providers/anynines.rb +22 -20
- data/lib/dpl/providers/azure_web_apps.rb +21 -19
- data/lib/dpl/providers/bintray.rb +44 -37
- data/lib/dpl/providers/bluemixcloudfoundry.rb +38 -36
- data/lib/dpl/providers/boxfuse.rb +12 -10
- data/lib/dpl/providers/cargo.rb +7 -5
- data/lib/dpl/providers/chef_supermarket.rb +82 -80
- data/lib/dpl/providers/cloud66.rb +17 -15
- data/lib/dpl/providers/cloudfiles.rb +8 -6
- data/lib/dpl/providers/cloudformation.rb +191 -187
- data/lib/dpl/providers/cloudfoundry.rb +32 -30
- data/lib/dpl/providers/codedeploy.rb +35 -33
- data/lib/dpl/providers/convox.rb +32 -25
- data/lib/dpl/providers/datica.rb +30 -28
- data/lib/dpl/providers/ecr.rb +66 -64
- data/lib/dpl/providers/elasticbeanstalk.rb +14 -12
- data/lib/dpl/providers/engineyard.rb +60 -58
- data/lib/dpl/providers/firebase.rb +6 -4
- data/lib/dpl/providers/flynn.rb +8 -6
- data/lib/dpl/providers/gae.rb +28 -25
- data/lib/dpl/providers/gcs.rb +59 -57
- data/lib/dpl/providers/git_push.rb +199 -195
- data/lib/dpl/providers/gleis.rb +19 -17
- data/lib/dpl/providers/hackage.rb +15 -13
- data/lib/dpl/providers/hephy.rb +18 -16
- data/lib/dpl/providers/heroku/api.rb +72 -70
- data/lib/dpl/providers/heroku/git.rb +15 -13
- data/lib/dpl/providers/heroku.rb +40 -38
- data/lib/dpl/providers/lambda.rb +134 -134
- data/lib/dpl/providers/launchpad.rb +45 -43
- data/lib/dpl/providers/netlify.rb +7 -5
- data/lib/dpl/providers/npm.rb +61 -58
- data/lib/dpl/providers/nuget.rb +8 -6
- data/lib/dpl/providers/openshift.rb +8 -6
- data/lib/dpl/providers/opsworks.rb +23 -21
- data/lib/dpl/providers/pages/api.rb +14 -14
- data/lib/dpl/providers/pages/git.rb +53 -47
- data/lib/dpl/providers/pages.rb +3 -1
- data/lib/dpl/providers/puppetforge.rb +6 -4
- data/lib/dpl/providers/pypi.rb +55 -54
- data/lib/dpl/providers/releases.rb +30 -23
- data/lib/dpl/providers/rubygems.rb +35 -31
- data/lib/dpl/providers/s3.rb +148 -142
- data/lib/dpl/providers/scalingo.rb +18 -16
- data/lib/dpl/providers/script.rb +4 -2
- data/lib/dpl/providers/snap.rb +12 -9
- data/lib/dpl/providers/surge.rb +7 -5
- data/lib/dpl/providers/testfairy.rb +47 -43
- data/lib/dpl/providers/transifex.rb +20 -18
- data/lib/dpl/providers.rb +3 -1
- data/lib/dpl/string_ext.rb +3 -1
- data/lib/dpl/support/aws_sdk_patch.rb +4 -1
- data/lib/dpl/support/gems.rb +7 -3
- data/lib/dpl/support/gstore_patch.rb +3 -1
- data/lib/dpl/support/version.rb +13 -12
- data/lib/dpl/version.rb +3 -1
- data/lib/dpl.rb +2 -0
- data/status.json +237 -0
- metadata +32 -15
- /data/lib/dpl/providers/{packagecloud.rb → packagecloud.rb_} +0 -0
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Dpl
|
2
4
|
module Providers
|
3
5
|
class Anynines < Provider
|
@@ -5,9 +7,9 @@ module Dpl
|
|
5
7
|
|
6
8
|
status :alpha
|
7
9
|
|
8
|
-
description sq(<<-
|
10
|
+
description sq(<<-STR)
|
9
11
|
tbd
|
10
|
-
|
12
|
+
STR
|
11
13
|
|
12
14
|
env :anynines
|
13
15
|
|
@@ -23,17 +25,17 @@ module Dpl
|
|
23
25
|
API = 'https://api.de.a9s.eu'
|
24
26
|
|
25
27
|
cmds install: 'test $(uname) = "Linux" && rel="linux64-binary" || rel="macosx64"; wget "https://cli.run.pivotal.io/stable?release=${rel}&source=github" -qO cf.tgz && tar -zxvf cf.tgz && rm cf.tgz',
|
26
|
-
api:
|
27
|
-
login:
|
28
|
-
push:
|
29
|
-
logout:
|
28
|
+
api: './cf api %{url}',
|
29
|
+
login: './cf login -u %{username} -p %{password} -o %{organization} -s %{space}',
|
30
|
+
push: './cf push %{args}',
|
31
|
+
logout: './cf logout'
|
30
32
|
|
31
33
|
errs install: 'Failed to install CLI tools',
|
32
|
-
api:
|
33
|
-
login:
|
34
|
-
target:
|
35
|
-
push:
|
36
|
-
logout:
|
34
|
+
api: 'Failed to set api',
|
35
|
+
login: 'Failed to login',
|
36
|
+
target: 'Failed to target organization %{organization}, space %{space}',
|
37
|
+
push: 'Failed to push app',
|
38
|
+
logout: 'Failed to logout'
|
37
39
|
|
38
40
|
def install
|
39
41
|
shell :install
|
@@ -54,16 +56,16 @@ module Dpl
|
|
54
56
|
|
55
57
|
private
|
56
58
|
|
57
|
-
|
58
|
-
|
59
|
-
|
59
|
+
def url
|
60
|
+
API
|
61
|
+
end
|
60
62
|
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
63
|
+
def args
|
64
|
+
args = []
|
65
|
+
args << quote(app_name) if app_name?
|
66
|
+
args << "-f #{manifest}" if manifest?
|
67
|
+
args.join(' ')
|
68
|
+
end
|
67
69
|
end
|
68
70
|
end
|
69
71
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Dpl
|
2
4
|
module Providers
|
3
5
|
class AzureWebApps < Provider
|
@@ -7,9 +9,9 @@ module Dpl
|
|
7
9
|
|
8
10
|
full_name 'Azure Web Apps'
|
9
11
|
|
10
|
-
description sq(<<-
|
12
|
+
description sq(<<-STR)
|
11
13
|
tbd
|
12
|
-
|
14
|
+
STR
|
13
15
|
|
14
16
|
env :AZURE_WA
|
15
17
|
|
@@ -22,14 +24,14 @@ module Dpl
|
|
22
24
|
needs :git
|
23
25
|
|
24
26
|
cmds checkout: 'git checkout HEAD',
|
25
|
-
add:
|
26
|
-
commit:
|
27
|
-
deploy:
|
27
|
+
add: 'git add . --all --force',
|
28
|
+
commit: 'git commit -m "Cleanup commit"',
|
29
|
+
deploy: 'git push --force --quiet %{url} HEAD:refs/heads/master'
|
28
30
|
|
29
|
-
msgs commit:
|
30
|
-
deploy:
|
31
|
+
msgs commit: 'Committing changes to git',
|
32
|
+
deploy: 'Deploying to Azure Web App: %{site}'
|
31
33
|
|
32
|
-
errs push:
|
34
|
+
errs push: 'Failed pushing to Azure Web Apps'
|
33
35
|
|
34
36
|
URL = 'https://%s:%s@%s.scm.azurewebsites.net:443/%s.git'
|
35
37
|
|
@@ -43,19 +45,19 @@ module Dpl
|
|
43
45
|
|
44
46
|
private
|
45
47
|
|
46
|
-
|
47
|
-
|
48
|
-
|
48
|
+
def url
|
49
|
+
format(URL, username, password, target, site)
|
50
|
+
end
|
49
51
|
|
50
|
-
|
51
|
-
|
52
|
-
|
52
|
+
def target
|
53
|
+
slot || site
|
54
|
+
end
|
53
55
|
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
56
|
+
def commit
|
57
|
+
shell :checkout
|
58
|
+
shell :add
|
59
|
+
shell :commit
|
60
|
+
end
|
59
61
|
end
|
60
62
|
end
|
61
63
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'net/http'
|
2
4
|
require 'uri'
|
3
5
|
require 'find'
|
@@ -9,9 +11,9 @@ module Dpl
|
|
9
11
|
|
10
12
|
status :stable
|
11
13
|
|
12
|
-
description sq(<<-
|
14
|
+
description sq(<<-STR)
|
13
15
|
tbd
|
14
|
-
|
16
|
+
STR
|
15
17
|
|
16
18
|
gem 'json'
|
17
19
|
|
@@ -23,42 +25,42 @@ module Dpl
|
|
23
25
|
opt '--passphrase PHRASE', 'Passphrase as configured on Bintray (if GPG signing is used)'
|
24
26
|
opt '--url URL', default: 'https://api.bintray.com', internal: true
|
25
27
|
|
26
|
-
msgs missing_file:
|
27
|
-
invalid_file:
|
28
|
-
create_package:
|
29
|
-
package_attrs:
|
30
|
-
create_version:
|
31
|
-
version_attrs:
|
32
|
-
upload_file:
|
33
|
-
sign_version:
|
28
|
+
msgs missing_file: 'Missing descriptor file: %{file}',
|
29
|
+
invalid_file: 'Failed to parse descriptor file %{file}',
|
30
|
+
create_package: 'Creating package %{package_name}',
|
31
|
+
package_attrs: 'Adding attributes for package %{package_name}',
|
32
|
+
create_version: 'Creating version %{version_name}',
|
33
|
+
version_attrs: 'Adding attributes for version %{version_name}',
|
34
|
+
upload_file: 'Uploading file %{source} to %{target}',
|
35
|
+
sign_version: 'Signing version %s passphrase',
|
34
36
|
publish_version: 'Publishing version %{version_name} of package %{package_name}',
|
35
|
-
missing_path:
|
36
|
-
list_download:
|
37
|
-
retrying:
|
38
|
-
giveup_retries:
|
39
|
-
unexpected_code: 'Unexpected HTTP response code %s while checking if the %s exists'
|
40
|
-
request_failed:
|
37
|
+
missing_path: 'Path: %{path} does not exist.',
|
38
|
+
list_download: 'Listing %{path} in downloads',
|
39
|
+
retrying: '%{code} response from Bintray. It may take some time for a version to be published, retrying in %{pause} sec ... (%{count}/%{max})',
|
40
|
+
giveup_retries: 'Too many retries failed, giving up, something went wrong.',
|
41
|
+
unexpected_code: 'Unexpected HTTP response code %s while checking if the %s exists',
|
42
|
+
request_failed: '%s %s returned unexpected HTTP response code %s',
|
41
43
|
request_success: 'Bintray response: %s %s. %s'
|
42
44
|
|
43
45
|
PATHS = {
|
44
|
-
packages:
|
45
|
-
package:
|
46
|
-
package_attrs:
|
47
|
-
versions:
|
48
|
-
version:
|
49
|
-
version_attrs:
|
50
|
-
version_sign:
|
46
|
+
packages: '/packages/%{subject}/%{repo}',
|
47
|
+
package: '/packages/%{subject}/%{repo}/%{package_name}',
|
48
|
+
package_attrs: '/packages/%{subject}/%{repo}/%{package_name}/attributes',
|
49
|
+
versions: '/packages/%{subject}/%{repo}/%{package_name}/versions',
|
50
|
+
version: '/packages/%{subject}/%{repo}/%{package_name}/versions/%{version_name}',
|
51
|
+
version_attrs: '/packages/%{subject}/%{repo}/%{package_name}/versions/%{version_name}/attributes',
|
52
|
+
version_sign: '/gpg/%{subject}/%{repo}/%{package_name}/versions/%{version_name}',
|
51
53
|
version_publish: '/content/%{subject}/%{repo}/%{package_name}/%{version_name}/publish',
|
52
|
-
version_file:
|
53
|
-
file_metadata:
|
54
|
-
}
|
54
|
+
version_file: '/content/%{subject}/%{repo}/%{package_name}/%{version_name}/%{target}',
|
55
|
+
file_metadata: '/file_metadata/%{subject}/%{repo}/%{target}'
|
56
|
+
}.freeze
|
55
57
|
|
56
58
|
MAP = {
|
57
|
-
package: %i
|
58
|
-
|
59
|
-
version: %i
|
60
|
-
|
61
|
-
}
|
59
|
+
package: %i[name desc licenses labels vcs_url website_url
|
60
|
+
issue_tracker_url public_download_numbers public_stats],
|
61
|
+
version: %i[name desc released vcs_tag github_release_notes_file
|
62
|
+
github_use_tag_release_notes attributes]
|
63
|
+
}.freeze
|
62
64
|
|
63
65
|
def install
|
64
66
|
require 'json'
|
@@ -85,6 +87,7 @@ module Dpl
|
|
85
87
|
info :create_package
|
86
88
|
post(path(:packages), compact(only(package, *MAP[:package])))
|
87
89
|
return unless package_attrs
|
90
|
+
|
88
91
|
info :package_attrs
|
89
92
|
post(path(:package_attrs), package_attrs)
|
90
93
|
end
|
@@ -97,6 +100,7 @@ module Dpl
|
|
97
100
|
info :create_version
|
98
101
|
post(path(:versions), compact(only(version, *MAP[:version])))
|
99
102
|
return unless version_attrs
|
103
|
+
|
100
104
|
info :version_attrs
|
101
105
|
post(path(:version_attrs), version_attrs)
|
102
106
|
end
|
@@ -134,10 +138,11 @@ module Dpl
|
|
134
138
|
end
|
135
139
|
end
|
136
140
|
|
137
|
-
def retrying(opts
|
141
|
+
def retrying(opts)
|
138
142
|
1.upto(opts[:max]) do |count|
|
139
143
|
code = yield
|
140
144
|
return if code < 400
|
145
|
+
|
141
146
|
info :retrying, opts.merge(count: count, code: code)
|
142
147
|
sleep opts[:pause]
|
143
148
|
end
|
@@ -147,7 +152,8 @@ module Dpl
|
|
147
152
|
def files
|
148
153
|
return {} unless files = descriptor[:files]
|
149
154
|
return @files if @files
|
150
|
-
|
155
|
+
|
156
|
+
keys = %i[path includePattern excludePattern uploadPattern matrixParams listInDownloads]
|
151
157
|
files = files.map { |file| file if file[:path] = path_for(file[:includePattern]) }
|
152
158
|
@files = files.compact.map { |file| find(*file.values_at(*keys)) }.flatten
|
153
159
|
end
|
@@ -172,9 +178,10 @@ module Dpl
|
|
172
178
|
|
173
179
|
def path_for(str)
|
174
180
|
ix = str.index('(')
|
175
|
-
path = ix.to_i
|
181
|
+
path = ix.to_i.zero? ? str : str[0, ix]
|
176
182
|
return path if File.exist?(path)
|
177
|
-
|
183
|
+
|
184
|
+
warn(:missing_path, path: path)
|
178
185
|
nil
|
179
186
|
end
|
180
187
|
|
@@ -236,7 +243,7 @@ module Dpl
|
|
236
243
|
|
237
244
|
def descriptor
|
238
245
|
@descriptor ||= symbolize(JSON.parse(File.read(file)))
|
239
|
-
rescue
|
246
|
+
rescue StandardError
|
240
247
|
error :invalid_file
|
241
248
|
end
|
242
249
|
|
@@ -291,7 +298,7 @@ module Dpl
|
|
291
298
|
def parse(json)
|
292
299
|
hash = JSON.parse(json)
|
293
300
|
hash.is_a?(Hash) ? hash : {}
|
294
|
-
rescue
|
301
|
+
rescue StandardError
|
295
302
|
{}
|
296
303
|
end
|
297
304
|
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Dpl
|
2
4
|
module Providers
|
3
5
|
class Bluemixcloudfoundry < Provider
|
@@ -7,9 +9,9 @@ module Dpl
|
|
7
9
|
|
8
10
|
full_name 'Bluemix Cloud Foundry'
|
9
11
|
|
10
|
-
description sq(<<-
|
12
|
+
description sq(<<-STR)
|
11
13
|
tbd
|
12
|
-
|
14
|
+
STR
|
13
15
|
|
14
16
|
env :cloudfoundry
|
15
17
|
|
@@ -17,7 +19,7 @@ module Dpl
|
|
17
19
|
opt '--password PASS', 'Bluemix password', required: true, secret: true
|
18
20
|
opt '--organization ORG', 'Bluemix organization', required: true
|
19
21
|
opt '--space SPACE', 'Bluemix space', required: true
|
20
|
-
opt '--region REGION', 'Bluemix region', default: 'ng', enum: %w
|
22
|
+
opt '--region REGION', 'Bluemix region', default: 'ng', enum: %w[ng eu-gb eu-de au-syd]
|
21
23
|
opt '--api URL', 'Bluemix api URL'
|
22
24
|
opt '--app_name APP', 'Application name'
|
23
25
|
opt '--buildpack PACK', 'Buildpack name or Git URL'
|
@@ -26,25 +28,25 @@ module Dpl
|
|
26
28
|
opt '--logout', default: true, internal: true
|
27
29
|
|
28
30
|
API = {
|
29
|
-
'ng':
|
30
|
-
'eu-gb':
|
31
|
-
'eu-de':
|
31
|
+
'ng': 'api.ng.bluemix.net',
|
32
|
+
'eu-gb': 'api.eu-gb.bluemix.net',
|
33
|
+
'eu-de': 'api.eu-de.bluemix.net',
|
32
34
|
'au-syd': 'api.au-syd.bluemix.net'
|
33
|
-
}
|
35
|
+
}.freeze
|
34
36
|
|
35
37
|
cmds install: 'test $(uname) = "Linux" && rel="linux64-binary" || rel="macosx64"; wget "https://cli.run.pivotal.io/stable?release=${rel}&source=github" -qO cf.tgz && tar -zxvf cf.tgz && rm cf.tgz',
|
36
|
-
api:
|
37
|
-
login:
|
38
|
-
target:
|
39
|
-
push:
|
40
|
-
logout:
|
38
|
+
api: './cf api %{api} %{skip_ssl_validation_opt}',
|
39
|
+
login: './cf login -u %{username} -p %{password}',
|
40
|
+
target: './cf target -o %{organization} -s %{space}',
|
41
|
+
push: './cf push %{push_args}',
|
42
|
+
logout: './cf logout'
|
41
43
|
|
42
44
|
errs install: 'Failed to install CLI tools',
|
43
|
-
api:
|
44
|
-
login:
|
45
|
-
target:
|
46
|
-
push:
|
47
|
-
logout:
|
45
|
+
api: 'Failed to set api %{api}',
|
46
|
+
login: 'Failed to login',
|
47
|
+
target: 'Failed to target organization %{organization}, space %{space}',
|
48
|
+
push: 'Failed to push app',
|
49
|
+
logout: 'Failed to logout'
|
48
50
|
|
49
51
|
msgs manifest_missing: 'Application must have a manifest.yml for unattended deployment'
|
50
52
|
|
@@ -72,25 +74,25 @@ module Dpl
|
|
72
74
|
|
73
75
|
private
|
74
76
|
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
77
|
+
def push_args
|
78
|
+
args = []
|
79
|
+
args << quote(app_name) if app_name?
|
80
|
+
args << "-f #{manifest}" if manifest?
|
81
|
+
args << "-b #{buildpack}" if buildpack?
|
82
|
+
args.join(' ')
|
83
|
+
end
|
84
|
+
|
85
|
+
def skip_ssl_validation_opt
|
86
|
+
'--skip-ssl-validation' if skip_ssl_validation?
|
87
|
+
end
|
88
|
+
|
89
|
+
def manifest_missing?
|
90
|
+
!File.exist?(manifest)
|
91
|
+
end
|
92
|
+
|
93
|
+
def api
|
94
|
+
super || API[region.to_sym]
|
95
|
+
end
|
94
96
|
end
|
95
97
|
end
|
96
98
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Dpl
|
2
4
|
module Providers
|
3
5
|
class Boxfuse < Provider
|
@@ -5,9 +7,9 @@ module Dpl
|
|
5
7
|
|
6
8
|
status :alpha
|
7
9
|
|
8
|
-
description sq(<<-
|
10
|
+
description sq(<<-STR)
|
9
11
|
tbd
|
10
|
-
|
12
|
+
STR
|
11
13
|
|
12
14
|
env :boxfuse
|
13
15
|
|
@@ -23,10 +25,10 @@ module Dpl
|
|
23
25
|
URL = 'https://files.boxfuse.com/com/boxfuse/client/boxfuse-commandline/1.33.0.1460/boxfuse-commandline-1.33.0.1460-linux-x64.tar.gz'
|
24
26
|
|
25
27
|
cmds install: 'curl -L %{URL} | tar xz',
|
26
|
-
deploy:
|
28
|
+
deploy: 'boxfuse/boxfuse run %{deploy_opts}'
|
27
29
|
|
28
30
|
def validate
|
29
|
-
# TODO check if the config file exists (it seems `boxfuse` doesn't)
|
31
|
+
# TODO: check if the config file exists (it seems `boxfuse` doesn't)
|
30
32
|
end
|
31
33
|
|
32
34
|
def install
|
@@ -39,12 +41,12 @@ module Dpl
|
|
39
41
|
|
40
42
|
private
|
41
43
|
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
44
|
+
def deploy_opts
|
45
|
+
opts = [*opts_for(%i[user secret payload app env version], prefix: '-')]
|
46
|
+
opts << "-configfile=#{config_file}" if config_file?
|
47
|
+
opts << extra_args if extra_args?
|
48
|
+
opts.join(' ')
|
49
|
+
end
|
48
50
|
end
|
49
51
|
end
|
50
52
|
end
|
data/lib/dpl/providers/cargo.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Dpl
|
2
4
|
module Providers
|
3
5
|
class Cargo < Provider
|
@@ -5,9 +7,9 @@ module Dpl
|
|
5
7
|
|
6
8
|
status :stable
|
7
9
|
|
8
|
-
description sq(<<-
|
10
|
+
description sq(<<-STR)
|
9
11
|
tbd
|
10
|
-
|
12
|
+
STR
|
11
13
|
|
12
14
|
env :cargo
|
13
15
|
|
@@ -22,9 +24,9 @@ module Dpl
|
|
22
24
|
|
23
25
|
private
|
24
26
|
|
25
|
-
|
26
|
-
|
27
|
-
|
27
|
+
def publish_opts
|
28
|
+
opts_for(%i[token allow_dirty], dashed: true)
|
29
|
+
end
|
28
30
|
end
|
29
31
|
end
|
30
32
|
end
|