xcpretty-json-formatter 0.0.2 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +8 -0
  3. data/lib/json_formatter.rb +34 -31
  4. metadata +16 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c2ef5a7102d954fc4ef5574147d83b3e4802b036
4
- data.tar.gz: 1a5ef61d0584d4171408f146cdad0b63783fc2e3
3
+ metadata.gz: cb549e9507a51d5de8499d4a423ecc0f028827ec
4
+ data.tar.gz: 6a5518ad63045b2145a623b9834b2cc14c9b898a
5
5
  SHA512:
6
- metadata.gz: 09e83fcd418329b86c20e87e3183e93ad29e592da3c9a42068653b7f1c42fb970d7795bf4759e4d9c694b6d217ab7ca62348c8a5368501ff8297026bb287ac61
7
- data.tar.gz: d0dd1463d9fcc3fa0848c2c076f8eabe23ae67e07c57ba681e0556dc34ccd5de6dd85a5edd0d33bd150da31d657e2d64a444a71797ff6d2d4e90afb14d70cbeb
6
+ metadata.gz: 914416aee794745662ab1b3b987b6717598550d27f2516e6e70c97d0576fc1d51b3b18a086846b209863a8a6225566ee2394948d39f4e6f4cf641565d4337e71
7
+ data.tar.gz: d566897e9da6d0a6d2b54759e87046cb881c15dc0aea8249ad577059f20b1eb87b1bce7c90dabac6ebdf7ae1919e2957a0bd77b4d9158667fd3936de00dc6c62
data/README.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # XCPretty JSON Formatter
2
2
 
3
+ [![License](http://img.shields.io/badge/license-MIT-green.svg?style=flat)](LICENSE.txt)
4
+ [![Gem](https://img.shields.io/gem/v/xcpretty-json-formatter.svg?style=flat)](http://rubygems.org/gems/xcpretty-json-formatter)
5
+ [![Build Status](https://travis-ci.org/marcelofabri/xcpretty-json-formatter.svg?branch=master)](https://travis-ci.org/marcelofabri/xcpretty-json-formatter)
6
+
3
7
  Custom formatter for [xcpretty](https://github.com/supermarin/xcpretty) that saves on a JSON file all the errors, warnings and test failures, so you can process them easily later.
4
8
 
5
9
  ## Installation
@@ -26,6 +30,10 @@ By default, `xcpretty-json-formatter` writes the result in `build/reports/errors
26
30
  xcodebuild | XCPRETTY_JSON_FILE_OUTPUT=result.json xcpretty -f `xcpretty-json-formatter`
27
31
  ```
28
32
 
33
+ ## Output format
34
+
35
+ You can check some example JSONs in the [fixtures folder](spec/fixtures).
36
+
29
37
  ## Thanks
30
38
 
31
39
  * [Marin Usalj](http://github.com/supermarin) and [Delisa Mason](http://github.com/kattrali) for creating [xcpretty](https://github.com/supermarin/xcpretty).
@@ -2,7 +2,7 @@ require 'fileutils'
2
2
  require 'json'
3
3
 
4
4
  class JSONFormatter < XCPretty::Simple
5
- FILE_PATH = 'build/reports/errors.json'
5
+ FILE_PATH = 'build/reports/errors.json'.freeze
6
6
 
7
7
  def initialize(use_unicode, colorize)
8
8
  super
@@ -15,6 +15,7 @@ class JSONFormatter < XCPretty::Simple
15
15
  @undefined_symbols_errors = []
16
16
  @duplicate_symbols_errors = []
17
17
  @failures = {}
18
+ @tests_summary_messages = []
18
19
  end
19
20
 
20
21
  def format_ld_warning(message)
@@ -31,11 +32,11 @@ class JSONFormatter < XCPretty::Simple
31
32
 
32
33
  def format_compile_warning(file_name, file_path, reason, line, cursor)
33
34
  @compile_warnings << {
34
- :file_name => file_name,
35
- :file_path => file_path,
36
- :reason => reason,
37
- :line => line,
38
- :cursor => cursor
35
+ file_name: file_name,
36
+ file_path: file_path,
37
+ reason: reason,
38
+ line: line,
39
+ cursor: cursor
39
40
  }
40
41
  write_to_file_if_needed
41
42
  super
@@ -49,11 +50,11 @@ class JSONFormatter < XCPretty::Simple
49
50
 
50
51
  def format_compile_error(file, file_path, reason, line, cursor)
51
52
  @compile_errors << {
52
- :file_name => file,
53
- :file_path => file_path,
54
- :reason => reason,
55
- :line => line,
56
- :cursor => cursor
53
+ file_name: file,
54
+ file_path: file_path,
55
+ reason: reason,
56
+ line: line,
57
+ cursor: cursor
57
58
  }
58
59
  write_to_file_if_needed
59
60
  super
@@ -61,8 +62,8 @@ class JSONFormatter < XCPretty::Simple
61
62
 
62
63
  def format_file_missing_error(reason, file_path)
63
64
  @file_missing_errors << {
64
- :file_path => file_path,
65
- :reason => reason
65
+ file_path: file_path,
66
+ reason: reason
66
67
  }
67
68
  write_to_file_if_needed
68
69
  super
@@ -70,9 +71,9 @@ class JSONFormatter < XCPretty::Simple
70
71
 
71
72
  def format_undefined_symbols(message, symbol, reference)
72
73
  @undefined_symbols_errors = {
73
- :message => message,
74
- :symbol => symbol,
75
- :reference => reference
74
+ message: message,
75
+ symbol: symbol,
76
+ reference: reference
76
77
  }
77
78
  write_to_file_if_needed
78
79
  super
@@ -80,8 +81,8 @@ class JSONFormatter < XCPretty::Simple
80
81
 
81
82
  def format_duplicate_symbols(message, file_paths)
82
83
  @duplicate_symbols_errors = {
83
- :message => message,
84
- :file_paths => file_paths,
84
+ message: message,
85
+ file_paths: file_paths
85
86
  }
86
87
  write_to_file_if_needed
87
88
  super
@@ -89,6 +90,7 @@ class JSONFormatter < XCPretty::Simple
89
90
 
90
91
  def format_test_summary(message, failures_per_suite)
91
92
  @failures = failures_per_suite
93
+ @tests_summary_messages << message
92
94
  write_to_file_if_needed
93
95
  super
94
96
  end
@@ -100,18 +102,19 @@ class JSONFormatter < XCPretty::Simple
100
102
 
101
103
  def json_output
102
104
  {
103
- :warnings => @warnings,
104
- :ld_warnings => @ld_warnings,
105
- :compile_warnings => @compile_warnings,
106
- :errors => @errors,
107
- :compile_errors => @compile_errors,
108
- :file_missing_errors => @file_missing_errors,
109
- :undefined_symbols_errors => @undefined_symbols_errors,
110
- :duplicate_symbols_errors => @duplicate_symbols_errors,
111
- :tests_failures => @failures
105
+ warnings: @warnings,
106
+ ld_warnings: @ld_warnings,
107
+ compile_warnings: @compile_warnings,
108
+ errors: @errors,
109
+ compile_errors: @compile_errors,
110
+ file_missing_errors: @file_missing_errors,
111
+ undefined_symbols_errors: @undefined_symbols_errors,
112
+ duplicate_symbols_errors: @duplicate_symbols_errors,
113
+ tests_failures: @failures,
114
+ tests_summary_messages: @tests_summary_messages
112
115
  }
113
116
  end
114
-
117
+
115
118
  def write_to_file_if_needed
116
119
  write_to_file unless XCPretty::Formatter.method_defined? :finish
117
120
  end
@@ -119,11 +122,11 @@ class JSONFormatter < XCPretty::Simple
119
122
  def write_to_file
120
123
  file_name = ENV['XCPRETTY_JSON_FILE_OUTPUT'] || FILE_PATH
121
124
  dirname = File.dirname(file_name)
122
- FileUtils::mkdir_p dirname
125
+ FileUtils.mkdir_p dirname
123
126
 
124
- File.open(file_name, 'w') { |io|
127
+ File.open(file_name, 'w') do |io|
125
128
  io.write(JSON.pretty_generate(json_output))
126
- }
129
+ end
127
130
  end
128
131
  end
129
132
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xcpretty-json-formatter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marcelo Fabri
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-04-05 00:00:00.000000000 Z
11
+ date: 2016-08-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: xcpretty
@@ -72,6 +72,20 @@ dependencies:
72
72
  - - "~>"
73
73
  - !ruby/object:Gem::Version
74
74
  version: '3.0'
75
+ - !ruby/object:Gem::Dependency
76
+ name: rubocop
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '0.38'
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '0.38'
75
89
  description: Custom formatter for xcpretty that saves on a JSON file all the errors,
76
90
  warnings and test failures, so you can process them easily later.
77
91
  email:
@@ -110,4 +124,3 @@ signing_key:
110
124
  specification_version: 4
111
125
  summary: xcpretty custom formatter for JSON output
112
126
  test_files: []
113
- has_rdoc: