Class: XCPretty::JSONCompilationDatabase
- Inherits:
-
Object
- Object
- XCPretty::JSONCompilationDatabase
show all
- Includes:
- FormatMethods
- Defined in:
- lib/xcpretty/reporters/json_compilation_database.rb
Constant Summary
collapse
- FILEPATH =
'build/reports/compilation_db.json'
FormatMethods::EMPTY
Instance Method Summary
collapse
#format_analyze, #format_build_target, #format_check_dependencies, #format_clean, #format_clean_remove, #format_clean_target, #format_codesign, #format_compile_error, #format_compile_xib, #format_copy_strings_file, #format_cpresource, #format_duplicate_symbols, #format_error, #format_failing_test, #format_generate_dsym, #format_libtool, #format_linking, #format_passing_test, #format_pbxcp, #format_pending_test, #format_phase_script_execution, #format_preprocess, #format_process_info_plist, #format_process_pch, #format_test_run_finished, #format_test_run_started, #format_test_suite_started, #format_test_summary, #format_tiffutil, #format_touch, #format_undefined_symbols
Constructor Details
Returns a new instance of JSONCompilationDatabase.
22
23
24
25
26
27
28
29
|
# File 'lib/xcpretty/reporters/json_compilation_database.rb', line 22
def initialize(options)
load_dependencies
@filepath = options[:path] || FILEPATH
@parser = Parser.new(self)
@compilation_units = []
@current_file = nil
@current_path = nil
end
|
Instance Method Details
#finish ⇒ Object
45
46
47
48
|
# File 'lib/xcpretty/reporters/json_compilation_database.rb', line 45
def finish
FileUtils.mkdir_p(File.dirname(@filepath))
write_report
end
|
35
36
37
38
|
# File 'lib/xcpretty/reporters/json_compilation_database.rb', line 35
def format_compile(file_name, file_path)
@current_file = file_name
@current_path = File.dirname(file_path)
end
|
40
41
42
43
|
# File 'lib/xcpretty/reporters/json_compilation_database.rb', line 40
def format_compile_command(compiler_command)
@compilation_units << { :command => compiler_command,
:file => @current_file, :directory => @current_path }
end
|
#handle(line) ⇒ Object
31
32
33
|
# File 'lib/xcpretty/reporters/json_compilation_database.rb', line 31
def handle(line)
@parser.parse(line)
end
|
#load_dependencies ⇒ Object
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
# File 'lib/xcpretty/reporters/json_compilation_database.rb', line 7
def load_dependencies
unless @@loaded ||= false
require 'fileutils'
require 'pathname'
unless Object.const_defined?(:JSON)
begin
require 'json'
rescue LoadError
require File.expand_path(File.join(File.dirname(__FILE__),'../../../vendor/json_pure/generator'))
end
end
@@loaded = true
end
end
|