dpl 1.6.6.travis.487.1 → 1.6.6.travis.491.1

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 CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NTEyYmE0OThmMWY5ZDZiMDVlZmIzZjg2N2ExMDk4MGUzNGIwZjk2NA==
4
+ OWY3NjUyM2IzODBhNmY5NmQxNDg2ODRjNDYyYTY5Y2NkNTc3MmNiMA==
5
5
  data.tar.gz: !binary |-
6
- NDE3ODcyYTAwY2RiOGVmZGQ0NjIwYTNkNjVjZDNjYWY4N2YxNDYxMg==
6
+ MTQzMjEwOTliZDBmZWU1MzFkMTlhMmVkOGVlYTkzYzE1NGY4ODU0NQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- MTllZjM2ZmM5M2I2NjczNzIxYzA2NjIyYzQ1NzRhZDIzMjFiOWMwYWU4MGE5
10
- NDNlMDk1ZWQyYjYwNjgzNzQ2ZTJhYmI2Nzg3ZGI3ZDc2NjM3MGZlYThhODk2
11
- Mjg5YmNkMWRjYWIwMWIyZGM3Zjc2ZTkwNjgxMjgxY2E1MTA2Zjc=
9
+ YTMxNzYzYTBhZGYwZWU2MDYwMjBjNGYwMzNmNGExYmE1N2I3MDc3MTRlMzg2
10
+ NmExYjk1MWQ2MmExNmVhMGVlNDdlYTE2MDAyZDEyMTk5ZTgyZjkxODZmMDkw
11
+ ZGQzN2M1OGZmODI4MjY4OTg2MjkzZjJhYjAyNDRhNTY2M2IyYTQ=
12
12
  data.tar.gz: !binary |-
13
- Y2NjZjEzODRiMDk1ZWJhYjFlMjE1NjEzYjZmYjFmMmZlMzBkZjhlOGNlNzYy
14
- OGU3NWU3NDFlMThmZTBkMjM4OWVlMzRiN2U2OTFkOGY3YTcxYzI1NDU1YjMz
15
- YjlkZDIxMWFlNmJmNmM0NjJlYWE2NWEyMmY1MzUxNTYwYTZkYWM=
13
+ YjY1YjU4NDc2YTNmYzk2NDA1ZGJlZDlkNTMwYWRiODc5N2ZkOWZmZjY3MWI2
14
+ MGNkM2Q1NDAwZDJjZDYxNWVhMjkxM2JiNmM3MjQ2ZmRjMDRhMjdkMDdjZWIx
15
+ ZDkyZTJiNGE3OTI3MDEwOGMwNGViZTVmNTNjNGYzMjU2YmM4MGU=
data/Gemfile CHANGED
@@ -40,3 +40,7 @@ end
40
40
  group :gcs do
41
41
  gem 'gstore'
42
42
  end
43
+
44
+ group :gae do
45
+ gem 'rubyzip'
46
+ end
@@ -0,0 +1,64 @@
1
+ require 'digest/sha1'
2
+ require 'open-uri'
3
+
4
+ module DPL
5
+ class Provider
6
+ class GAE < Provider
7
+ experimental 'Google App Engine'
8
+
9
+ # https://developers.google.com/appengine/downloads
10
+ GAE_VERSION='1.9.6'
11
+ GAE_ZIP_FILE="google_appengine_#{GAE_VERSION}.zip"
12
+ SHA1SUM='888a6687d868ac37f973ea2fb986931338a1c040'
13
+ BASE_DIR=Dir.pwd
14
+ GAE_DIR=File.join(BASE_DIR, 'google_appengine')
15
+ APPCFG_BIN=File.join(GAE_DIR, 'appcfg.py')
16
+
17
+ def self.install_sdk
18
+ requires 'rubyzip', :load => 'zip'
19
+ $stderr.puts "Setting up Google App Engine SDK"
20
+
21
+ Dir.chdir(BASE_DIR) do
22
+ unless File.exists? GAE_ZIP_FILE
23
+ $stderr.puts "Downloading Google App Engine SDK"
24
+ File.open(GAE_ZIP_FILE, "wb") do |dest|
25
+ open("https://storage.googleapis.com/appengine-sdks/featured/#{GAE_ZIP_FILE}", "rb") do |src|
26
+ dest.write(src.read)
27
+ end
28
+ end
29
+ end
30
+ sha1sum = Digest::SHA1.hexdigest(File.read(GAE_ZIP_FILE))
31
+ unless sha1sum == SHA1SUM
32
+ raise "Checksum did not match for #{GAE_ZIP_FILE}"
33
+ end
34
+
35
+ unless File.directory? 'google_appengine'
36
+ $stderr.puts "Extracting Google App Engine SDK archive"
37
+ Zip::File.open(GAE_ZIP_FILE) do |file|
38
+ file.each do |entry|
39
+ entry.extract entry.name
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
45
+
46
+ install_sdk
47
+
48
+ def needs_key?
49
+ false
50
+ end
51
+
52
+ def check_auth
53
+ end
54
+
55
+ def app_dir
56
+ options[:app_dir] || ENV['TRAVIS_BUILD_DIR'] || Dir.pwd
57
+ end
58
+
59
+ def push_app
60
+ context.shell "#{APPCFG_BIN} --oauth2_refresh_token=#{options[:oauth_refresh_token]} #{app_dir}"
61
+ end
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,26 @@
1
+ require 'spec_helper'
2
+ require 'dpl/provider/gae'
3
+
4
+ describe DPL::Provider::GAE do
5
+ subject :provider do
6
+ described_class.new(DummyContext.new, :user => 'foo', :password => 'bar')
7
+ end
8
+
9
+ let(:token) { 'deadbeef012345' }
10
+
11
+ describe '#push_app' do
12
+ example 'with default app_dir' do
13
+ ENV['TRAVIS_BUILD_DIR'] = Dir.pwd
14
+ provider.options.update(:oauth_refresh_token => token)
15
+ expect(provider.context).to receive(:shell).with("#{DPL::Provider::GAE::APPCFG_BIN} --oauth2_refresh_token=#{token} #{Dir.pwd}").and_return(true)
16
+ provider.push_app
17
+ end
18
+
19
+ example 'with custom app_dir' do
20
+ app_dir='foo'
21
+ provider.options.update(:oauth_refresh_token => token, :app_dir => app_dir)
22
+ expect(provider.context).to receive(:shell).with("#{DPL::Provider::GAE::APPCFG_BIN} --oauth2_refresh_token=#{token} #{app_dir}").and_return(true)
23
+ provider.push_app
24
+ end
25
+ end
26
+ end
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.6.6.travis.487.1
4
+ version: 1.6.6.travis.491.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Konstantin Haase
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-06-26 00:00:00.000000000 Z
11
+ date: 2014-06-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -108,6 +108,7 @@ files:
108
108
  - lib/dpl/provider/divshot.rb
109
109
  - lib/dpl/provider/dot_cloud.rb
110
110
  - lib/dpl/provider/engine_yard.rb
111
+ - lib/dpl/provider/gae.rb
111
112
  - lib/dpl/provider/gcs.rb
112
113
  - lib/dpl/provider/hackage.rb
113
114
  - lib/dpl/provider/heroku.rb
@@ -137,6 +138,7 @@ files:
137
138
  - spec/provider/deis_spec.rb
138
139
  - spec/provider/divshot_spec.rb
139
140
  - spec/provider/dotcloud_spec.rb
141
+ - spec/provider/gae_spec.rb
140
142
  - spec/provider/gcs_spec.rb
141
143
  - spec/provider/hackage_spec.rb
142
144
  - spec/provider/heroku_anvil_spec.rb