danger-xcprofiler 0.2.0 → 0.5.0
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.
- checksums.yaml +5 -5
- data/.github/workflows/ruby.yml +37 -0
- data/.rubocop.yml +19 -0
- data/.ruby-version +1 -0
- data/README.md +7 -2
- data/danger-xcprofiler.gemspec +9 -12
- data/lib/xcprofiler/danger_reporter.rb +47 -11
- data/lib/xcprofiler/gem_version.rb +1 -1
- data/lib/xcprofiler/plugin.rb +25 -5
- data/spec/spec_helper.rb +3 -6
- data/spec/xcprofiler_spec.rb +36 -6
- metadata +25 -40
- data/.coveralls.yml +0 -1
- data/.travis.yml +0 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: ffb92acc3f723fffe36d95a54d3e39d743c2ac24425e7cf4468992535c353ede
|
4
|
+
data.tar.gz: 236ecd6d8f3af89039d22a608b8ce261669e6cfd5dc7f27a0387ef6ce17d1f93
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c77695577fb7b5a8c527bada81931274cd86da2d213ce350078ea2b64935711b95e0d2039a0e2bbce5efc087b39e4b998ef991ef7da5de559b812c9bf72f2c3e
|
7
|
+
data.tar.gz: 99efe20d66d9ee8a2529f00ef436afe8dd7514b8456c6bd25b20fa9467d263408558c0020a7896402900ae07568b046597cc5c06acb3ae3b9a2f07b0b68c637b
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# This workflow uses actions that are not certified by GitHub.
|
2
|
+
# They are provided by a third-party and are governed by
|
3
|
+
# separate terms of service, privacy policy, and support
|
4
|
+
# documentation.
|
5
|
+
# This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
|
6
|
+
# For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
|
7
|
+
|
8
|
+
name: Ruby
|
9
|
+
|
10
|
+
on:
|
11
|
+
push:
|
12
|
+
branches: [ master ]
|
13
|
+
pull_request:
|
14
|
+
branches: [ master ]
|
15
|
+
|
16
|
+
jobs:
|
17
|
+
test:
|
18
|
+
|
19
|
+
runs-on: ubuntu-latest
|
20
|
+
strategy:
|
21
|
+
matrix:
|
22
|
+
ruby-version: ['2.6', '2.7', '3.0']
|
23
|
+
|
24
|
+
steps:
|
25
|
+
- uses: actions/checkout@v2
|
26
|
+
- name: Set up Ruby
|
27
|
+
# To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
|
28
|
+
# change this to (see https://github.com/ruby/setup-ruby#versioning):
|
29
|
+
# uses: ruby/setup-ruby@v1
|
30
|
+
uses: ruby/setup-ruby@473e4d8fe5dd94ee328fdfca9f8c9c7afc9dae5e
|
31
|
+
with:
|
32
|
+
ruby-version: ${{ matrix.ruby-version }}
|
33
|
+
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
|
34
|
+
- name: Run tests
|
35
|
+
run: |
|
36
|
+
bundle exec rake
|
37
|
+
bundle exec rubocop
|
data/.rubocop.yml
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
AllCops:
|
2
|
+
TargetRubyVersion: 2.6
|
3
|
+
|
4
|
+
Metrics/ModuleLength:
|
5
|
+
Max: 120
|
6
|
+
|
1
7
|
Metrics/MethodLength:
|
2
8
|
Enabled: false
|
3
9
|
|
@@ -11,4 +17,17 @@ Metrics/BlockLength:
|
|
11
17
|
Style/Documentation:
|
12
18
|
Enabled: false
|
13
19
|
|
20
|
+
Metrics/AbcSize:
|
21
|
+
Max: 25
|
22
|
+
|
23
|
+
Lint/DuplicateMethods:
|
24
|
+
Enabled: false
|
25
|
+
|
26
|
+
Style/DoubleNegation:
|
27
|
+
Enabled: false
|
28
|
+
|
29
|
+
Style/FrozenStringLiteralComment:
|
30
|
+
Enabled: false
|
14
31
|
|
32
|
+
Metrics/CyclomaticComplexity:
|
33
|
+
Max: 10
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
3.0.2
|
data/README.md
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
# danger-xcprofiler
|
2
|
-
|
3
|
-
[](https://coveralls.io/github/giginet/danger-xcprofiler?branch=master)
|
2
|
+

|
4
3
|
[](https://badge.fury.io/rb/danger-xcprofiler)
|
5
4
|
|
6
5
|
[danger](https://github.com/danger/danger) plugin for asserting Swift compilation time.
|
@@ -25,6 +24,12 @@ Just add this line to your Dangerfile:
|
|
25
24
|
xcprofiler.report 'MyApp'
|
26
25
|
```
|
27
26
|
|
27
|
+
Or specify an xcactivitylog path
|
28
|
+
```ruby
|
29
|
+
logDir = Dir[File.join('DerivedData/Logs/Build/', '*.xcactivitylog')].first
|
30
|
+
xcprofiler.report nil, nil, logDir
|
31
|
+
```
|
32
|
+
|
28
33
|
If compilation times of each methods are exceeded the thresholds, `danger` adds inline comment to your PR.
|
29
34
|
|
30
35
|
Default thresholds is 50ms for warning, 100ms for failure.
|
data/danger-xcprofiler.gemspec
CHANGED
@@ -1,8 +1,6 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
lib = File.expand_path('../lib', __FILE__)
|
1
|
+
lib = File.expand_path('lib', __dir__)
|
4
2
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
5
|
-
require 'xcprofiler/gem_version
|
3
|
+
require 'xcprofiler/gem_version'
|
6
4
|
|
7
5
|
Gem::Specification.new do |spec|
|
8
6
|
spec.name = 'danger-xcprofiler'
|
@@ -19,22 +17,21 @@ Gem::Specification.new do |spec|
|
|
19
17
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
20
18
|
spec.require_paths = ['lib']
|
21
19
|
|
20
|
+
spec.required_ruby_version = '>= 2.6'
|
21
|
+
|
22
22
|
spec.add_dependency 'xcprofiler'
|
23
23
|
spec.add_runtime_dependency 'danger-plugin-api', '~> 1.0'
|
24
24
|
|
25
25
|
# General ruby development
|
26
|
-
spec.add_development_dependency 'bundler'
|
27
|
-
spec.add_development_dependency 'rake'
|
26
|
+
spec.add_development_dependency 'bundler'
|
27
|
+
spec.add_development_dependency 'rake'
|
28
28
|
|
29
29
|
# Testing support
|
30
|
-
spec.add_development_dependency 'rspec'
|
31
|
-
|
32
|
-
# Calculating code coverage
|
33
|
-
spec.add_development_dependency 'coveralls'
|
30
|
+
spec.add_development_dependency 'rspec'
|
34
31
|
|
35
32
|
# Linting code and docs
|
36
|
-
spec.add_development_dependency 'rubocop'
|
37
|
-
spec.add_development_dependency 'yard'
|
33
|
+
spec.add_development_dependency 'rubocop'
|
34
|
+
spec.add_development_dependency 'yard'
|
38
35
|
|
39
36
|
# Makes testing easy via `bundle exec guard`
|
40
37
|
spec.add_development_dependency 'guard', '~> 2.14'
|
@@ -3,22 +3,33 @@ require 'pathname'
|
|
3
3
|
|
4
4
|
module Danger
|
5
5
|
class DangerReporter < Xcprofiler::AbstractReporter
|
6
|
-
def initialize(dangerfile, thresholds, inline_mode, working_dir)
|
6
|
+
def initialize(dangerfile, thresholds, inline_mode, working_dir, ignored_files)
|
7
7
|
super({})
|
8
8
|
@dangerfile = dangerfile
|
9
9
|
@thresholds = thresholds
|
10
10
|
@inline_mode = inline_mode
|
11
11
|
@working_dir = working_dir
|
12
|
+
@ignored_files = ignored_files
|
12
13
|
end
|
13
14
|
|
14
15
|
def report!(executions)
|
16
|
+
executions.reject! { |execution| ignored_files.any? { |pattern| File.fnmatch(pattern, execution.path) } }
|
17
|
+
|
18
|
+
if @inline_mode
|
19
|
+
inline_report(executions)
|
20
|
+
else
|
21
|
+
markdown_report(executions)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
private
|
26
|
+
|
27
|
+
def inline_report(executions)
|
15
28
|
executions.each do |execution|
|
16
29
|
options = {}
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
end
|
21
|
-
message = message(execution)
|
30
|
+
options[:file] = relative_path(execution.path)
|
31
|
+
options[:line] = execution.line
|
32
|
+
message = "`#{execution.method_name}` takes #{execution.time} ms to build"
|
22
33
|
|
23
34
|
if execution.time >= @thresholds[:fail]
|
24
35
|
@dangerfile.fail(message, options)
|
@@ -28,17 +39,42 @@ module Danger
|
|
28
39
|
end
|
29
40
|
end
|
30
41
|
|
31
|
-
|
42
|
+
def markdown_report(executions)
|
43
|
+
warning_executions = executions.select do |e|
|
44
|
+
e.time >= @thresholds[:warn] && e.time < @thresholds[:fail]
|
45
|
+
end
|
46
|
+
error_executions = executions.select do |e|
|
47
|
+
e.time >= @thresholds[:fail]
|
48
|
+
end
|
32
49
|
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
50
|
+
return if warning_executions.empty? && error_executions.empty?
|
51
|
+
|
52
|
+
message = "### Xcprofiler found issues\n\n"
|
53
|
+
message << markdown_issues(warning_executions, 'Warnings') unless warning_executions.empty?
|
54
|
+
message << markdown_issues(error_executions, 'Errors') unless error_executions.empty?
|
55
|
+
@dangerfile.markdown(message, {})
|
37
56
|
end
|
38
57
|
|
39
58
|
def relative_path(path)
|
40
59
|
working_dir = Pathname.new(@working_dir)
|
41
60
|
Pathname.new(path).relative_path_from(working_dir).to_s
|
42
61
|
end
|
62
|
+
|
63
|
+
def markdown_issues(executions, heading)
|
64
|
+
message = "#### #{heading}\n\n"
|
65
|
+
|
66
|
+
message << "| File | Line | Method Name | Build Time (ms) |\n"
|
67
|
+
message << "| ---- | ---- | ----------- | --------------- |\n"
|
68
|
+
|
69
|
+
executions.each do |e|
|
70
|
+
message << "| #{e.filename} | #{e.line} | #{e.method_name} | #{e.time} |\n"
|
71
|
+
end
|
72
|
+
|
73
|
+
message
|
74
|
+
end
|
75
|
+
|
76
|
+
def ignored_files
|
77
|
+
[@ignored_files].flatten.compact
|
78
|
+
end
|
43
79
|
end
|
44
80
|
end
|
data/lib/xcprofiler/plugin.rb
CHANGED
@@ -12,6 +12,10 @@ module Danger
|
|
12
12
|
# xcprofiler.thresholds = { warn: 100, fail: 500 }
|
13
13
|
# xcprofiler.report 'MyApp'
|
14
14
|
#
|
15
|
+
# @example Specify a custom DerivedData directory
|
16
|
+
#
|
17
|
+
# xcprofiler.report 'MyApp' './DerivedData'
|
18
|
+
#
|
15
19
|
# @see giginet/danger-xcprofiler
|
16
20
|
# @tags xcode, ios, danger
|
17
21
|
class DangerXcprofiler < Plugin
|
@@ -33,13 +37,28 @@ module Danger
|
|
33
37
|
# @return [Boolean]
|
34
38
|
attr_accessor :inline_mode
|
35
39
|
|
40
|
+
# A globbed string or array of strings which should match the files
|
41
|
+
# that you want to ignore warnings on. Defaults to nil.
|
42
|
+
# An example would be `'**/Pods/**'` to ignore warnings in Pods that your project uses.
|
43
|
+
#
|
44
|
+
# @param [String or [String]] value
|
45
|
+
# @return [[String]]
|
46
|
+
attr_accessor :ignored_files
|
47
|
+
|
36
48
|
# Search the latest .xcactivitylog by the passing product_name and profile compilation time
|
37
49
|
# @param [String] product_name Product name for the target project.
|
50
|
+
# @param [String] derived_data_path Path to the directory containing the DerivedData.
|
51
|
+
# @param [String] log_path Path to the xcactivitylog to process.
|
38
52
|
# @return [void]
|
39
|
-
def report(product_name)
|
40
|
-
profiler =
|
53
|
+
def report(product_name, derived_data_path = nil, log_path = nil)
|
54
|
+
profiler = if log_path&.end_with?('.xcactivitylog')
|
55
|
+
Xcprofiler::Profiler.by_path(log_path)
|
56
|
+
else
|
57
|
+
Xcprofiler::Profiler.by_product_name(product_name, derived_data_path)
|
58
|
+
end
|
59
|
+
|
41
60
|
profiler.reporters = [
|
42
|
-
DangerReporter.new(@dangerfile, thresholds, inline_mode, working_dir)
|
61
|
+
DangerReporter.new(@dangerfile, thresholds, inline_mode, working_dir, ignored_files)
|
43
62
|
]
|
44
63
|
profiler.report!
|
45
64
|
rescue Xcprofiler::DerivedDataNotFound, Xcprofiler::BuildFlagIsNotEnabled => e
|
@@ -57,8 +76,9 @@ module Danger
|
|
57
76
|
end
|
58
77
|
|
59
78
|
def inline_mode
|
60
|
-
return
|
61
|
-
|
79
|
+
return true if @inline_mode.nil?
|
80
|
+
|
81
|
+
!!@inline_mode
|
62
82
|
end
|
63
83
|
end
|
64
84
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,10 +1,7 @@
|
|
1
|
-
require 'coveralls'
|
2
|
-
Coveralls.wear!
|
3
|
-
|
4
1
|
require 'pathname'
|
5
|
-
ROOT = Pathname.new(File.expand_path('
|
6
|
-
$LOAD_PATH.unshift(
|
7
|
-
$LOAD_PATH.unshift(
|
2
|
+
ROOT = Pathname.new(File.expand_path('..', __dir__))
|
3
|
+
$LOAD_PATH.unshift("#{ROOT}lib".to_s)
|
4
|
+
$LOAD_PATH.unshift("#{ROOT}spec".to_s)
|
8
5
|
|
9
6
|
require 'bundler/setup'
|
10
7
|
require 'pry'
|
data/spec/xcprofiler_spec.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
|
-
require File.expand_path('
|
1
|
+
require File.expand_path('spec_helper', __dir__)
|
2
2
|
require 'xcprofiler'
|
3
3
|
|
4
|
+
# rubocop:disable Metrics/ModuleLength
|
4
5
|
module Danger
|
5
6
|
describe Danger::DangerXcprofiler do
|
6
7
|
it 'should be a plugin' do
|
@@ -24,7 +25,8 @@ module Danger
|
|
24
25
|
@xcprofiler.working_dir = ''
|
25
26
|
allow(@dangerfile).to receive(:warn)
|
26
27
|
allow(@dangerfile).to receive(:fail)
|
27
|
-
allow(
|
28
|
+
allow(@dangerfile).to receive(:markdown)
|
29
|
+
allow(Xcprofiler::Profiler).to receive(:by_product_name).with(product_name, nil).and_return(profiler)
|
28
30
|
allow(derived_data).to receive(:flag_enabled?).and_return(true)
|
29
31
|
allow(derived_data).to receive(:executions).and_return([execution0, execution1])
|
30
32
|
[execution0, execution1].each do |execution|
|
@@ -33,6 +35,25 @@ module Danger
|
|
33
35
|
end
|
34
36
|
end
|
35
37
|
|
38
|
+
context 'with ignored files' do
|
39
|
+
let(:time0) { 49.9 }
|
40
|
+
let(:time1) { 50 }
|
41
|
+
it 'skips matching warning' do
|
42
|
+
@xcprofiler.ignored_files = ['path/**']
|
43
|
+
@xcprofiler.report(product_name)
|
44
|
+
expect(@dangerfile).to_not have_received(:warn).with('`doSomething()` takes 50.0 ms to build',
|
45
|
+
file: 'path/to/Source.swift',
|
46
|
+
line: 20)
|
47
|
+
end
|
48
|
+
it 'includes non-matching warning' do
|
49
|
+
@xcprofiler.ignored_files = ['other/path/**']
|
50
|
+
@xcprofiler.report(product_name)
|
51
|
+
expect(@dangerfile).to have_received(:warn).with('`doSomething()` takes 50.0 ms to build',
|
52
|
+
file: 'path/to/Source.swift',
|
53
|
+
line: 20)
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
36
57
|
context 'with slow execution' do
|
37
58
|
let(:time0) { 49.9 }
|
38
59
|
let(:time1) { 50 }
|
@@ -92,21 +113,30 @@ module Danger
|
|
92
113
|
context 'with slow execution' do
|
93
114
|
let(:time0) { 49.9 }
|
94
115
|
let(:time1) { 50 }
|
116
|
+
message = "### Xcprofiler found issues\n\n"
|
117
|
+
message << "#### Warnings\n\n"
|
118
|
+
message << "| File | Line | Method Name | Build Time (ms) |\n"
|
119
|
+
message << "| ---- | ---- | ----------- | --------------- |\n"
|
120
|
+
message << "| Source.swift | 20 | doSomething() | 50.0 |\n"
|
95
121
|
it 'asserts warning' do
|
96
122
|
@xcprofiler.report(product_name)
|
97
|
-
expect(@dangerfile).to have_received(:
|
98
|
-
.with('[Source.swift] `doSomething()` takes 50.0 ms to build', {})
|
123
|
+
expect(@dangerfile).to have_received(:markdown).with(message, {})
|
99
124
|
end
|
100
125
|
end
|
101
126
|
|
102
127
|
context 'with very slow execution' do
|
128
|
+
message = "### Xcprofiler found issues\n\n"
|
129
|
+
message << "#### Errors\n\n"
|
130
|
+
message << "| File | Line | Method Name | Build Time (ms) |\n"
|
131
|
+
message << "| ---- | ---- | ----------- | --------------- |\n"
|
132
|
+
message << "| Source.swift | 20 | doSomething() | 100.0 |\n"
|
103
133
|
it 'asserts failure' do
|
104
134
|
@xcprofiler.report(product_name)
|
105
|
-
expect(@dangerfile).to have_received(:
|
106
|
-
.with('[Source.swift] `doSomething()` takes 100.0 ms to build', {})
|
135
|
+
expect(@dangerfile).to have_received(:markdown).with(message, {})
|
107
136
|
end
|
108
137
|
end
|
109
138
|
end
|
110
139
|
end
|
111
140
|
end
|
112
141
|
end
|
142
|
+
# rubocop:enable Metrics/ModuleLength
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: danger-xcprofiler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- giginet
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-11-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: xcprofiler
|
@@ -42,46 +42,32 @@ dependencies:
|
|
42
42
|
name: bundler
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
47
|
+
version: '0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
54
|
+
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rake
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - "
|
66
|
+
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rspec
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - "~>"
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '3.4'
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - "~>"
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '3.4'
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: coveralls
|
85
71
|
requirement: !ruby/object:Gem::Requirement
|
86
72
|
requirements:
|
87
73
|
- - ">="
|
@@ -98,30 +84,30 @@ dependencies:
|
|
98
84
|
name: rubocop
|
99
85
|
requirement: !ruby/object:Gem::Requirement
|
100
86
|
requirements:
|
101
|
-
- - "
|
87
|
+
- - ">="
|
102
88
|
- !ruby/object:Gem::Version
|
103
|
-
version: '0
|
89
|
+
version: '0'
|
104
90
|
type: :development
|
105
91
|
prerelease: false
|
106
92
|
version_requirements: !ruby/object:Gem::Requirement
|
107
93
|
requirements:
|
108
|
-
- - "
|
94
|
+
- - ">="
|
109
95
|
- !ruby/object:Gem::Version
|
110
|
-
version: '0
|
96
|
+
version: '0'
|
111
97
|
- !ruby/object:Gem::Dependency
|
112
98
|
name: yard
|
113
99
|
requirement: !ruby/object:Gem::Requirement
|
114
100
|
requirements:
|
115
|
-
- - "
|
101
|
+
- - ">="
|
116
102
|
- !ruby/object:Gem::Version
|
117
|
-
version: '0
|
103
|
+
version: '0'
|
118
104
|
type: :development
|
119
105
|
prerelease: false
|
120
106
|
version_requirements: !ruby/object:Gem::Requirement
|
121
107
|
requirements:
|
122
|
-
- - "
|
108
|
+
- - ">="
|
123
109
|
- !ruby/object:Gem::Version
|
124
|
-
version: '0
|
110
|
+
version: '0'
|
125
111
|
- !ruby/object:Gem::Dependency
|
126
112
|
name: guard
|
127
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -185,10 +171,10 @@ executables: []
|
|
185
171
|
extensions: []
|
186
172
|
extra_rdoc_files: []
|
187
173
|
files:
|
188
|
-
- ".
|
174
|
+
- ".github/workflows/ruby.yml"
|
189
175
|
- ".gitignore"
|
190
176
|
- ".rubocop.yml"
|
191
|
-
- ".
|
177
|
+
- ".ruby-version"
|
192
178
|
- Gemfile
|
193
179
|
- Guardfile
|
194
180
|
- LICENSE.txt
|
@@ -207,7 +193,7 @@ homepage: https://github.com/giginet/danger-xcprofiler
|
|
207
193
|
licenses:
|
208
194
|
- MIT
|
209
195
|
metadata: {}
|
210
|
-
post_install_message:
|
196
|
+
post_install_message:
|
211
197
|
rdoc_options: []
|
212
198
|
require_paths:
|
213
199
|
- lib
|
@@ -215,16 +201,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
215
201
|
requirements:
|
216
202
|
- - ">="
|
217
203
|
- !ruby/object:Gem::Version
|
218
|
-
version: '
|
204
|
+
version: '2.6'
|
219
205
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
220
206
|
requirements:
|
221
207
|
- - ">="
|
222
208
|
- !ruby/object:Gem::Version
|
223
209
|
version: '0'
|
224
210
|
requirements: []
|
225
|
-
|
226
|
-
|
227
|
-
signing_key:
|
211
|
+
rubygems_version: 3.2.22
|
212
|
+
signing_key:
|
228
213
|
specification_version: 4
|
229
214
|
summary: danger plugin for asserting Swift compilation time.
|
230
215
|
test_files:
|
data/.coveralls.yml
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
service_name: travis-ci
|