dpl 1.8.48.travis.2486.5 → 1.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (135) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +2 -0
  3. data/.travis.yml +42 -21
  4. data/Gemfile +3 -98
  5. data/README.md +5 -16
  6. data/Rakefile +160 -1
  7. data/dpl-anynines.gemspec +3 -0
  8. data/dpl-atlas.gemspec +3 -0
  9. data/dpl-azure_webapps.gemspec +3 -0
  10. data/dpl-bintray.gemspec +3 -0
  11. data/dpl-bitballoon.gemspec +3 -0
  12. data/dpl-bluemix_cloud_foundry.gemspec +3 -0
  13. data/dpl-boxfuse.gemspec +3 -0
  14. data/dpl-catalyze.gemspec +3 -0
  15. data/dpl-chef_supermarket.gemspec +8 -0
  16. data/dpl-cloud66.gemspec +3 -0
  17. data/dpl-cloud_files.gemspec +3 -0
  18. data/dpl-cloud_foundry.gemspec +3 -0
  19. data/dpl-code_deploy.gemspec +3 -0
  20. data/dpl-deis.gemspec +3 -0
  21. data/dpl-divshot.gemspec +3 -0
  22. data/dpl-elastic_beanstalk.gemspec +3 -0
  23. data/dpl-engine_yard.gemspec +3 -0
  24. data/dpl-firebase.gemspec +3 -0
  25. data/dpl-gae.gemspec +3 -0
  26. data/dpl-gcs.gemspec +3 -0
  27. data/dpl-hackage.gemspec +3 -0
  28. data/dpl-heroku.gemspec +3 -0
  29. data/dpl-lambda.gemspec +3 -0
  30. data/dpl-launchpad.gemspec +3 -0
  31. data/dpl-modulus.gemspec +3 -0
  32. data/dpl-npm.gemspec +3 -0
  33. data/dpl-openshift.gemspec +3 -0
  34. data/dpl-ops_works.gemspec +3 -0
  35. data/dpl-packagecloud.gemspec +3 -0
  36. data/dpl-pages.gemspec +3 -0
  37. data/dpl-puppet_forge.gemspec +3 -0
  38. data/dpl-pypi.gemspec +3 -0
  39. data/dpl-releases.gemspec +3 -0
  40. data/dpl-rubygems.gemspec +3 -0
  41. data/dpl-s3.gemspec +3 -0
  42. data/dpl-scalingo.gemspec +3 -0
  43. data/dpl-script.gemspec +3 -0
  44. data/dpl-surge.gemspec +3 -0
  45. data/dpl-testfairy.gemspec +3 -0
  46. data/dpl-transifex.gemspec +3 -0
  47. data/dpl.gemspec +2 -31
  48. data/gemspec_helper.rb +49 -0
  49. data/lib/dpl/provider.rb +101 -58
  50. data/lib/dpl/version.rb +1 -1
  51. data/spec/provider_spec.rb +15 -34
  52. metadata +76 -107
  53. data/lib/dpl/provider/anynines.rb +0 -13
  54. data/lib/dpl/provider/appfog.rb +0 -21
  55. data/lib/dpl/provider/atlas.rb +0 -108
  56. data/lib/dpl/provider/azure_webapps.rb +0 -48
  57. data/lib/dpl/provider/bintray.rb +0 -509
  58. data/lib/dpl/provider/bitballoon.rb +0 -22
  59. data/lib/dpl/provider/bluemix_cloud_foundry.rb +0 -23
  60. data/lib/dpl/provider/boxfuse.rb +0 -57
  61. data/lib/dpl/provider/catalyze.rb +0 -49
  62. data/lib/dpl/provider/chef_supermarket.rb +0 -85
  63. data/lib/dpl/provider/cloud66.rb +0 -38
  64. data/lib/dpl/provider/cloud_files.rb +0 -38
  65. data/lib/dpl/provider/cloud_foundry.rb +0 -43
  66. data/lib/dpl/provider/code_deploy.rb +0 -154
  67. data/lib/dpl/provider/deis.rb +0 -128
  68. data/lib/dpl/provider/divshot.rb +0 -23
  69. data/lib/dpl/provider/elastic_beanstalk.rb +0 -195
  70. data/lib/dpl/provider/engine_yard.rb +0 -90
  71. data/lib/dpl/provider/firebase.rb +0 -27
  72. data/lib/dpl/provider/gae.rb +0 -97
  73. data/lib/dpl/provider/gcs.rb +0 -59
  74. data/lib/dpl/provider/hackage.rb +0 -29
  75. data/lib/dpl/provider/heroku.rb +0 -18
  76. data/lib/dpl/provider/heroku/api.rb +0 -98
  77. data/lib/dpl/provider/heroku/generic.rb +0 -94
  78. data/lib/dpl/provider/heroku/git.rb +0 -28
  79. data/lib/dpl/provider/lambda.rb +0 -236
  80. data/lib/dpl/provider/launchpad.rb +0 -48
  81. data/lib/dpl/provider/modulus.rb +0 -23
  82. data/lib/dpl/provider/npm.rb +0 -64
  83. data/lib/dpl/provider/openshift.rb +0 -59
  84. data/lib/dpl/provider/ops_works.rb +0 -132
  85. data/lib/dpl/provider/packagecloud.rb +0 -144
  86. data/lib/dpl/provider/pages.rb +0 -212
  87. data/lib/dpl/provider/puppet_forge.rb +0 -43
  88. data/lib/dpl/provider/pypi.rb +0 -103
  89. data/lib/dpl/provider/releases.rb +0 -139
  90. data/lib/dpl/provider/rubygems.rb +0 -51
  91. data/lib/dpl/provider/s3.rb +0 -123
  92. data/lib/dpl/provider/scalingo.rb +0 -97
  93. data/lib/dpl/provider/script.rb +0 -29
  94. data/lib/dpl/provider/surge.rb +0 -33
  95. data/lib/dpl/provider/testfairy.rb +0 -111
  96. data/lib/dpl/provider/transifex.rb +0 -45
  97. data/spec/provider/anynines_spec.rb +0 -20
  98. data/spec/provider/appfog_spec.rb +0 -35
  99. data/spec/provider/atlas_spec.rb +0 -99
  100. data/spec/provider/azure_webapps_spec.rb +0 -95
  101. data/spec/provider/bintray_spec.rb +0 -259
  102. data/spec/provider/bitballoon_spec.rb +0 -32
  103. data/spec/provider/bluemixcloudfoundry_spec.rb +0 -23
  104. data/spec/provider/boxfuse_spec.rb +0 -16
  105. data/spec/provider/catalyze_spec.rb +0 -39
  106. data/spec/provider/chef_supermarket_spec.rb +0 -51
  107. data/spec/provider/cloud66_spec.rb +0 -44
  108. data/spec/provider/cloud_files_spec.rb +0 -88
  109. data/spec/provider/cloudfoundry_spec.rb +0 -71
  110. data/spec/provider/code_deploy_spec.rb +0 -366
  111. data/spec/provider/deis_spec.rb +0 -116
  112. data/spec/provider/divshot_spec.rb +0 -28
  113. data/spec/provider/elastic_beanstalk_spec.rb +0 -209
  114. data/spec/provider/firebase_spec.rb +0 -40
  115. data/spec/provider/gae_spec.rb +0 -26
  116. data/spec/provider/gcs_spec.rb +0 -115
  117. data/spec/provider/hackage_spec.rb +0 -47
  118. data/spec/provider/heroku_spec.rb +0 -357
  119. data/spec/provider/lambda_spec.rb +0 -432
  120. data/spec/provider/launchpad_spec.rb +0 -33
  121. data/spec/provider/modulus_spec.rb +0 -29
  122. data/spec/provider/npm_spec.rb +0 -95
  123. data/spec/provider/openshift_spec.rb +0 -91
  124. data/spec/provider/ops_works_spec.rb +0 -127
  125. data/spec/provider/packagecloud_spec.rb +0 -56
  126. data/spec/provider/puppet_forge_spec.rb +0 -60
  127. data/spec/provider/pypi_spec.rb +0 -105
  128. data/spec/provider/releases_spec.rb +0 -303
  129. data/spec/provider/rubygems_spec.rb +0 -106
  130. data/spec/provider/s3_spec.rb +0 -174
  131. data/spec/provider/scalingo_spec.rb +0 -64
  132. data/spec/provider/script_spec.rb +0 -26
  133. data/spec/provider/surge_spec.rb +0 -15
  134. data/spec/provider/testfairy_spec.rb +0 -65
  135. data/spec/provider/transifex_spec.rb +0 -110
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA256:
3
- metadata.gz: a9ef2c858a7cb05e5849e17725dcc50a92b76cf7a37dd8cbf0ed210778b8df5f
4
- data.tar.gz: b196610f780ee03258b53ac07955a7b03ece0cca990fe77661e7f5ea833e7030
2
+ SHA1:
3
+ metadata.gz: 5559ec0b1676e226cc48c665aa2f2f67340b823a
4
+ data.tar.gz: 4a50e86c2e043afbe4456f8fa000217471bba279
5
5
  SHA512:
6
- metadata.gz: 370501bef326007a49dffcc531806023ec8071ae94d7f7bb08d2e09f50c9d0925c8c68a999f1eff3d49e8151068e2d727689ebf6fd9e55145d00ea3591267625
7
- data.tar.gz: b85abcdd51d54008906762baab5fc5eaab04a259d97452a8264089cad25696572ab500b9009d73c8eafdc9511f53d641dfa4780cdc2c44d2b17b2f62567bae38
6
+ metadata.gz: 0e90a5fe54aa6d568c758d4f02a7ed51bed0ba540933c3f3b97b351cafb21aaedea047c797d566f6d70dc2a128d5323d71657cc4d20f91b69d11165dfd136e55
7
+ data.tar.gz: ea4fdc47ed409b854e02f26e02ec9d931a61131f8a84246f9da2dbaaa53732f60cf605201b2e554fd32a5c72a1b1b2655a8eec14f745b79291ae2b77f30f826f
data/.gitignore CHANGED
@@ -1,3 +1,4 @@
1
+ Gemfile-*
1
2
  Gemfile.lock
2
3
  .coverage
3
4
  coverage
@@ -6,3 +7,4 @@ setuptools*.zip
6
7
  google_appengine_*.zip
7
8
  google_appengine/*
8
9
  npm-debug.log
10
+ *.gem
@@ -1,36 +1,57 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 1.9.3
4
- - 2.0.0
5
- - 2.1.5
6
- - "2.2.5"
7
- - "2.3.1"
3
+ - "2.2.9"
4
+ - "2.3.6"
5
+ - "2.4"
6
+ - "2.5"
8
7
 
9
- matrix:
8
+ jobs:
10
9
  include:
11
- - rvm: "2.2.6"
12
- sudo: required
13
- allow_failures:
14
- - rvm: "2.3.1"
10
+ - stage: deploy
11
+ cache: false
12
+ before_deploy:
13
+ - sed -i.bak "s/VERSION = '.*'/VERSION = '${DPL_VERSION}'/g" lib/dpl/version.rb
14
+ - git config user.name "travisbot"
15
+ - git config user.email "deploy@travis-ci.org"
16
+ - git add lib/dpl/version.rb
17
+ - git commit -m "Update DPL::Version"
18
+ deploy:
19
+ - provider: rubygems
20
+ script: skip
21
+ edge:
22
+ branch: master
23
+ api_key:
24
+ secure: ZmZoDL1tilWvQrqRWDm2K4xQ5Grt9eRJzYVZPLANR0P1TM5BJBLk+UhWCWCPkkDVIBWMa5ANsiFYBxtH65Lw+uqMztSpVusk0l0LQXZGv9jMpT9445A8008U3vvfS0ke7IG8Q4bMAC7Sd6VGaiHDyZC7zmNvnqMpmVX7ShcgBME=
25
+ gem: dpl
26
+ gemspec_glob: 'dpl*.gemspec'
27
+ on:
28
+ repo: travis-ci/dpl
29
+ if: branch = master AND NOT type IN (pull_request)
30
+
31
+ env:
32
+ global:
33
+ - DPL_VERSION=$(ruby -I lib -r dpl/version.rb -e "puts DPL::VERSION.succ + \".travis.#{ENV['TRAVIS_JOB_NUMBER']}\"")
15
34
 
16
35
  sudo: false
17
36
 
18
- cache: bundler
37
+ before_cache:
38
+ - rm -rf $GEM_HOME/cache/dpl-*.travis.*.gem $GEM_HOME/gems/dpl-*.travis.* $GEM_HOME/specifications/dpl-*.travis.*
39
+ - git checkout bin/dpl
40
+
41
+ cache:
42
+ directories:
43
+ - vendor/cache
44
+ - $GEM_HOME
45
+ - node_modules
19
46
 
20
47
  before_install:
21
48
  - gem update bundler
22
49
 
50
+ before_script:
51
+ - rm -f $(ruby -r rubygems -e "puts Gem.bindir")/dpl
52
+
23
53
  script:
24
- - bundle exec rake && gem build dpl.gemspec && gem install dpl-*.gem && dpl --provider=script --script='echo foo'
25
-
26
- deploy:
27
- provider: rubygems
28
- api_key:
29
- secure: ZmZoDL1tilWvQrqRWDm2K4xQ5Grt9eRJzYVZPLANR0P1TM5BJBLk+UhWCWCPkkDVIBWMa5ANsiFYBxtH65Lw+uqMztSpVusk0l0LQXZGv9jMpT9445A8008U3vvfS0ke7IG8Q4bMAC7Sd6VGaiHDyZC7zmNvnqMpmVX7ShcgBME=
30
- gem: dpl
31
- on:
32
- repo: travis-ci/dpl
33
- ruby: 2.2.6
54
+ - rake
34
55
 
35
56
  notifications:
36
57
  webhooks: "http://requestb.in/1guaq7t1"
data/Gemfile CHANGED
@@ -1,100 +1,5 @@
1
1
  source 'https://rubygems.org'
2
- gemspec
2
+ ruby '> 2.1' # 2.2 and up
3
+ gemspec :name => 'dpl'
3
4
 
4
- gem 'term-ansicolor', '~> 1.3.2'
5
-
6
- platforms :mri_19 do
7
- gem 'slop', '~> 3.6.0'
8
- gem 'ohai', '~> 7.4.0'
9
- gem 'amq-protocol', '~> 1.9.2'
10
- gem 'net-ssh', '~> 2.9.2'
11
- end
12
-
13
- group :heroku do
14
- gem 'rendezvous', '~> 0.0.2'
15
- gem 'heroku-api', '= 0.3.16'
16
- gem 'anvil-cli', '~> 0.16.1'
17
- gem 'netrc'
18
- gem 'faraday'
19
- end
20
-
21
- group :openshift do
22
- gem 'rhc'
23
- gem 'httpclient'
24
- end
25
-
26
- group :appfog do
27
- gem 'json_pure'
28
- gem 'af'
29
- end
30
-
31
- group :rubygems do
32
- gem 'gems', '~> 0.8.3'
33
- end
34
-
35
- group :sss do
36
- gem 'aws-sdk', '~> 2.10.39', '< 3.0'
37
- gem 'mime-types'
38
- end
39
-
40
- group :code_deploy do
41
- gem 'aws-sdk', '~> 2.10.39', '< 3.0'
42
- end
43
-
44
- group :lambda do
45
- gem 'aws-sdk', '~> 2.10.39', '< 3.0'
46
- gem 'rubyzip', '~> 1.1'
47
- end
48
-
49
- group :cloud_files do
50
- gem 'fog-google', '< 0.1.1', platforms: :mri_19
51
- gem 'fog-profitbricks', '< 2.0', platforms: :mri_19
52
- gem 'fog'
53
- gem 'nokogiri', '~> 1.6.8.1'
54
- end
55
-
56
- group :releases do
57
- gem 'octokit', '~> 4.3.0'
58
- end
59
-
60
- group :gcs do
61
- gem 'gstore'
62
- gem 'mime-types'
63
- end
64
-
65
- group :elastic_beanstalk do
66
- gem 'aws-sdk', '~> 2.10.39', '< 3.0'
67
- gem 'rubyzip', '~> 1.1'
68
- end
69
-
70
- group :bitballoon do
71
- gem 'bitballoon'
72
- gem 'jwt', '< 1.5.3', platforms: :mri_19
73
- end
74
-
75
- group :puppet_forge do
76
- gem 'json_pure'
77
- gem 'puppet'
78
- gem 'puppet-blacksmith'
79
- end
80
-
81
- group :packagecloud do
82
- gem 'json_pure'
83
- gem 'packagecloud-ruby', '= 0.2.17'
84
- end
85
-
86
- group :testfairy do
87
- gem 'multipart-post'
88
- end
89
-
90
- group :chef_supermarket do
91
- gem 'chef'
92
- end
93
-
94
- group :deis do
95
- gem 'git'
96
- end
97
-
98
- group :opsworks do
99
- gem 'aws-sdk', '~> 2.10.39', '< 3.0'
100
- end
5
+ gem 'term-ansicolor'
data/README.md CHANGED
@@ -8,7 +8,6 @@ See [CONTRIBUTING.md](.github/CONTRIBUTING.md).
8
8
  Dpl supports the following providers:
9
9
 
10
10
  * [Anynines](#anynines)
11
- * [AppFog](#appfog)
12
11
  * [Atlas by HashiCorp](#atlas)
13
12
  * [AWS CodeDeploy](#aws-codedeploy)
14
13
  * [AWS Elastic Beanstalk](#elastic-beanstalk)
@@ -268,6 +267,9 @@ For authentication you can also use Travis CI secure environment variable:
268
267
  #### Options:
269
268
 
270
269
  * **api-key**: Rubygems Api Key.
270
+ * **gemspec**: Optional. The name of the `gemspec` file to use to build the gem.
271
+ * **gemspec_glob**: Optional. A glob pattern to search for gemspec files when multiple gems are generated in the repository.
272
+ This _overrides_ the `gemspec` option.
271
273
 
272
274
  #### Examples:
273
275
 
@@ -412,19 +414,6 @@ It is possible to set file-specific `Cache-Control` and `Expires` headers using
412
414
 
413
415
  dpl --provider=anynines --username=<username> --password=<password> --organization=<organization> --space=<space>
414
416
 
415
- ### Appfog:
416
-
417
- #### Options:
418
-
419
- * **email**: Appfog Email.
420
- * **password**: Appfog Password.
421
- * **app**: Appfog App. Defaults to git repo's name.
422
-
423
- #### Examples:
424
-
425
- dpl --provider=appfog --email=<email> --password=<password>
426
- dpl --provider=appfog --email=<email> --password=<password> --app=<app>
427
-
428
417
  ### Atlas:
429
418
 
430
419
  The Atlas provider uses the [`atlas-upload-cli`](https://github.com/hashicorp/atlas-upload-cli) command. The [Atlas Upload CLI](https://github.com/hashicorp/atlas-upload-cli) is a lightweight command line interface for uploading application code to [Atlas](https://atlas.hashicorp.com/homepage?utm_source=github&utm_medium=travis-ci&utm_campaign=dpl) to kick off Atlas-based deployment processes from Travis CI.
@@ -723,12 +712,12 @@ For accounts using two factor authentication, you have to use an oauth token as
723
712
  * **security_group_ids**: Optional. List of security group IDs to be added to the function. Needs the `ec2:DescribeSecurityGroups` and `ec2:DescribeVpcs` permission for the user of the access/secret key to work.
724
713
  * **dead_letter_arn**: Optional. ARN to an SNS or SQS resource used for the dead letter queue. [More about DLQs here](https://docs.aws.amazon
725
714
  .com/lambda/latest/dg/dlq.html).
726
- * **tracing_mode**: Optional. "Active" or "PassThrough" only. Default is "PassThrough". Needs the `xray:PutTraceSegments` and `xray:PutTelemetryRecords` on the role for this to work. [More on
715
+ * **tracing_mode**: Optional. "Active" or "PassThrough" only. Default is "PassThrough". Needs the `xray:PutTraceSegments` and `xray:PutTelemetryRecords` on the role for this to work. [More on
727
716
  Active Tracing here](https://docs.aws.amazon.com/lambda/latest/dg/lambda-x-ray.html).
728
717
  * **environment_variables**: Optional. List of Environment Variables to add to the function, needs to be in the format of `KEY=VALUE`. Can be encrypted for added security.
729
718
  * **kms_key_arn**: Optional. KMS key ARN to use to encrypt `environment_variables`.
730
719
  * **function_tags**: Optional. List of tags to add to the function, needs to be in the format of `KEY=VALUE`. Can be encrypted for added security.
731
-
720
+
732
721
  For a list of all [permissions for Lambda, please refer to the documentation](https://docs.aws.amazon.com/lambda/latest/dg/lambda-api-permissions-ref.html).
733
722
 
734
723
  #### Examples:
data/Rakefile CHANGED
@@ -1 +1,160 @@
1
- task(:default) { ruby '-S rspec' }
1
+ require 'bundler'
2
+ require 'term/ansicolor'
3
+ require 'pathname'
4
+ require 'logger'
5
+ require './lib/dpl/version'
6
+ require 'highline'
7
+
8
+ include Term::ANSIColor
9
+
10
+ def cli
11
+ @cli ||= HighLine.new
12
+ end
13
+
14
+ @ready = false
15
+
16
+ def logger
17
+ @logger ||= Logger.new($stdout)
18
+ end
19
+
20
+ def top
21
+ @top ||= Pathname.new File.expand_path(File.dirname(__FILE__))
22
+ end
23
+
24
+ def gem_version
25
+ ENV['DPL_VERSION'] || DPL::VERSION
26
+ end
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
+
39
+ gemspecs = FileList[File.join(top, "dpl-*.gemspec")]
40
+
41
+ providers = gemspecs.map { |f| /dpl-(?<provider>.*)\.gemspec/ =~ f && provider }
42
+
43
+ task :default => [:spec, :install] do
44
+ Rake::Task["spec_providers"].invoke
45
+ Rake::Task["check_providers"].invoke
46
+ end
47
+
48
+ desc "Run spec on all providers"
49
+ task :spec_providers do
50
+ providers.each do |provider|
51
+ Rake::Task["spec-#{provider}"].invoke
52
+ end
53
+ end
54
+
55
+ desc "Check all provider gems install correctly"
56
+ task :check_providers do
57
+ providers.each do |provider|
58
+ Rake::Task["check-#{provider}"].invoke
59
+ end
60
+ end
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
+
90
+ task :deep_clean do
91
+ Rake::Task[:clean].invoke
92
+ sh "git clean -dfx"
93
+ end
94
+
95
+ task :clean do
96
+ rm_rf "stubs"
97
+ rm_rf "vendor"
98
+ end
99
+
100
+ desc "Run dpl specs"
101
+ task :spec do
102
+ ruby '-S rspec spec/cli_spec.rb spec/provider_spec.rb'
103
+ end
104
+
105
+ desc "Build dpl gem"
106
+ file "dpl-#{gem_version}.gem" do
107
+ logger.info green("Building dpl gem")
108
+ ruby "-S gem build dpl.gemspec"
109
+ end
110
+
111
+ desc "Install dpl gem"
112
+ task :install => "dpl-#{gem_version}.gem" do
113
+ logger.info green("Installing dpl gem")
114
+ ruby "-S gem install dpl-#{gem_version}.gem"
115
+ end
116
+
117
+ providers.each do |provider|
118
+ desc "Write Gemfile-#{provider}"
119
+ file "Gemfile-#{provider}" do |t|
120
+ gemfile = top + t.name
121
+ logger.info green("Writing #{gemfile}")
122
+ gemfile.write %Q(source 'https://rubygems.org'\ngemspec :name => "dpl-#{provider}"\n)
123
+ end
124
+
125
+ desc %Q(Run dpl-#{provider} specs)
126
+ task "spec-#{provider}" => [:install, "Gemfile-#{provider}"] do
127
+ sh "rm -f $HOME/.npmrc"
128
+ logger.info green("Running `bundle install` for #{provider}")
129
+ sh 'bash', '-cl', "bundle install --gemfile=Gemfile-#{provider} --path=vendor/cache/dpl-#{provider} --retry=3 --binstubs=stubs"
130
+ logger.info green("Running specs for #{provider}")
131
+ sh "env BUNDLE_GEMFILE=Gemfile-#{provider} ./stubs/rspec spec/provider/#{provider}_spec.rb"
132
+ end
133
+
134
+ desc "Build dpl-#{provider} gem"
135
+ file "dpl-#{provider}-#{gem_version}.gem" do
136
+ logger.info green("Building dpl-#{provider} gem")
137
+ ruby "-S gem build --silent dpl-#{provider}.gemspec"
138
+ end
139
+
140
+ desc "Test dpl-#{provider} gem"
141
+ task "check-#{provider}" => [:install, "dpl-#{provider}-#{gem_version}.gem"] do
142
+ logger.info green("Installing dpl-#{provider} gem")
143
+ sh "gem install --no-post-install-message dpl-#{provider}-#{gem_version}.gem"
144
+ logger.info green("Testing dpl-#{provider} loads correctly")
145
+ ruby "-S dpl --provider=#{provider} --skip-cleanup=true --no-deploy"
146
+ end
147
+
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
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
@@ -0,0 +1,3 @@
1
+ require './gemspec_helper'
2
+
3
+ gemspec_for 'anynines'
@@ -0,0 +1,3 @@
1
+ require './gemspec_helper'
2
+
3
+ gemspec_for 'atlas'
@@ -0,0 +1,3 @@
1
+ require './gemspec_helper'
2
+
3
+ gemspec_for 'azure_webapps'
@@ -0,0 +1,3 @@
1
+ require './gemspec_helper'
2
+
3
+ gemspec_for 'bintray'
@@ -0,0 +1,3 @@
1
+ require './gemspec_helper'
2
+
3
+ gemspec_for 'bitballoon', [['bitballoon']]
@@ -0,0 +1,3 @@
1
+ require './gemspec_helper'
2
+
3
+ gemspec_for 'bluemix_cloud_foundry'