bozo 0.3.3 → 0.3.4
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/README.md +419 -407
- data/VERSION +1 -1
- data/bin/bozo +8 -8
- data/lib/bozo/bozo.rb +6 -6
- data/lib/bozo/bozo_configuration.rb +299 -299
- data/lib/bozo/class_name_helpers.rb +16 -16
- data/lib/bozo/configuration_error.rb +29 -29
- data/lib/bozo/execution_error.rb +35 -35
- data/lib/bozo/executor.rb +288 -281
- data/lib/bozo/logging.rb +40 -40
- data/lib/bozo/runner.rb +58 -58
- data/lib/bozo/versioning/version.rb +86 -86
- data/lib/bozo/versioning/version_bump_error.rb +29 -29
- data/lib/bozo/versioning/version_bumper.rb +36 -36
- data/lib/bozo.rb +130 -130
- data/test/bozo_configuration_version_tests.rb +41 -41
- data/test/test_helper.rb +2 -2
- data/test/version_bumper_tests.rb +61 -61
- data/test/version_tests.rb +25 -25
- metadata +20 -6
- checksums.yaml +0 -15
data/lib/bozo/executor.rb
CHANGED
@@ -1,282 +1,289 @@
|
|
1
|
-
module Bozo
|
2
|
-
|
3
|
-
# Class defining the structure of the build and responsible for executing
|
4
|
-
# tasks and their dependencies.
|
5
|
-
class Executor
|
6
|
-
include Runner
|
7
|
-
|
8
|
-
# Create a new instance.
|
9
|
-
#
|
10
|
-
# @param [Configuration] build_configuration
|
11
|
-
# The build configuration.
|
12
|
-
# @param [Hash] global_params
|
13
|
-
# The global parameters
|
14
|
-
def initialize(build_configuration, global_params)
|
15
|
-
@build_configuration = build_configuration
|
16
|
-
@global_params = cli_keys_to_ruby global_params
|
17
|
-
end
|
18
|
-
|
19
|
-
# Executes the command using the given parameters and environment.
|
20
|
-
#
|
21
|
-
# @param [Symbol] command
|
22
|
-
# The name of the command to execute.
|
23
|
-
# @param [Hash] params
|
24
|
-
# The parameters for the command.
|
25
|
-
# @param [Hash] env
|
26
|
-
# The environment that the command is run within.
|
27
|
-
def execute(command, params, env)
|
28
|
-
with_hooks :build, params, env do
|
29
|
-
send command, params, env
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
# Runs the clean task.
|
34
|
-
#
|
35
|
-
# @param [Hash] params
|
36
|
-
# The parameters for the command.
|
37
|
-
# @param [Hash] env
|
38
|
-
# The environment that the command is run within.
|
39
|
-
def clean(params, env)
|
40
|
-
with_hooks :clean, params, env do
|
41
|
-
log_info 'Cleaning project'
|
42
|
-
clear_directory 'temp'
|
43
|
-
clear_directory 'dist'
|
44
|
-
end
|
45
|
-
end
|
46
|
-
|
47
|
-
# Runs the uninstall task.
|
48
|
-
#
|
49
|
-
# @param [Hash] params
|
50
|
-
# The parameters for the command.
|
51
|
-
# @param [Hash] env
|
52
|
-
# The environment that the command is run within.
|
53
|
-
def uninstall(params, env)
|
54
|
-
clean params, env
|
55
|
-
with_hooks :uninstall, params, env do
|
56
|
-
log_info 'Uninstalling project'
|
57
|
-
clear_directory 'packages'
|
58
|
-
clear_directory 'build'
|
59
|
-
end
|
60
|
-
end
|
61
|
-
|
62
|
-
# Runs the dependency retrieval task.
|
63
|
-
#
|
64
|
-
# @param [Hash] params
|
65
|
-
# The parameters for the command.
|
66
|
-
# @param [Hash] env
|
67
|
-
# The environment that the command is run within.
|
68
|
-
def dependencies(params, env)
|
69
|
-
clean params, env
|
70
|
-
retrieve_build_dependencies
|
71
|
-
execute_with_hooks :dependencies, params, env
|
72
|
-
end
|
73
|
-
|
74
|
-
# Runs the prepare task.
|
75
|
-
#
|
76
|
-
# @param [Hash] params
|
77
|
-
# The parameters for the command.
|
78
|
-
# @param [Hash] env
|
79
|
-
# The environment that the command is run within.
|
80
|
-
def prepare(params, env)
|
81
|
-
dependencies params, env
|
82
|
-
execute_with_hooks :prepare, params, env
|
83
|
-
end
|
84
|
-
|
85
|
-
# Runs the compile task.
|
86
|
-
#
|
87
|
-
# @param [Hash] params
|
88
|
-
# The parameters for the command.
|
89
|
-
# @param [Hash] env
|
90
|
-
# The environment that the command is run within.
|
91
|
-
def compile(params, env)
|
92
|
-
prepare params, env
|
93
|
-
execute_with_hooks :compile, params, env
|
94
|
-
end
|
95
|
-
|
96
|
-
# Runs the test task.
|
97
|
-
#
|
98
|
-
# @param [Hash] params
|
99
|
-
# The parameters for the command.
|
100
|
-
# @param [Hash] env
|
101
|
-
# The environment that the command is run within.
|
102
|
-
def test(params, env)
|
103
|
-
compile params, env
|
104
|
-
execute_with_hooks :test, params, env
|
105
|
-
end
|
106
|
-
|
107
|
-
# Runs the package task.
|
108
|
-
#
|
109
|
-
# @param [Hash] params
|
110
|
-
# The parameters for the command.
|
111
|
-
# @param [Hash] env
|
112
|
-
# The environment that the command is run within.
|
113
|
-
def package(params, env)
|
114
|
-
test params, env
|
115
|
-
execute_with_hooks :package, params, env
|
116
|
-
end
|
117
|
-
|
118
|
-
# Runs the publish task.
|
119
|
-
#
|
120
|
-
# @param [Hash] params
|
121
|
-
# The parameters for the command.
|
122
|
-
# @param [Hash] env
|
123
|
-
# The environment that the command is run within.
|
124
|
-
def publish(params, env)
|
125
|
-
if build_server?
|
126
|
-
package params, env
|
127
|
-
execute_with_hooks :publish, params, env
|
128
|
-
else
|
129
|
-
log_warn 'You can only publish a package from build server.'
|
130
|
-
log_warn ''
|
131
|
-
log_warn 'If you really need to publish the package then provide the --build-server switch but you should only be doing that as a last resort.'
|
132
|
-
end
|
133
|
-
end
|
134
|
-
|
135
|
-
private
|
136
|
-
|
137
|
-
# Executes the executors for the given stage logging all messages with the
|
138
|
-
# given action.
|
139
|
-
#
|
140
|
-
# @param [Symbol] stage
|
141
|
-
# The name of the stage to execute.
|
142
|
-
# @param [Hash] params
|
143
|
-
# The parameters for the command.
|
144
|
-
# @param [Hash] env
|
145
|
-
# The environment that the command is run within.
|
146
|
-
def execute_with_hooks(stage, params, env)
|
147
|
-
action, executors = stage_definition stage
|
148
|
-
with_hooks stage, params, env do
|
149
|
-
log_info '' # blank line for aesthetics
|
150
|
-
log_info action
|
151
|
-
log_debug 'No executors' if executors.empty?
|
152
|
-
executors.each do |executor|
|
153
|
-
log_debug "#{action} with #{executor.class}"
|
154
|
-
set_parameters executor, params, env
|
155
|
-
executor.execute
|
156
|
-
end
|
157
|
-
end
|
158
|
-
end
|
159
|
-
|
160
|
-
# Gets the description and runners associated with the given stage.
|
161
|
-
#
|
162
|
-
# @params [Symbol] stage
|
163
|
-
# The name of the stage.
|
164
|
-
def stage_definition(stage)
|
165
|
-
case stage
|
166
|
-
when :dependencies
|
167
|
-
return 'Resolving dependencies', @build_configuration.dependency_resolvers
|
168
|
-
when :compile
|
169
|
-
return 'Compiling', @build_configuration.compilers
|
170
|
-
when :test
|
171
|
-
return 'Running tests', @build_configuration.test_runners
|
172
|
-
when :package
|
173
|
-
return 'Packaging', @build_configuration.packagers
|
174
|
-
when :prepare
|
175
|
-
return 'Preparing', @build_configuration.preparers
|
176
|
-
when :publish
|
177
|
-
return 'Publishing', @build_configuration.publishers
|
178
|
-
else
|
179
|
-
raise "Unrecognized stage: #{stage}"
|
180
|
-
end
|
181
|
-
end
|
182
|
-
|
183
|
-
# Runs the given code block surrounding it with the hooks for the named
|
184
|
-
# stage.
|
185
|
-
#
|
186
|
-
# @param [Symbol] stage
|
187
|
-
# The name of the stage being run.
|
188
|
-
# @param [Hash] params
|
189
|
-
# The parameters for the command.
|
190
|
-
# @param [Hash] env
|
191
|
-
# The environment that the command is run within.
|
192
|
-
def with_hooks(stage, params, env)
|
193
|
-
call_receiving_hooks "pre_#{stage}".to_sym, params, env
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
#
|
206
|
-
#
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
#
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
#
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
1
|
+
module Bozo
|
2
|
+
|
3
|
+
# Class defining the structure of the build and responsible for executing
|
4
|
+
# tasks and their dependencies.
|
5
|
+
class Executor
|
6
|
+
include Runner
|
7
|
+
|
8
|
+
# Create a new instance.
|
9
|
+
#
|
10
|
+
# @param [Configuration] build_configuration
|
11
|
+
# The build configuration.
|
12
|
+
# @param [Hash] global_params
|
13
|
+
# The global parameters
|
14
|
+
def initialize(build_configuration, global_params)
|
15
|
+
@build_configuration = build_configuration
|
16
|
+
@global_params = cli_keys_to_ruby global_params
|
17
|
+
end
|
18
|
+
|
19
|
+
# Executes the command using the given parameters and environment.
|
20
|
+
#
|
21
|
+
# @param [Symbol] command
|
22
|
+
# The name of the command to execute.
|
23
|
+
# @param [Hash] params
|
24
|
+
# The parameters for the command.
|
25
|
+
# @param [Hash] env
|
26
|
+
# The environment that the command is run within.
|
27
|
+
def execute(command, params, env)
|
28
|
+
with_hooks :build, params, env do
|
29
|
+
send command, params, env
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
# Runs the clean task.
|
34
|
+
#
|
35
|
+
# @param [Hash] params
|
36
|
+
# The parameters for the command.
|
37
|
+
# @param [Hash] env
|
38
|
+
# The environment that the command is run within.
|
39
|
+
def clean(params, env)
|
40
|
+
with_hooks :clean, params, env do
|
41
|
+
log_info 'Cleaning project'
|
42
|
+
clear_directory 'temp'
|
43
|
+
clear_directory 'dist'
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
# Runs the uninstall task.
|
48
|
+
#
|
49
|
+
# @param [Hash] params
|
50
|
+
# The parameters for the command.
|
51
|
+
# @param [Hash] env
|
52
|
+
# The environment that the command is run within.
|
53
|
+
def uninstall(params, env)
|
54
|
+
clean params, env
|
55
|
+
with_hooks :uninstall, params, env do
|
56
|
+
log_info 'Uninstalling project'
|
57
|
+
clear_directory 'packages'
|
58
|
+
clear_directory 'build'
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
# Runs the dependency retrieval task.
|
63
|
+
#
|
64
|
+
# @param [Hash] params
|
65
|
+
# The parameters for the command.
|
66
|
+
# @param [Hash] env
|
67
|
+
# The environment that the command is run within.
|
68
|
+
def dependencies(params, env)
|
69
|
+
clean params, env
|
70
|
+
retrieve_build_dependencies
|
71
|
+
execute_with_hooks :dependencies, params, env
|
72
|
+
end
|
73
|
+
|
74
|
+
# Runs the prepare task.
|
75
|
+
#
|
76
|
+
# @param [Hash] params
|
77
|
+
# The parameters for the command.
|
78
|
+
# @param [Hash] env
|
79
|
+
# The environment that the command is run within.
|
80
|
+
def prepare(params, env)
|
81
|
+
dependencies params, env
|
82
|
+
execute_with_hooks :prepare, params, env
|
83
|
+
end
|
84
|
+
|
85
|
+
# Runs the compile task.
|
86
|
+
#
|
87
|
+
# @param [Hash] params
|
88
|
+
# The parameters for the command.
|
89
|
+
# @param [Hash] env
|
90
|
+
# The environment that the command is run within.
|
91
|
+
def compile(params, env)
|
92
|
+
prepare params, env
|
93
|
+
execute_with_hooks :compile, params, env
|
94
|
+
end
|
95
|
+
|
96
|
+
# Runs the test task.
|
97
|
+
#
|
98
|
+
# @param [Hash] params
|
99
|
+
# The parameters for the command.
|
100
|
+
# @param [Hash] env
|
101
|
+
# The environment that the command is run within.
|
102
|
+
def test(params, env)
|
103
|
+
compile params, env
|
104
|
+
execute_with_hooks :test, params, env
|
105
|
+
end
|
106
|
+
|
107
|
+
# Runs the package task.
|
108
|
+
#
|
109
|
+
# @param [Hash] params
|
110
|
+
# The parameters for the command.
|
111
|
+
# @param [Hash] env
|
112
|
+
# The environment that the command is run within.
|
113
|
+
def package(params, env)
|
114
|
+
test params, env
|
115
|
+
execute_with_hooks :package, params, env
|
116
|
+
end
|
117
|
+
|
118
|
+
# Runs the publish task.
|
119
|
+
#
|
120
|
+
# @param [Hash] params
|
121
|
+
# The parameters for the command.
|
122
|
+
# @param [Hash] env
|
123
|
+
# The environment that the command is run within.
|
124
|
+
def publish(params, env)
|
125
|
+
if build_server?
|
126
|
+
package params, env
|
127
|
+
execute_with_hooks :publish, params, env
|
128
|
+
else
|
129
|
+
log_warn 'You can only publish a package from build server.'
|
130
|
+
log_warn ''
|
131
|
+
log_warn 'If you really need to publish the package then provide the --build-server switch but you should only be doing that as a last resort.'
|
132
|
+
end
|
133
|
+
end
|
134
|
+
|
135
|
+
private
|
136
|
+
|
137
|
+
# Executes the executors for the given stage logging all messages with the
|
138
|
+
# given action.
|
139
|
+
#
|
140
|
+
# @param [Symbol] stage
|
141
|
+
# The name of the stage to execute.
|
142
|
+
# @param [Hash] params
|
143
|
+
# The parameters for the command.
|
144
|
+
# @param [Hash] env
|
145
|
+
# The environment that the command is run within.
|
146
|
+
def execute_with_hooks(stage, params, env)
|
147
|
+
action, executors = stage_definition stage
|
148
|
+
with_hooks stage, params, env do
|
149
|
+
log_info '' # blank line for aesthetics
|
150
|
+
log_info action
|
151
|
+
log_debug 'No executors' if executors.empty?
|
152
|
+
executors.each do |executor|
|
153
|
+
log_debug "#{action} with #{executor.class}"
|
154
|
+
set_parameters executor, params, env
|
155
|
+
executor.execute
|
156
|
+
end
|
157
|
+
end
|
158
|
+
end
|
159
|
+
|
160
|
+
# Gets the description and runners associated with the given stage.
|
161
|
+
#
|
162
|
+
# @params [Symbol] stage
|
163
|
+
# The name of the stage.
|
164
|
+
def stage_definition(stage)
|
165
|
+
case stage
|
166
|
+
when :dependencies
|
167
|
+
return 'Resolving dependencies', @build_configuration.dependency_resolvers
|
168
|
+
when :compile
|
169
|
+
return 'Compiling', @build_configuration.compilers
|
170
|
+
when :test
|
171
|
+
return 'Running tests', @build_configuration.test_runners
|
172
|
+
when :package
|
173
|
+
return 'Packaging', @build_configuration.packagers
|
174
|
+
when :prepare
|
175
|
+
return 'Preparing', @build_configuration.preparers
|
176
|
+
when :publish
|
177
|
+
return 'Publishing', @build_configuration.publishers
|
178
|
+
else
|
179
|
+
raise "Unrecognized stage: #{stage}"
|
180
|
+
end
|
181
|
+
end
|
182
|
+
|
183
|
+
# Runs the given code block surrounding it with the hooks for the named
|
184
|
+
# stage.
|
185
|
+
#
|
186
|
+
# @param [Symbol] stage
|
187
|
+
# The name of the stage being run.
|
188
|
+
# @param [Hash] params
|
189
|
+
# The parameters for the command.
|
190
|
+
# @param [Hash] env
|
191
|
+
# The environment that the command is run within.
|
192
|
+
def with_hooks(stage, params, env)
|
193
|
+
call_receiving_hooks "pre_#{stage}".to_sym, params, env
|
194
|
+
|
195
|
+
begin
|
196
|
+
yield
|
197
|
+
rescue
|
198
|
+
call_receiving_hooks "failed_#{stage}".to_sym, params, env
|
199
|
+
raise
|
200
|
+
end
|
201
|
+
|
202
|
+
call_receiving_hooks "post_#{stage}".to_sym, params, env
|
203
|
+
end
|
204
|
+
|
205
|
+
# Invokes the method for the hook for all hook objects that define a
|
206
|
+
# method for it.
|
207
|
+
#
|
208
|
+
# @param [Symbol] stage
|
209
|
+
# The name of the hook to call the methods for.
|
210
|
+
# @param [Hash] params
|
211
|
+
# The parameters for the command.
|
212
|
+
# @param [Hash] env
|
213
|
+
# The environment that the command is run within.
|
214
|
+
def call_receiving_hooks(stage, params, env)
|
215
|
+
@build_configuration.hooks.each do |hook|
|
216
|
+
if hook.respond_to? stage
|
217
|
+
set_parameters hook, params, env
|
218
|
+
hook.send stage
|
219
|
+
end
|
220
|
+
end
|
221
|
+
end
|
222
|
+
|
223
|
+
# Assigns the state of the build system to the runner.
|
224
|
+
#
|
225
|
+
# @param [Runner] runner
|
226
|
+
# The runner to assign the state to.
|
227
|
+
# @param [Hash] params
|
228
|
+
# The parameters for the step.
|
229
|
+
# @param [Hash] env
|
230
|
+
# The environment that the step is run within.
|
231
|
+
def set_parameters(runner, params, env)
|
232
|
+
runner.build_configuration = @build_configuration
|
233
|
+
runner.global_params = @global_params
|
234
|
+
runner.params = cli_keys_to_ruby params
|
235
|
+
runner.env = env
|
236
|
+
end
|
237
|
+
|
238
|
+
# Removes the named directory from the root directory.
|
239
|
+
#
|
240
|
+
# @param [String] dir
|
241
|
+
# The name of the directory to remove.
|
242
|
+
def clear_directory(dir)
|
243
|
+
full_path = File.expand_path(dir)
|
244
|
+
log_debug "Clearing directory #{full_path}"
|
245
|
+
FileUtils.rm_rf full_path
|
246
|
+
end
|
247
|
+
|
248
|
+
# Retrieves the required build tools from the configured build tools
|
249
|
+
# location.
|
250
|
+
def retrieve_build_dependencies
|
251
|
+
tools_location = @build_configuration.build_tools_location
|
252
|
+
required_tools = @build_configuration.build_tools
|
253
|
+
tools_path = File.expand_path(File.join('build', 'tools'))
|
254
|
+
|
255
|
+
log_info 'Retrieving build tools'
|
256
|
+
|
257
|
+
required_tools.each do |tool|
|
258
|
+
tool_name = tool.to_s
|
259
|
+
tool_path = File.join(tools_location, tool_name)
|
260
|
+
tool_destination = File.join(tools_path, tool_name)
|
261
|
+
|
262
|
+
if File.exist? tool_destination
|
263
|
+
log_debug "#{tool_name.capitalize} already present"
|
264
|
+
else
|
265
|
+
log_debug "Retrieving #{tool_name.capitalize}"
|
266
|
+
FileUtils.mkdir_p tool_destination
|
267
|
+
FileUtils.cp_r tool_path, tools_path
|
268
|
+
log_debug "#{tool_name.capitalize} retrieved"
|
269
|
+
end
|
270
|
+
end
|
271
|
+
end
|
272
|
+
|
273
|
+
# Converts a hash containing CLI-style keys (:'multi-word') and converts
|
274
|
+
# them into Ruby-style symbols (:multi_word).
|
275
|
+
#
|
276
|
+
# @param [Hash] hash
|
277
|
+
# A hash containing CLI-style keys.
|
278
|
+
def cli_keys_to_ruby(hash)
|
279
|
+
hash.keys.to_a.each do |key|
|
280
|
+
new_key = key.to_s.gsub('-', '_').to_sym
|
281
|
+
hash[new_key] = hash[key] unless hash.has_key? new_key
|
282
|
+
end
|
283
|
+
|
284
|
+
hash
|
285
|
+
end
|
286
|
+
|
287
|
+
end
|
288
|
+
|
282
289
|
end
|
data/lib/bozo/logging.rb
CHANGED
@@ -1,40 +1,40 @@
|
|
1
|
-
module Bozo
|
2
|
-
|
3
|
-
# Module that provides functionality for logging.
|
4
|
-
module Logging
|
5
|
-
|
6
|
-
# Records a `debug` log message.
|
7
|
-
#
|
8
|
-
# @param [String] msg
|
9
|
-
# The message to log.
|
10
|
-
def log_debug(msg)
|
11
|
-
puts " #{msg.bright.color(:black)}"
|
12
|
-
end
|
13
|
-
|
14
|
-
# Records a `fatal` log message.
|
15
|
-
#
|
16
|
-
# @param [String] msg
|
17
|
-
# The message to log.
|
18
|
-
def log_fatal(msg)
|
19
|
-
puts msg.color(:red).bright
|
20
|
-
end
|
21
|
-
|
22
|
-
# Records an `info` log message.
|
23
|
-
#
|
24
|
-
# @param [String] msg
|
25
|
-
# The message to log.
|
26
|
-
def log_info(msg)
|
27
|
-
puts msg.color(:cyan).bright
|
28
|
-
end
|
29
|
-
|
30
|
-
# Records a `warn` log message.
|
31
|
-
#
|
32
|
-
# @param [String] msg
|
33
|
-
# The message to log.
|
34
|
-
def log_warn(msg)
|
35
|
-
puts msg.color(:yellow).bright
|
36
|
-
end
|
37
|
-
|
38
|
-
end
|
39
|
-
|
40
|
-
end
|
1
|
+
module Bozo
|
2
|
+
|
3
|
+
# Module that provides functionality for logging.
|
4
|
+
module Logging
|
5
|
+
|
6
|
+
# Records a `debug` log message.
|
7
|
+
#
|
8
|
+
# @param [String] msg
|
9
|
+
# The message to log.
|
10
|
+
def log_debug(msg)
|
11
|
+
puts " #{msg.bright.color(:black)}"
|
12
|
+
end
|
13
|
+
|
14
|
+
# Records a `fatal` log message.
|
15
|
+
#
|
16
|
+
# @param [String] msg
|
17
|
+
# The message to log.
|
18
|
+
def log_fatal(msg)
|
19
|
+
puts msg.color(:red).bright
|
20
|
+
end
|
21
|
+
|
22
|
+
# Records an `info` log message.
|
23
|
+
#
|
24
|
+
# @param [String] msg
|
25
|
+
# The message to log.
|
26
|
+
def log_info(msg)
|
27
|
+
puts msg.color(:cyan).bright
|
28
|
+
end
|
29
|
+
|
30
|
+
# Records a `warn` log message.
|
31
|
+
#
|
32
|
+
# @param [String] msg
|
33
|
+
# The message to log.
|
34
|
+
def log_warn(msg)
|
35
|
+
puts msg.color(:yellow).bright
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|
39
|
+
|
40
|
+
end
|