cf 0.6.0.rc4 → 0.6.0.rc5
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.
- data/lib/cf/cli/app/push/create.rb +1 -10
- data/lib/cf/cli/service/bind.rb +0 -2
- data/lib/cf/cli/service/unbind.rb +0 -2
- data/lib/cf/version.rb +1 -1
- data/spec/cf/cli/app/push/create_spec.rb +0 -5
- data/spec/features/account_lifecycle_spec.rb +1 -1
- data/spec/features/push_flow_spec.rb +4 -8
- metadata +23 -41
- data/lib/cf/detect.rb +0 -129
- data/spec/cf/detect_spec.rb +0 -34
@@ -1,5 +1,3 @@
|
|
1
|
-
require "cf/detect"
|
2
|
-
|
3
1
|
module CF::App
|
4
2
|
module Create
|
5
3
|
attr_accessor :input
|
@@ -16,10 +14,7 @@ module CF::App
|
|
16
14
|
inputs[:buildpack] = input[:buildpack]
|
17
15
|
inputs[:command] = input[:command] if input.has?(:command) || !has_procfile?
|
18
16
|
|
19
|
-
|
20
|
-
human_mb = human_mb((detected && detected.memory_suggestion) || 64)
|
21
|
-
inputs[:memory] = megabytes(input[:memory, human_mb])
|
22
|
-
|
17
|
+
inputs[:memory] = megabytes(input[:memory, human_mb(256)])
|
23
18
|
inputs[:stack] = input[:stack]
|
24
19
|
|
25
20
|
inputs
|
@@ -105,10 +100,6 @@ module CF::App
|
|
105
100
|
@all_instances ||= client.service_instances
|
106
101
|
end
|
107
102
|
|
108
|
-
def detector
|
109
|
-
@detector ||= CF::Detector.new(client, @path)
|
110
|
-
end
|
111
|
-
|
112
103
|
def target_base
|
113
104
|
client.target.sub(/^https?:\/\/([^\.]+\.)?(.+)\/?/, '\2')
|
114
105
|
end
|
data/lib/cf/cli/service/bind.rb
CHANGED
data/lib/cf/version.rb
CHANGED
@@ -151,11 +151,6 @@ describe CF::App::Create do
|
|
151
151
|
memory_choices = %w(64M 128M 256M 512M 1G)
|
152
152
|
stub(create).memory_choices { memory_choices }
|
153
153
|
|
154
|
-
detector = mock
|
155
|
-
stub(create).detector { detector }
|
156
|
-
|
157
|
-
stub(detector).detected { Clouseau::Rails }
|
158
|
-
|
159
154
|
mock_ask('Memory Limit', anything) do |_, options|
|
160
155
|
expect(options[:choices]).to eq memory_choices
|
161
156
|
expect(options[:default]).to eq "256M"
|
@@ -31,7 +31,7 @@ if ENV['CF_V2_TEST_USER'] && ENV['CF_V2_TEST_PASSWORD'] && ENV['CF_V2_TEST_TARGE
|
|
31
31
|
end
|
32
32
|
|
33
33
|
it "registers a new account and deletes it" do
|
34
|
-
pending "until we get some v2 admin credentials somewhere to actually run this with"
|
34
|
+
pending "until we get some v2 admin credentials somewhere to actually run this with"
|
35
35
|
|
36
36
|
email = Faker::Internet.email
|
37
37
|
run("#{cf_bin} target #{target}") do |runner|
|
@@ -22,7 +22,7 @@ if ENV['CF_V2_TEST_USER'] && ENV['CF_V2_TEST_PASSWORD'] && ENV['CF_V2_TEST_TARGE
|
|
22
22
|
end
|
23
23
|
|
24
24
|
after do
|
25
|
-
|
25
|
+
`#{cf_bin} delete #{app} -f --no-script`
|
26
26
|
Interact::Progress::Dots.stop!
|
27
27
|
end
|
28
28
|
|
@@ -100,13 +100,9 @@ if ENV['CF_V2_TEST_USER'] && ENV['CF_V2_TEST_PASSWORD'] && ENV['CF_V2_TEST_TARGE
|
|
100
100
|
expect(runner).to say "Save configuration?> n", 10
|
101
101
|
runner.send_keys ""
|
102
102
|
|
103
|
-
expect(runner).to say "Uploading #{app}... OK"
|
104
|
-
expect(runner).to say "Starting #{app}... OK"
|
105
|
-
|
106
|
-
expect(runner).to say /(Using|Installing) Ruby/i, 60
|
107
|
-
expect(runner).to say "Your bundle is complete!", 30
|
108
|
-
|
109
|
-
expect(runner).to say "Checking #{app}..."
|
103
|
+
expect(runner).to say "Uploading #{app}... OK"
|
104
|
+
expect(runner).to say "Starting #{app}... OK"
|
105
|
+
expect(runner).to say "Checking #{app}...", 180
|
110
106
|
expect(runner).to say "1/1 instances"
|
111
107
|
expect(runner).to say "OK", 30
|
112
108
|
end
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 505000847
|
5
5
|
prerelease: 6
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 6
|
9
9
|
- 0
|
10
10
|
- rc
|
11
|
-
-
|
12
|
-
version: 0.6.0.
|
11
|
+
- 5
|
12
|
+
version: 0.6.0.rc5
|
13
13
|
platform: ruby
|
14
14
|
authors:
|
15
15
|
- Cloud Foundry Team
|
@@ -18,7 +18,7 @@ autorequire:
|
|
18
18
|
bindir: bin
|
19
19
|
cert_chain: []
|
20
20
|
|
21
|
-
date: 2013-03-
|
21
|
+
date: 2013-03-22 00:00:00 Z
|
22
22
|
dependencies:
|
23
23
|
- !ruby/object:Gem::Dependency
|
24
24
|
name: json_pure
|
@@ -73,14 +73,14 @@ dependencies:
|
|
73
73
|
requirements:
|
74
74
|
- - ">="
|
75
75
|
- !ruby/object:Gem::Version
|
76
|
-
hash:
|
76
|
+
hash: 505000847
|
77
77
|
segments:
|
78
78
|
- 0
|
79
79
|
- 6
|
80
80
|
- 0
|
81
81
|
- rc
|
82
|
-
-
|
83
|
-
version: 0.6.0.
|
82
|
+
- 5
|
83
|
+
version: 0.6.0.rc5
|
84
84
|
- - <
|
85
85
|
- !ruby/object:Gem::Version
|
86
86
|
hash: 5
|
@@ -90,25 +90,10 @@ dependencies:
|
|
90
90
|
version: "0.7"
|
91
91
|
type: :runtime
|
92
92
|
version_requirements: *id004
|
93
|
-
- !ruby/object:Gem::Dependency
|
94
|
-
name: clouseau
|
95
|
-
prerelease: false
|
96
|
-
requirement: &id005 !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
|
-
requirements:
|
99
|
-
- - ~>
|
100
|
-
- !ruby/object:Gem::Version
|
101
|
-
hash: 11
|
102
|
-
segments:
|
103
|
-
- 0
|
104
|
-
- 0
|
105
|
-
version: "0.0"
|
106
|
-
type: :runtime
|
107
|
-
version_requirements: *id005
|
108
93
|
- !ruby/object:Gem::Dependency
|
109
94
|
name: mothership
|
110
95
|
prerelease: false
|
111
|
-
requirement: &
|
96
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
112
97
|
none: false
|
113
98
|
requirements:
|
114
99
|
- - ">="
|
@@ -127,16 +112,16 @@ dependencies:
|
|
127
112
|
- 0
|
128
113
|
version: "1.0"
|
129
114
|
type: :runtime
|
130
|
-
version_requirements: *
|
115
|
+
version_requirements: *id005
|
131
116
|
- !ruby/object:Gem::Dependency
|
132
117
|
name: manifests-cf-plugin
|
133
118
|
prerelease: false
|
134
|
-
requirement: &
|
119
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
135
120
|
none: false
|
136
121
|
requirements:
|
137
122
|
- - ">="
|
138
123
|
- !ruby/object:Gem::Version
|
139
|
-
hash:
|
124
|
+
hash: 505000849
|
140
125
|
segments:
|
141
126
|
- 0
|
142
127
|
- 7
|
@@ -152,16 +137,16 @@ dependencies:
|
|
152
137
|
- 8
|
153
138
|
version: "0.8"
|
154
139
|
type: :runtime
|
155
|
-
version_requirements: *
|
140
|
+
version_requirements: *id006
|
156
141
|
- !ruby/object:Gem::Dependency
|
157
142
|
name: tunnel-cf-plugin
|
158
143
|
prerelease: false
|
159
|
-
requirement: &
|
144
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
160
145
|
none: false
|
161
146
|
requirements:
|
162
147
|
- - ">="
|
163
148
|
- !ruby/object:Gem::Version
|
164
|
-
hash:
|
149
|
+
hash: 505000913
|
165
150
|
segments:
|
166
151
|
- 0
|
167
152
|
- 3
|
@@ -177,11 +162,11 @@ dependencies:
|
|
177
162
|
- 4
|
178
163
|
version: "0.4"
|
179
164
|
type: :runtime
|
180
|
-
version_requirements: *
|
165
|
+
version_requirements: *id007
|
181
166
|
- !ruby/object:Gem::Dependency
|
182
167
|
name: rake
|
183
168
|
prerelease: false
|
184
|
-
requirement: &
|
169
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
185
170
|
none: false
|
186
171
|
requirements:
|
187
172
|
- - ~>
|
@@ -192,11 +177,11 @@ dependencies:
|
|
192
177
|
- 9
|
193
178
|
version: "0.9"
|
194
179
|
type: :development
|
195
|
-
version_requirements: *
|
180
|
+
version_requirements: *id008
|
196
181
|
- !ruby/object:Gem::Dependency
|
197
182
|
name: rspec
|
198
183
|
prerelease: false
|
199
|
-
requirement: &
|
184
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
200
185
|
none: false
|
201
186
|
requirements:
|
202
187
|
- - ~>
|
@@ -207,11 +192,11 @@ dependencies:
|
|
207
192
|
- 11
|
208
193
|
version: "2.11"
|
209
194
|
type: :development
|
210
|
-
version_requirements: *
|
195
|
+
version_requirements: *id009
|
211
196
|
- !ruby/object:Gem::Dependency
|
212
197
|
name: webmock
|
213
198
|
prerelease: false
|
214
|
-
requirement: &
|
199
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
215
200
|
none: false
|
216
201
|
requirements:
|
217
202
|
- - ~>
|
@@ -222,11 +207,11 @@ dependencies:
|
|
222
207
|
- 9
|
223
208
|
version: "1.9"
|
224
209
|
type: :development
|
225
|
-
version_requirements: *
|
210
|
+
version_requirements: *id010
|
226
211
|
- !ruby/object:Gem::Dependency
|
227
212
|
name: rr
|
228
213
|
prerelease: false
|
229
|
-
requirement: &
|
214
|
+
requirement: &id011 !ruby/object:Gem::Requirement
|
230
215
|
none: false
|
231
216
|
requirements:
|
232
217
|
- - ~>
|
@@ -237,7 +222,7 @@ dependencies:
|
|
237
222
|
- 0
|
238
223
|
version: "1.0"
|
239
224
|
type: :development
|
240
|
-
version_requirements: *
|
225
|
+
version_requirements: *id011
|
241
226
|
description:
|
242
227
|
email:
|
243
228
|
- vcap-dev@googlegroups.com
|
@@ -317,7 +302,6 @@ files:
|
|
317
302
|
- lib/cf/cli/user/users.rb
|
318
303
|
- lib/cf/cli.rb
|
319
304
|
- lib/cf/constants.rb
|
320
|
-
- lib/cf/detect.rb
|
321
305
|
- lib/cf/errors.rb
|
322
306
|
- lib/cf/plugin.rb
|
323
307
|
- lib/cf/spacing.rb
|
@@ -364,7 +348,6 @@ files:
|
|
364
348
|
- spec/cf/cli/user/passwd_spec.rb
|
365
349
|
- spec/cf/cli/user/register_spec.rb
|
366
350
|
- spec/cf/cli_spec.rb
|
367
|
-
- spec/cf/detect_spec.rb
|
368
351
|
- spec/console_app_specker/console_app_specker_matchers_spec.rb
|
369
352
|
- spec/console_app_specker/specker_runner_spec.rb
|
370
353
|
- spec/features/account_lifecycle_spec.rb
|
@@ -457,7 +440,6 @@ test_files:
|
|
457
440
|
- spec/cf/cli/user/passwd_spec.rb
|
458
441
|
- spec/cf/cli/user/register_spec.rb
|
459
442
|
- spec/cf/cli_spec.rb
|
460
|
-
- spec/cf/detect_spec.rb
|
461
443
|
- spec/console_app_specker/console_app_specker_matchers_spec.rb
|
462
444
|
- spec/console_app_specker/specker_runner_spec.rb
|
463
445
|
- spec/features/account_lifecycle_spec.rb
|
data/lib/cf/detect.rb
DELETED
@@ -1,129 +0,0 @@
|
|
1
|
-
require "set"
|
2
|
-
|
3
|
-
require "clouseau"
|
4
|
-
|
5
|
-
module CF
|
6
|
-
class Detector
|
7
|
-
# "Basic" framework names for a detected language
|
8
|
-
PSEUDO_FRAMEWORKS = {
|
9
|
-
:node => "node",
|
10
|
-
:python => "wsgi",
|
11
|
-
:java => "java_web",
|
12
|
-
:php => "php",
|
13
|
-
:erlang => "otp_rebar",
|
14
|
-
:dotnet => "dotNet"
|
15
|
-
}
|
16
|
-
|
17
|
-
# Mismatched framework names
|
18
|
-
FRAMEWORK_NAMES = {
|
19
|
-
:rails => "rails3"
|
20
|
-
}
|
21
|
-
|
22
|
-
# Clouseau language symbol => matching runtime names
|
23
|
-
LANGUAGE_RUNTIMES = {
|
24
|
-
:ruby => /^ruby.*/,
|
25
|
-
:java => /^java.*/,
|
26
|
-
:node => /^node.*/,
|
27
|
-
:erlang => /^erlang.*/,
|
28
|
-
:dotnet => /^dotNet.*/,
|
29
|
-
:python => /^python.*/,
|
30
|
-
:php => /^php.*/
|
31
|
-
}
|
32
|
-
|
33
|
-
def initialize(client, path)
|
34
|
-
@client = client
|
35
|
-
@path = path
|
36
|
-
end
|
37
|
-
|
38
|
-
# detect the framework
|
39
|
-
def detect_framework
|
40
|
-
detected && frameworks[detected]
|
41
|
-
end
|
42
|
-
|
43
|
-
# detect the language and return the appropriate runtimes
|
44
|
-
def detect_runtimes
|
45
|
-
if detected && lang = detected.language_name
|
46
|
-
runtimes_for(lang)
|
47
|
-
else
|
48
|
-
[]
|
49
|
-
end
|
50
|
-
end
|
51
|
-
|
52
|
-
# determine runtimes for a given framework based on the language its
|
53
|
-
# detector reports itself as
|
54
|
-
def runtimes(framework)
|
55
|
-
if detector = detectors[framework]
|
56
|
-
runtimes_for(detector.language_name)
|
57
|
-
else
|
58
|
-
[]
|
59
|
-
end
|
60
|
-
end
|
61
|
-
|
62
|
-
# determine suitable memory allocation via the framework's detector
|
63
|
-
def suggested_memory(framework)
|
64
|
-
if detector = detectors[framework]
|
65
|
-
detector.memory_suggestion
|
66
|
-
end
|
67
|
-
end
|
68
|
-
|
69
|
-
# helper so that this is cached somewhere
|
70
|
-
def all_runtimes
|
71
|
-
@all_runtimes ||= @client.runtimes
|
72
|
-
end
|
73
|
-
|
74
|
-
# helper so that this is cached somewhere
|
75
|
-
def all_frameworks
|
76
|
-
@all_frameworks ||= @client.frameworks
|
77
|
-
end
|
78
|
-
|
79
|
-
def detected
|
80
|
-
@detected ||= Clouseau.detect(@path)
|
81
|
-
end
|
82
|
-
|
83
|
-
private
|
84
|
-
|
85
|
-
def map_detectors!
|
86
|
-
@framework_detectors = {}
|
87
|
-
@detector_frameworks = {}
|
88
|
-
|
89
|
-
Clouseau.detectors.each do |d|
|
90
|
-
name = d.framework_name
|
91
|
-
lang = d.language_name
|
92
|
-
|
93
|
-
framework = all_frameworks.find { |f|
|
94
|
-
f.name == name.to_s ||
|
95
|
-
f.name == FRAMEWORK_NAMES[name]
|
96
|
-
}
|
97
|
-
|
98
|
-
framework ||= all_frameworks.find { |f|
|
99
|
-
f.name == PSEUDO_FRAMEWORKS[lang]
|
100
|
-
}
|
101
|
-
|
102
|
-
next unless framework
|
103
|
-
|
104
|
-
@framework_detectors[framework] = d
|
105
|
-
@detector_frameworks[d] = framework
|
106
|
-
end
|
107
|
-
|
108
|
-
nil
|
109
|
-
end
|
110
|
-
|
111
|
-
# Framework -> Detector
|
112
|
-
def detectors
|
113
|
-
map_detectors! unless @framework_detectors
|
114
|
-
@framework_detectors
|
115
|
-
end
|
116
|
-
|
117
|
-
# Detector -> Framework
|
118
|
-
def frameworks
|
119
|
-
map_detectors! unless @detector_frameworks
|
120
|
-
@detector_frameworks
|
121
|
-
end
|
122
|
-
|
123
|
-
def runtimes_for(language)
|
124
|
-
all_runtimes.select do |r|
|
125
|
-
LANGUAGE_RUNTIMES[language] === r.name
|
126
|
-
end
|
127
|
-
end
|
128
|
-
end
|
129
|
-
end
|
data/spec/cf/detect_spec.rb
DELETED
@@ -1,34 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe CF::Detector do
|
4
|
-
let(:client) { fake_client :frameworks => [framework] }
|
5
|
-
let(:detector) { CF::Detector.new client, nil }
|
6
|
-
|
7
|
-
describe '#detect_framework' do
|
8
|
-
subject { detector.detect_framework }
|
9
|
-
|
10
|
-
{ Clouseau::Django => "django",
|
11
|
-
Clouseau::DotNet => "dotNet",
|
12
|
-
Clouseau::Grails => "grails",
|
13
|
-
Clouseau::Java => "java_web",
|
14
|
-
Clouseau::Lift => "lift",
|
15
|
-
Clouseau::Node => "node",
|
16
|
-
Clouseau::PHP => "php",
|
17
|
-
Clouseau::Play => "play",
|
18
|
-
Clouseau::Python => "wsgi",
|
19
|
-
Clouseau::Rack => "rack",
|
20
|
-
Clouseau::Rails => "rails3",
|
21
|
-
Clouseau::Sinatra => "sinatra",
|
22
|
-
Clouseau::Spring => "spring"
|
23
|
-
}.each do |clouseau_detective, cf_name|
|
24
|
-
context "when we detected #{clouseau_detective}" do
|
25
|
-
let(:framework) { fake(:framework, :name => cf_name) }
|
26
|
-
|
27
|
-
it "maps to CF name #{cf_name}" do
|
28
|
-
stub(Clouseau).detect(anything) { clouseau_detective }
|
29
|
-
should eq framework
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|