dpl 1.8.48.travis.2486.5 → 1.9.0

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.
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'