cf 0.6.0.rc4 → 0.6.0.rc5

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
- detected = detector.detected
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
@@ -1,5 +1,3 @@
1
- require "cf/detect"
2
-
3
1
  require "cf/cli/service/base"
4
2
 
5
3
  module CF::Service
@@ -1,5 +1,3 @@
1
- require "cf/detect"
2
-
3
1
  require "cf/cli/service/base"
4
2
 
5
3
  module CF::Service
@@ -1,3 +1,3 @@
1
1
  module CF
2
- VERSION = "0.6.0.rc4".freeze
2
+ VERSION = "0.6.0.rc5".freeze
3
3
  end
@@ -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" if TRAVIS_BUILD_ID
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
- cf %W(delete #{app} -f --no-script)
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", 10
104
- expect(runner).to say "Starting #{app}... OK", 10
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: -4129708240
4
+ hash: 505000847
5
5
  prerelease: 6
6
6
  segments:
7
7
  - 0
8
8
  - 6
9
9
  - 0
10
10
  - rc
11
- - 4
12
- version: 0.6.0.rc4
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 00:00:00 Z
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: -4129708240
76
+ hash: 505000847
77
77
  segments:
78
78
  - 0
79
79
  - 6
80
80
  - 0
81
81
  - rc
82
- - 4
83
- version: 0.6.0.rc4
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: &id006 !ruby/object:Gem::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: *id006
115
+ version_requirements: *id005
131
116
  - !ruby/object:Gem::Dependency
132
117
  name: manifests-cf-plugin
133
118
  prerelease: false
134
- requirement: &id007 !ruby/object:Gem::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: -4129708244
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: *id007
140
+ version_requirements: *id006
156
141
  - !ruby/object:Gem::Dependency
157
142
  name: tunnel-cf-plugin
158
143
  prerelease: false
159
- requirement: &id008 !ruby/object:Gem::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: -4129708180
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: *id008
165
+ version_requirements: *id007
181
166
  - !ruby/object:Gem::Dependency
182
167
  name: rake
183
168
  prerelease: false
184
- requirement: &id009 !ruby/object:Gem::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: *id009
180
+ version_requirements: *id008
196
181
  - !ruby/object:Gem::Dependency
197
182
  name: rspec
198
183
  prerelease: false
199
- requirement: &id010 !ruby/object:Gem::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: *id010
195
+ version_requirements: *id009
211
196
  - !ruby/object:Gem::Dependency
212
197
  name: webmock
213
198
  prerelease: false
214
- requirement: &id011 !ruby/object:Gem::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: *id011
210
+ version_requirements: *id010
226
211
  - !ruby/object:Gem::Dependency
227
212
  name: rr
228
213
  prerelease: false
229
- requirement: &id012 !ruby/object:Gem::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: *id012
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
@@ -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
@@ -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