fudge 0.3.7 → 0.3.8

Sign up to get free protection for your applications and to get access to all the features.
@@ -52,4 +52,3 @@ class Fudge::OutputChecker
52
52
  end
53
53
 
54
54
  end
55
-
@@ -20,26 +20,23 @@ module FudgeMatchers
20
20
  @task = task
21
21
  ran = []
22
22
 
23
- if task.is_a?(Fudge::Tasks::Shell)
24
- to_stub = task
25
- else
26
- to_stub = Fudge::Tasks::Shell.any_instance
27
- end
23
+ to_stub =
24
+ if task.is_a?(Fudge::Tasks::Shell)
25
+ task
26
+ else
27
+ Fudge::Tasks::Shell.any_instance
28
+ end
28
29
 
29
30
  to_stub.stub(:run_command) do |cmd, outputio|
30
31
  raise "Run Command requires an output IOStream" unless outputio
31
- ran << cmd
32
+ ran.push(cmd)
32
33
  ['dummy output', true]
33
34
  end
34
35
 
35
36
  task.run(args)
36
37
 
37
38
  @actual = ran
38
- if expected.is_a? Regexp
39
- ran.any? {|cmd| cmd =~ expected}
40
- else
41
- ran.include? expected
42
- end
39
+ run_matches?(ran, expected)
43
40
  end
44
41
 
45
42
  # Failure message
@@ -49,6 +46,15 @@ module FudgeMatchers
49
46
  message << "to run:\n #{@expected}\n"
50
47
  message << "but it ran:\n #{@actual}"
51
48
  end
49
+
50
+ private
51
+ def run_matches?(ran, expected)
52
+ if expected.is_a? Regexp
53
+ ran.any? {|cmd| cmd =~ expected}
54
+ else
55
+ ran.include? expected
56
+ end
57
+ end
52
58
  end
53
59
  end
54
60
 
data/lib/fudge/runner.rb CHANGED
@@ -19,9 +19,7 @@ module Fudge
19
19
 
20
20
  def output_start(which, output)
21
21
  which_build = String.new(which)
22
-
23
- output.puts "Running build ".foreground(:cyan) +
24
- which_build.bright.foreground(:yellow)
22
+ output.puts %Q(#{'Running build'.foreground(:cyan)} #{which_build.bright.foreground(:yellow)})
25
23
  end
26
24
 
27
25
  def run(which, options)
data/lib/fudge/tasks.rb CHANGED
@@ -32,5 +32,6 @@ module Fudge
32
32
  require 'fudge/tasks/flog'
33
33
  require 'fudge/tasks/flay'
34
34
  require 'fudge/tasks/brakeman'
35
+ require 'fudge/tasks/sub_process'
35
36
  end
36
37
  end
@@ -16,11 +16,7 @@ module Fudge
16
16
  end
17
17
 
18
18
  def tty_options
19
- args = []
20
- args << doc_options
21
- args << style_options
22
- args << style_width_options
23
- args.compact
19
+ args = [doc_options, style_options, style_width_options].compact
24
20
  end
25
21
 
26
22
  def doc_options
@@ -47,11 +47,8 @@ module Fudge
47
47
  end
48
48
 
49
49
  def output_message(t, output)
50
- message = []
51
- message << running_coloured
52
- message << task_name_coloured(t)
53
- message << args_coloured(t)
54
- output.puts message.join(' ')
50
+ message = "#{running_coloured} #{task_name_coloured(t)} #{args_coloured(t)}"
51
+ output.puts message
55
52
  end
56
53
 
57
54
  def running_coloured
@@ -13,11 +13,11 @@ module Fudge
13
13
 
14
14
  def run(options={})
15
15
  output = options[:output] || $stdout
16
- directories.each do |dir|
17
- next if skip_directory?(dir)
18
- WithDirectory.new(dir, output).inside do
19
- return false unless super
20
- end
16
+ directories.all? do |dir|
17
+ skip_directory?(dir) ||
18
+ WithDirectory.new(dir, output).inside do
19
+ super
20
+ end
21
21
  end
22
22
  end
23
23
 
@@ -66,19 +66,9 @@ module Fudge
66
66
  end
67
67
 
68
68
  def extract_scores(matches)
69
- average = max = total = 0
70
- extract_lines(matches).each do |value, key|
71
- case key
72
- when 'flog total'
73
- total = value.to_f
74
- when 'flog/method average'
75
- average = value.to_f
76
- else
77
- max = value.to_f unless value.nil?
78
- break
79
- end
80
- end
81
- [average, max, total]
69
+ values = extract_lines(matches).take(3).map(&:first)
70
+ total, average, max = values.map(&:to_f)
71
+ [average, (max || 0.0), total]
82
72
  end
83
73
 
84
74
  def extract_lines(matches)
@@ -0,0 +1,54 @@
1
+ # # -*- encoding : utf-8 -*-
2
+
3
+ require 'shellwords'
4
+
5
+ module Fudge
6
+ module Tasks
7
+ # Allow use of shell commands as tasks.
8
+ #
9
+ # Unlike Fudge::Shell, this task will not spawn a new shell.
10
+ #
11
+ # Allows the caller to set environment variables for the process,
12
+ # and to specify process attributes, as with Process::Spawn.
13
+ #
14
+ # The constructor and {#run #run} method each accept two new
15
+ # options, {#environment :environment} and {#spawn_options
16
+ # :spawn_options}.
17
+ class SubProcess < Shell
18
+ # @!attribute environment
19
+ # @return [Hash] environment variables to be set for the
20
+ # process; the keys are strings, corresponding
21
+ # to the variables' names (case sensitive).
22
+ attr_accessor :environment
23
+ # @!attribute spawn_options
24
+ # @return [Hash] attributes for the spawned process (see
25
+ # Ruby's Process::spawn documentation for
26
+ # details)
27
+ attr_accessor :spawn_options
28
+
29
+ private
30
+
31
+ # Defines the command to run
32
+ def cmd(options={})
33
+ env = merge_option(:environment, options)
34
+ spawn_options = merge_option(:spawn_options, options)
35
+ mk_cmd(env, arguments, spawn_options)
36
+ end
37
+
38
+ # Merges the option hash set when the task was create with that
39
+ # passed in on this run.
40
+ def merge_option(key, options)
41
+ my_options = self.send(key) || {}
42
+ my_options.merge(options[key] || {})
43
+ end
44
+
45
+ # Make the command for IO::popen, by splitting the command line
46
+ # into an array and adding the environment variables and spawn options.
47
+ def mk_cmd(env, cmd, options)
48
+ [env, cmd.shellsplit, options].flatten
49
+ end
50
+ end
51
+
52
+ register SubProcess
53
+ end
54
+ end
data/lib/fudge/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  module Fudge
2
2
  # Define gem version
3
- VERSION = '0.3.7'
3
+ VERSION = '0.3.8'
4
4
  end
@@ -18,10 +18,7 @@ class Fudge::WithDirectory
18
18
  private
19
19
 
20
20
  def output_message
21
- message = ""
22
- message << "--> In directory".foreground(:cyan)
23
- message << " #{dir}:".foreground(:cyan).bright
24
-
21
+ message = %Q(#{'--> In directory'.foreground(:cyan)} #{"#{dir}:".foreground(:cyan).bright})
25
22
  output.puts message
26
23
  end
27
24
  end
@@ -0,0 +1,104 @@
1
+ # -*- encoding : utf-8 -*-
2
+ require 'spec_helper'
3
+
4
+ describe Fudge::Tasks::SubProcess do
5
+ let(:output) { StringIO.new }
6
+
7
+ describe :run do
8
+ it "takes a command and runs it" do
9
+ expect(described_class.new(:ls)).to run_command [{}, 'ls', {}]
10
+ end
11
+
12
+ it "adds any arguments given" do
13
+ expect(described_class.new(:ls, '-l', '-a')).to run_command [{}, 'ls', '-l', '-a', {}]
14
+ end
15
+
16
+ it "returns false for an unsuccessful command" do
17
+ expect(described_class.new(:ls, '--newnre').run).to be_false
18
+ end
19
+
20
+ it "returns true for a successful command" do
21
+ expect(described_class.new(:ls).run).to be_true
22
+ end
23
+
24
+ context "when given environment variables" do
25
+ context "when the task is created" do
26
+ it "passes the variables to the sub-process" do
27
+ process = described_class.new(%(ruby -e "puts ENV['PATH'];puts ENV['FOO']"), environment: { 'FOO' => 'bar' })
28
+
29
+ process.run(output: output)
30
+
31
+ expect(output.string).to eq "#{ENV['PATH']}\nbar\n"
32
+ end
33
+ end
34
+
35
+ context "when the task is run" do
36
+ it "passes the variables to the sub-process" do
37
+ process = described_class.new(%(ruby -e "puts ENV['PATH'];puts ENV['FOO']"))
38
+
39
+ process.run(output: output, environment: { 'FOO' => 'bar' })
40
+
41
+ expect(output.string).to eq "#{ENV['PATH']}\nbar\n"
42
+ end
43
+ end
44
+
45
+ context "when the task is created and when it is run" do
46
+ it "gives priority to the variables passed in on run" do
47
+ process = described_class.new(%(ruby -e "puts ENV['FOO'];puts ENV['BAZ']"),
48
+ environment: { 'FOO' => 'bar', 'BAZ' => 'quux' })
49
+
50
+ process.run(output: output, environment: { 'FOO' => 'codfanglers' })
51
+
52
+ expect(output.string).to eq "codfanglers\nquux\n"
53
+ end
54
+ end
55
+ end
56
+
57
+ context "when not given an environment variable" do
58
+ it "does not make that variable available to the sub-process" do
59
+ process = described_class.new(%(ruby -e "puts ENV['FOO']"))
60
+
61
+ process.run(output: output)
62
+
63
+ expect(output.string).to eq "\n"
64
+ end
65
+ end
66
+
67
+ context "when given spawn options" do
68
+ context "when the task is created" do
69
+ it "applies those options to the sub-process" do
70
+ process = described_class.new(%(ruby -e "puts ENV['PATH'];puts ENV['FOO']"),
71
+ environment: { 'FOO' => 'bar' },
72
+ spawn_options: { unsetenv_others: true }) # Should clear environment variables
73
+
74
+ process.run(output: output)
75
+
76
+ expect(output.string).to match /\A(nil)?\nbar\n\z/
77
+ end
78
+ end
79
+
80
+ context "when the task is run" do
81
+ it "applies those options to the sub-process" do
82
+ process = described_class.new(%(ruby -e "puts ENV['PATH'];puts ENV['FOO']"),
83
+ environment: { 'FOO' => 'bar' })
84
+
85
+ process.run(output: output, spawn_options: { unsetenv_others: true })
86
+
87
+ expect(output.string).to match /\A(nil)?\nbar\n\z/
88
+ end
89
+ end
90
+
91
+ context "when the task is created and when it is run" do
92
+ it "gives priority to the options passed in on run" do
93
+ process = described_class.new(%(ruby -e "puts ENV['PATH'];puts ENV['FOO']"),
94
+ environment: { 'FOO' => 'bar' },
95
+ spawn_options: { unsetenv_others: true }) # Clear environment variables
96
+
97
+ process.run(output: output, spawn_options: { unsetenv_others: false }) # Actually, don't!
98
+
99
+ expect(output.string).to eq "#{ENV['PATH']}\nbar\n"
100
+ end
101
+ end
102
+ end
103
+ end
104
+ end
metadata CHANGED
@@ -1,32 +1,36 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fudge
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.7
4
+ version: 0.3.8
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Sage One team
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2014-03-11 00:00:00.000000000 Z
12
+ date: 2014-03-13 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: thor
15
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
- - - '>='
19
+ - - ! '>='
18
20
  - !ruby/object:Gem::Version
19
21
  version: '0'
20
22
  type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
23
26
  requirements:
24
- - - '>='
27
+ - - ! '>='
25
28
  - !ruby/object:Gem::Version
26
29
  version: '0'
27
30
  - !ruby/object:Gem::Dependency
28
31
  name: rainbow
29
32
  requirement: !ruby/object:Gem::Requirement
33
+ none: false
30
34
  requirements:
31
35
  - - ~>
32
36
  - !ruby/object:Gem::Version
@@ -34,6 +38,7 @@ dependencies:
34
38
  type: :runtime
35
39
  prerelease: false
36
40
  version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
37
42
  requirements:
38
43
  - - ~>
39
44
  - !ruby/object:Gem::Version
@@ -41,20 +46,23 @@ dependencies:
41
46
  - !ruby/object:Gem::Dependency
42
47
  name: activesupport
43
48
  requirement: !ruby/object:Gem::Requirement
49
+ none: false
44
50
  requirements:
45
- - - '>='
51
+ - - ! '>='
46
52
  - !ruby/object:Gem::Version
47
53
  version: '0'
48
54
  type: :runtime
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
51
58
  requirements:
52
- - - '>='
59
+ - - ! '>='
53
60
  - !ruby/object:Gem::Version
54
61
  version: '0'
55
62
  - !ruby/object:Gem::Dependency
56
63
  name: json
57
64
  requirement: !ruby/object:Gem::Requirement
65
+ none: false
58
66
  requirements:
59
67
  - - ~>
60
68
  - !ruby/object:Gem::Version
@@ -62,6 +70,7 @@ dependencies:
62
70
  type: :runtime
63
71
  prerelease: false
64
72
  version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
65
74
  requirements:
66
75
  - - ~>
67
76
  - !ruby/object:Gem::Version
@@ -69,211 +78,241 @@ dependencies:
69
78
  - !ruby/object:Gem::Dependency
70
79
  name: redcarpet
71
80
  requirement: !ruby/object:Gem::Requirement
81
+ none: false
72
82
  requirements:
73
- - - '>='
83
+ - - ! '>='
74
84
  - !ruby/object:Gem::Version
75
85
  version: '0'
76
86
  type: :development
77
87
  prerelease: false
78
88
  version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
79
90
  requirements:
80
- - - '>='
91
+ - - ! '>='
81
92
  - !ruby/object:Gem::Version
82
93
  version: '0'
83
94
  - !ruby/object:Gem::Dependency
84
95
  name: rspec
85
96
  requirement: !ruby/object:Gem::Requirement
97
+ none: false
86
98
  requirements:
87
- - - '>='
99
+ - - ! '>='
88
100
  - !ruby/object:Gem::Version
89
101
  version: 2.8.0
90
102
  type: :development
91
103
  prerelease: false
92
104
  version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
93
106
  requirements:
94
- - - '>='
107
+ - - ! '>='
95
108
  - !ruby/object:Gem::Version
96
109
  version: 2.8.0
97
110
  - !ruby/object:Gem::Dependency
98
111
  name: guard-rspec
99
112
  requirement: !ruby/object:Gem::Requirement
113
+ none: false
100
114
  requirements:
101
- - - '>='
115
+ - - ! '>='
102
116
  - !ruby/object:Gem::Version
103
117
  version: '0'
104
118
  type: :development
105
119
  prerelease: false
106
120
  version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
107
122
  requirements:
108
- - - '>='
123
+ - - ! '>='
109
124
  - !ruby/object:Gem::Version
110
125
  version: '0'
111
126
  - !ruby/object:Gem::Dependency
112
127
  name: rb-fsevent
113
128
  requirement: !ruby/object:Gem::Requirement
129
+ none: false
114
130
  requirements:
115
- - - '>='
131
+ - - ! '>='
116
132
  - !ruby/object:Gem::Version
117
133
  version: '0'
118
134
  type: :development
119
135
  prerelease: false
120
136
  version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
121
138
  requirements:
122
- - - '>='
139
+ - - ! '>='
123
140
  - !ruby/object:Gem::Version
124
141
  version: '0'
125
142
  - !ruby/object:Gem::Dependency
126
143
  name: yard
127
144
  requirement: !ruby/object:Gem::Requirement
145
+ none: false
128
146
  requirements:
129
- - - '>='
147
+ - - ! '>='
130
148
  - !ruby/object:Gem::Version
131
149
  version: '0'
132
150
  type: :development
133
151
  prerelease: false
134
152
  version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
135
154
  requirements:
136
- - - '>='
155
+ - - ! '>='
137
156
  - !ruby/object:Gem::Version
138
157
  version: '0'
139
158
  - !ruby/object:Gem::Dependency
140
159
  name: cane
141
160
  requirement: !ruby/object:Gem::Requirement
161
+ none: false
142
162
  requirements:
143
- - - '>='
163
+ - - ! '>='
144
164
  - !ruby/object:Gem::Version
145
165
  version: '0'
146
166
  type: :development
147
167
  prerelease: false
148
168
  version_requirements: !ruby/object:Gem::Requirement
169
+ none: false
149
170
  requirements:
150
- - - '>='
171
+ - - ! '>='
151
172
  - !ruby/object:Gem::Version
152
173
  version: '0'
153
174
  - !ruby/object:Gem::Dependency
154
175
  name: flog
155
176
  requirement: !ruby/object:Gem::Requirement
177
+ none: false
156
178
  requirements:
157
- - - '>='
179
+ - - ! '>='
158
180
  - !ruby/object:Gem::Version
159
181
  version: '0'
160
182
  type: :development
161
183
  prerelease: false
162
184
  version_requirements: !ruby/object:Gem::Requirement
185
+ none: false
163
186
  requirements:
164
- - - '>='
187
+ - - ! '>='
165
188
  - !ruby/object:Gem::Version
166
189
  version: '0'
167
190
  - !ruby/object:Gem::Dependency
168
191
  name: flay
169
192
  requirement: !ruby/object:Gem::Requirement
193
+ none: false
170
194
  requirements:
171
- - - '>='
195
+ - - ! '>='
172
196
  - !ruby/object:Gem::Version
173
197
  version: '0'
174
198
  type: :development
175
199
  prerelease: false
176
200
  version_requirements: !ruby/object:Gem::Requirement
201
+ none: false
177
202
  requirements:
178
- - - '>='
203
+ - - ! '>='
179
204
  - !ruby/object:Gem::Version
180
205
  version: '0'
181
206
  - !ruby/object:Gem::Dependency
182
207
  name: ruby2ruby
183
208
  requirement: !ruby/object:Gem::Requirement
209
+ none: false
184
210
  requirements:
185
- - - '>='
211
+ - - ! '>='
186
212
  - !ruby/object:Gem::Version
187
213
  version: '0'
188
214
  type: :development
189
215
  prerelease: false
190
216
  version_requirements: !ruby/object:Gem::Requirement
217
+ none: false
191
218
  requirements:
192
- - - '>='
219
+ - - ! '>='
193
220
  - !ruby/object:Gem::Version
194
221
  version: '0'
195
222
  - !ruby/object:Gem::Dependency
196
223
  name: RedCloth
197
224
  requirement: !ruby/object:Gem::Requirement
225
+ none: false
198
226
  requirements:
199
- - - '>='
227
+ - - ! '>='
200
228
  - !ruby/object:Gem::Version
201
229
  version: '0'
202
230
  type: :development
203
231
  prerelease: false
204
232
  version_requirements: !ruby/object:Gem::Requirement
233
+ none: false
205
234
  requirements:
206
- - - '>='
235
+ - - ! '>='
207
236
  - !ruby/object:Gem::Version
208
237
  version: '0'
209
238
  - !ruby/object:Gem::Dependency
210
239
  name: simplecov
211
240
  requirement: !ruby/object:Gem::Requirement
241
+ none: false
212
242
  requirements:
213
- - - '>='
243
+ - - ! '>='
214
244
  - !ruby/object:Gem::Version
215
245
  version: '0'
216
246
  type: :development
217
247
  prerelease: false
218
248
  version_requirements: !ruby/object:Gem::Requirement
249
+ none: false
219
250
  requirements:
220
- - - '>='
251
+ - - ! '>='
221
252
  - !ruby/object:Gem::Version
222
253
  version: '0'
223
254
  - !ruby/object:Gem::Dependency
224
255
  name: rb-inotify
225
256
  requirement: !ruby/object:Gem::Requirement
257
+ none: false
226
258
  requirements:
227
- - - '>='
259
+ - - ! '>='
228
260
  - !ruby/object:Gem::Version
229
261
  version: '0'
230
262
  type: :development
231
263
  prerelease: false
232
264
  version_requirements: !ruby/object:Gem::Requirement
265
+ none: false
233
266
  requirements:
234
- - - '>='
267
+ - - ! '>='
235
268
  - !ruby/object:Gem::Version
236
269
  version: '0'
237
270
  - !ruby/object:Gem::Dependency
238
271
  name: libnotify
239
272
  requirement: !ruby/object:Gem::Requirement
273
+ none: false
240
274
  requirements:
241
- - - '>='
275
+ - - ! '>='
242
276
  - !ruby/object:Gem::Version
243
277
  version: '0'
244
278
  type: :development
245
279
  prerelease: false
246
280
  version_requirements: !ruby/object:Gem::Requirement
281
+ none: false
247
282
  requirements:
248
- - - '>='
283
+ - - ! '>='
249
284
  - !ruby/object:Gem::Version
250
285
  version: '0'
251
286
  - !ruby/object:Gem::Dependency
252
287
  name: pry
253
288
  requirement: !ruby/object:Gem::Requirement
289
+ none: false
254
290
  requirements:
255
- - - '>='
291
+ - - ! '>='
256
292
  - !ruby/object:Gem::Version
257
293
  version: '0'
258
294
  type: :development
259
295
  prerelease: false
260
296
  version_requirements: !ruby/object:Gem::Requirement
297
+ none: false
261
298
  requirements:
262
- - - '>='
299
+ - - ! '>='
263
300
  - !ruby/object:Gem::Version
264
301
  version: '0'
265
302
  - !ruby/object:Gem::Dependency
266
303
  name: rake
267
304
  requirement: !ruby/object:Gem::Requirement
305
+ none: false
268
306
  requirements:
269
- - - '>='
307
+ - - ! '>='
270
308
  - !ruby/object:Gem::Version
271
309
  version: '0'
272
310
  type: :development
273
311
  prerelease: false
274
312
  version_requirements: !ruby/object:Gem::Requirement
313
+ none: false
275
314
  requirements:
276
- - - '>='
315
+ - - ! '>='
277
316
  - !ruby/object:Gem::Version
278
317
  version: '0'
279
318
  description: Fudge Continuous Integration Server
@@ -283,112 +322,122 @@ executables:
283
322
  extensions: []
284
323
  extra_rdoc_files: []
285
324
  files:
286
- - bin/fudge
287
325
  - lib/fudge.rb
288
- - lib/fudge/build.rb
289
326
  - lib/fudge/cli.rb
290
- - lib/fudge/description.rb
291
- - lib/fudge/exceptions.rb
292
- - lib/fudge/file_finder.rb
293
- - lib/fudge/generator.rb
294
- - lib/fudge/helpers.rb
295
- - lib/fudge/helpers/bundle_aware.rb
296
327
  - lib/fudge/output_checker.rb
297
- - lib/fudge/parser.rb
298
- - lib/fudge/rspec/matchers.rb
299
- - lib/fudge/runner.rb
300
- - lib/fudge/task_dsl.rb
301
- - lib/fudge/tasks.rb
302
- - lib/fudge/tasks/brakeman.rb
303
- - lib/fudge/tasks/cane.rb
304
- - lib/fudge/tasks/clean_bundler_env.rb
305
- - lib/fudge/tasks/composite_task.rb
306
- - lib/fudge/tasks/each_directory.rb
307
- - lib/fudge/tasks/flay.rb
308
- - lib/fudge/tasks/flog.rb
309
- - lib/fudge/tasks/in_directory.rb
328
+ - lib/fudge/build.rb
329
+ - lib/fudge/version.rb
330
+ - lib/fudge/helpers.rb
310
331
  - lib/fudge/tasks/rake.rb
332
+ - lib/fudge/tasks/brakeman.rb
311
333
  - lib/fudge/tasks/rspec.rb
312
334
  - lib/fudge/tasks/shell.rb
313
- - lib/fudge/tasks/task.rb
335
+ - lib/fudge/tasks/each_directory.rb
336
+ - lib/fudge/tasks/sub_process.rb
337
+ - lib/fudge/tasks/clean_bundler_env.rb
338
+ - lib/fudge/tasks/flog.rb
314
339
  - lib/fudge/tasks/yard.rb
315
- - lib/fudge/version.rb
340
+ - lib/fudge/tasks/task.rb
341
+ - lib/fudge/tasks/cane.rb
342
+ - lib/fudge/tasks/flay.rb
343
+ - lib/fudge/tasks/composite_task.rb
344
+ - lib/fudge/tasks/in_directory.rb
345
+ - lib/fudge/runner.rb
346
+ - lib/fudge/parser.rb
347
+ - lib/fudge/tasks.rb
348
+ - lib/fudge/generator.rb
349
+ - lib/fudge/description.rb
350
+ - lib/fudge/helpers/bundle_aware.rb
351
+ - lib/fudge/file_finder.rb
352
+ - lib/fudge/exceptions.rb
353
+ - lib/fudge/rspec/matchers.rb
316
354
  - lib/fudge/with_directory.rb
317
- - spec/lib/fudge/build_spec.rb
318
- - spec/lib/fudge/cli_spec.rb
319
- - spec/lib/fudge/description_spec.rb
355
+ - lib/fudge/task_dsl.rb
356
+ - spec/support/dummy_task.rb
357
+ - spec/support/output.rb
358
+ - spec/support/tmpdir.rb
359
+ - spec/spec_helper.rb
320
360
  - spec/lib/fudge/exceptions_spec.rb
321
- - spec/lib/fudge/output_checker_spec.rb
322
- - spec/lib/fudge/parser_spec.rb
361
+ - spec/lib/fudge/build_spec.rb
323
362
  - spec/lib/fudge/runner_spec.rb
324
- - spec/lib/fudge/tasks/brakeman_spec.rb
363
+ - spec/lib/fudge/parser_spec.rb
364
+ - spec/lib/fudge/tasks/flay_spec.rb
325
365
  - spec/lib/fudge/tasks/bundler_spec.rb
366
+ - spec/lib/fudge/tasks/flog_spec.rb
367
+ - spec/lib/fudge/tasks/each_directory_spec.rb
326
368
  - spec/lib/fudge/tasks/cane_spec.rb
369
+ - spec/lib/fudge/tasks/yard_spec.rb
370
+ - spec/lib/fudge/tasks/shell_spec.rb
371
+ - spec/lib/fudge/tasks/sub_process_spec.rb
372
+ - spec/lib/fudge/tasks/brakeman_spec.rb
327
373
  - spec/lib/fudge/tasks/composite_task_spec.rb
328
- - spec/lib/fudge/tasks/each_directory_spec.rb
329
- - spec/lib/fudge/tasks/flay_spec.rb
330
- - spec/lib/fudge/tasks/flog_spec.rb
331
- - spec/lib/fudge/tasks/in_directory_spec.rb
332
- - spec/lib/fudge/tasks/rake_spec.rb
333
374
  - spec/lib/fudge/tasks/rspec_spec.rb
334
- - spec/lib/fudge/tasks/shell_spec.rb
335
375
  - spec/lib/fudge/tasks/task_spec.rb
336
- - spec/lib/fudge/tasks/yard_spec.rb
376
+ - spec/lib/fudge/tasks/rake_spec.rb
377
+ - spec/lib/fudge/tasks/in_directory_spec.rb
378
+ - spec/lib/fudge/cli_spec.rb
337
379
  - spec/lib/fudge/tasks_spec.rb
338
380
  - spec/lib/fudge/with_directory_spec.rb
339
- - spec/spec_helper.rb
340
- - spec/support/dummy_task.rb
341
- - spec/support/output.rb
342
- - spec/support/tmpdir.rb
381
+ - spec/lib/fudge/output_checker_spec.rb
382
+ - spec/lib/fudge/description_spec.rb
383
+ - bin/fudge
343
384
  homepage: http://github.com/Sage/fudge
344
385
  licenses:
345
386
  - MIT
346
- metadata: {}
347
387
  post_install_message:
348
388
  rdoc_options: []
349
389
  require_paths:
350
390
  - lib
351
391
  required_ruby_version: !ruby/object:Gem::Requirement
392
+ none: false
352
393
  requirements:
353
- - - '>='
394
+ - - ! '>='
354
395
  - !ruby/object:Gem::Version
355
396
  version: '0'
397
+ segments:
398
+ - 0
399
+ hash: -792395080375115495
356
400
  required_rubygems_version: !ruby/object:Gem::Requirement
401
+ none: false
357
402
  requirements:
358
- - - '>='
403
+ - - ! '>='
359
404
  - !ruby/object:Gem::Version
360
405
  version: '0'
406
+ segments:
407
+ - 0
408
+ hash: -792395080375115495
361
409
  requirements: []
362
410
  rubyforge_project:
363
- rubygems_version: 2.2.2
411
+ rubygems_version: 1.8.23
364
412
  signing_key:
365
- specification_version: 4
413
+ specification_version: 3
366
414
  summary: Fudge CI Server
367
415
  test_files:
416
+ - spec/support/dummy_task.rb
368
417
  - spec/support/output.rb
369
418
  - spec/support/tmpdir.rb
370
- - spec/support/dummy_task.rb
371
- - spec/lib/fudge/cli_spec.rb
372
- - spec/lib/fudge/tasks_spec.rb
373
- - spec/lib/fudge/tasks/rake_spec.rb
374
- - spec/lib/fudge/tasks/task_spec.rb
419
+ - spec/spec_helper.rb
420
+ - spec/lib/fudge/exceptions_spec.rb
421
+ - spec/lib/fudge/build_spec.rb
422
+ - spec/lib/fudge/runner_spec.rb
423
+ - spec/lib/fudge/parser_spec.rb
424
+ - spec/lib/fudge/tasks/flay_spec.rb
425
+ - spec/lib/fudge/tasks/bundler_spec.rb
426
+ - spec/lib/fudge/tasks/flog_spec.rb
427
+ - spec/lib/fudge/tasks/each_directory_spec.rb
375
428
  - spec/lib/fudge/tasks/cane_spec.rb
376
- - spec/lib/fudge/tasks/brakeman_spec.rb
429
+ - spec/lib/fudge/tasks/yard_spec.rb
377
430
  - spec/lib/fudge/tasks/shell_spec.rb
431
+ - spec/lib/fudge/tasks/sub_process_spec.rb
432
+ - spec/lib/fudge/tasks/brakeman_spec.rb
378
433
  - spec/lib/fudge/tasks/composite_task_spec.rb
379
- - spec/lib/fudge/tasks/each_directory_spec.rb
380
- - spec/lib/fudge/tasks/yard_spec.rb
381
- - spec/lib/fudge/tasks/flog_spec.rb
382
434
  - spec/lib/fudge/tasks/rspec_spec.rb
435
+ - spec/lib/fudge/tasks/task_spec.rb
436
+ - spec/lib/fudge/tasks/rake_spec.rb
383
437
  - spec/lib/fudge/tasks/in_directory_spec.rb
384
- - spec/lib/fudge/tasks/bundler_spec.rb
385
- - spec/lib/fudge/tasks/flay_spec.rb
386
- - spec/lib/fudge/build_spec.rb
387
- - spec/lib/fudge/description_spec.rb
388
- - spec/lib/fudge/parser_spec.rb
389
- - spec/lib/fudge/exceptions_spec.rb
438
+ - spec/lib/fudge/cli_spec.rb
439
+ - spec/lib/fudge/tasks_spec.rb
390
440
  - spec/lib/fudge/with_directory_spec.rb
391
441
  - spec/lib/fudge/output_checker_spec.rb
392
- - spec/lib/fudge/runner_spec.rb
393
- - spec/spec_helper.rb
442
+ - spec/lib/fudge/description_spec.rb
394
443
  has_rdoc:
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: fd31308a43b51842e41a2c2977174a856526cecb
4
- data.tar.gz: aca186535e2d484e08e66899de017a940fd3ac91
5
- SHA512:
6
- metadata.gz: 3a4bc875616456defb50dbebc3bba8dd5e7defb4210a1c55c4d76febff0cb21edcbc882626c720bccd348c15fc0a43839de12125d6ade029987d09c7a56bf265
7
- data.tar.gz: 35e8923f58b306e8847aebf124d6d504792c39e4a2271830ba926f3eb2f6a7edebefe30dcb38fa58889eb56c33725eef0c8cdf813ef8cbca8171a2ec0cf5cc75