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

Sign up to get free protection for your applications and to get access to all the features.
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