fudge 0.3.7 → 0.3.8

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.
@@ -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