danger-swiftlint 0.17.5 → 0.18.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/lib/danger_plugin.rb +20 -8
- data/lib/version.rb +1 -1
- data/spec/danger_plugin_spec.rb +16 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: deadbe6d57c929c594070425f46f30801dc55fce99f384b9773d4feceaefecea
|
4
|
+
data.tar.gz: bf49b1851d79915d02db6b6ddb4ffd7701677fe23cab3b6e38a9b0cbc0f86aa8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f217f055c54cdbc7ef59b54a526ade9ca38afffb7767d2c549c5ae4036bba484973f95dee8367175ea955f901f49a5e3c34b95c2ef2ad5107d5fc44edfa33b09
|
7
|
+
data.tar.gz: b405c26b1046a2f5b81d059a9dae12c9f1584e1c4b08568a5b9d4a2031312c7b244682bed57570da23f90d5075ae4ddf40c0f368fd9507d67ca5a0e00f0f0f69
|
data/lib/danger_plugin.rb
CHANGED
@@ -35,6 +35,9 @@ module Danger
|
|
35
35
|
# Provides additional logging diagnostic information.
|
36
36
|
attr_accessor :verbose
|
37
37
|
|
38
|
+
# Whether all files should be linted in one pass
|
39
|
+
attr_accessor :lint_all_files
|
40
|
+
|
38
41
|
# Lints Swift files. Will fail if `swiftlint` cannot be installed correctly.
|
39
42
|
# Generates a `markdown` list of warnings for the prose in a corpus of
|
40
43
|
# .markdown and .md files.
|
@@ -88,7 +91,7 @@ module Danger
|
|
88
91
|
log "linting with options: #{options}"
|
89
92
|
|
90
93
|
# Lint each file and collect the results
|
91
|
-
issues = run_swiftlint(files, options, additional_swiftlint_args)
|
94
|
+
issues = run_swiftlint(files, lint_all_files, options, additional_swiftlint_args)
|
92
95
|
other_issues_count = 0
|
93
96
|
unless @max_num_violations.nil?
|
94
97
|
other_issues_count = issues.count - @max_num_violations if issues.count > @max_num_violations
|
@@ -123,13 +126,22 @@ module Danger
|
|
123
126
|
# Run swiftlint on each file and aggregate collect the issues
|
124
127
|
#
|
125
128
|
# @return [Array] swiftlint issues
|
126
|
-
def run_swiftlint(files, options, additional_swiftlint_args)
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
129
|
+
def run_swiftlint(files, lint_all_files, options, additional_swiftlint_args)
|
130
|
+
if lint_all_files
|
131
|
+
result = swiftlint.lint(options, additional_swiftlint_args)
|
132
|
+
if result == ''
|
133
|
+
{}
|
134
|
+
else
|
135
|
+
JSON.parse(result).flatten
|
136
|
+
end
|
137
|
+
else
|
138
|
+
files
|
139
|
+
.map { |file| options.merge(path: file) }
|
140
|
+
.map { |full_options| swiftlint.lint(full_options, additional_swiftlint_args) }
|
141
|
+
.reject { |s| s == '' }
|
142
|
+
.map { |s| JSON.parse(s).flatten }
|
143
|
+
.flatten
|
144
|
+
end
|
133
145
|
end
|
134
146
|
|
135
147
|
# Find swift files from the files glob
|
data/lib/version.rb
CHANGED
data/spec/danger_plugin_spec.rb
CHANGED
@@ -353,6 +353,22 @@ module Danger
|
|
353
353
|
@swiftlint.config_file = 'spec/fixtures/environment_variable_config.yml'
|
354
354
|
@swiftlint.lint_files
|
355
355
|
end
|
356
|
+
|
357
|
+
it 'runs SwiftLint only once if lint_all_files is set' do
|
358
|
+
allow(@swiftlint.git).to receive(:added_files).and_return([])
|
359
|
+
allow(@swiftlint.git).to receive(:modified_files).and_return([
|
360
|
+
'spec/fixtures/SwiftFile.swift',
|
361
|
+
'spec/fixtures/SwiftFile2.swift'
|
362
|
+
])
|
363
|
+
|
364
|
+
expect_any_instance_of(Swiftlint).to receive(:lint)
|
365
|
+
.with(hash_including(config: nil), '')
|
366
|
+
.once
|
367
|
+
.and_return(@swiftlint_response)
|
368
|
+
|
369
|
+
@swiftlint.lint_all_files = true
|
370
|
+
@swiftlint.lint_files
|
371
|
+
end
|
356
372
|
end
|
357
373
|
end
|
358
374
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: danger-swiftlint
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.18.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ash Furrow
|
@@ -12,7 +12,7 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date: 2018-11-
|
15
|
+
date: 2018-11-29 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: danger
|
@@ -181,7 +181,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
181
181
|
version: '0'
|
182
182
|
requirements: []
|
183
183
|
rubyforge_project:
|
184
|
-
rubygems_version: 2.6
|
184
|
+
rubygems_version: 2.7.6
|
185
185
|
signing_key:
|
186
186
|
specification_version: 4
|
187
187
|
summary: A Danger plugin for linting Swift with SwiftLint.
|