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 +8 -8
- data/Gemfile +4 -0
- data/lib/dpl/provider/gae.rb +64 -0
- data/spec/provider/gae_spec.rb +26 -0
- metadata +4 -2
checksums.yaml
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
---
|
|
2
2
|
!binary "U0hBMQ==":
|
|
3
3
|
metadata.gz: !binary |-
|
|
4
|
-
|
|
4
|
+
OWY3NjUyM2IzODBhNmY5NmQxNDg2ODRjNDYyYTY5Y2NkNTc3MmNiMA==
|
|
5
5
|
data.tar.gz: !binary |-
|
|
6
|
-
|
|
6
|
+
MTQzMjEwOTliZDBmZWU1MzFkMTlhMmVkOGVlYTkzYzE1NGY4ODU0NQ==
|
|
7
7
|
SHA512:
|
|
8
8
|
metadata.gz: !binary |-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
YTMxNzYzYTBhZGYwZWU2MDYwMjBjNGYwMzNmNGExYmE1N2I3MDc3MTRlMzg2
|
|
10
|
+
NmExYjk1MWQ2MmExNmVhMGVlNDdlYTE2MDAyZDEyMTk5ZTgyZjkxODZmMDkw
|
|
11
|
+
ZGQzN2M1OGZmODI4MjY4OTg2MjkzZjJhYjAyNDRhNTY2M2IyYTQ=
|
|
12
12
|
data.tar.gz: !binary |-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
YjY1YjU4NDc2YTNmYzk2NDA1ZGJlZDlkNTMwYWRiODc5N2ZkOWZmZjY3MWI2
|
|
14
|
+
MGNkM2Q1NDAwZDJjZDYxNWVhMjkxM2JiNmM3MjQ2ZmRjMDRhMjdkMDdjZWIx
|
|
15
|
+
ZDkyZTJiNGE3OTI3MDEwOGMwNGViZTVmNTNjNGYzMjU2YmM4MGU=
|
data/Gemfile
CHANGED
|
@@ -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.
|
|
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-
|
|
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
|