danger-swiftformat 0.7.0 → 0.8.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 409a285528d5a1dba41e070e91342608f6b84730419d8827800c674826fccbaa
4
- data.tar.gz: a85a7068013faac8cfebcd9d6634eb3655bc6c4859e2dff89031b54ccd00bded
3
+ metadata.gz: 988d028ab6f8530bdbd0aac2e2db2b0cc7f1ec0176bf6ed4e91551acf10550fd
4
+ data.tar.gz: d1f276c732588da77f9028f723a4420b873e6ec1354afac91e6422ea55b757f6
5
5
  SHA512:
6
- metadata.gz: 8b19e8845a690be835165b418def72f025e3b3320d6fcbc30b7c601cd177f80ef6f5b1eb2da85651b5d0f59d9011182cbc57ef580cf0147f3af553e0d9eb2c49
7
- data.tar.gz: eab0e48b9b4c8c953ec9fd89a0ed3a3a434ea6ce5041457dee6ceb867b10bf0c0caa9c2980df8f0233c8e1d115ae7a72035060bf2febccd1c0c772e0d86455e5
6
+ metadata.gz: e49d217585203fb321a0b25501ed39e6f7a891101d7ed625abfbc833a9a093599880cde86a680530f6e2a1807962dadb2fa2fdbb18304faf3b6d1342f745ca33
7
+ data.tar.gz: d3d444466a38ecef5b339e2e04e1a22ffce3015d3629ea5df375165f7c8aa34d39364246361303b348c766221f06659db8fc5087ea00a154e3838c9244b68b66
@@ -0,0 +1,26 @@
1
+ name: Ruby
2
+
3
+ on:
4
+ push:
5
+ branches: [ main ]
6
+ pull_request:
7
+ branches: [ main ]
8
+
9
+ jobs:
10
+ test:
11
+
12
+ runs-on: ubuntu-latest
13
+ strategy:
14
+ matrix:
15
+ ruby-version: ['2.6', '2.7']
16
+
17
+ steps:
18
+ - uses: actions/checkout@v2
19
+ - name: Set up Ruby
20
+ uses: ruby/setup-ruby@v1
21
+ with:
22
+ ruby-version: ${{ matrix.ruby-version }}
23
+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
24
+
25
+ - name: Run tests
26
+ run: bundle exec rake
@@ -3,7 +3,8 @@
3
3
  # If you don't like these settings, just delete this file :)
4
4
 
5
5
  AllCops:
6
- TargetRubyVersion: 2.3
6
+ TargetRubyVersion: 2.4
7
+ NewCops: enable
7
8
 
8
9
  Style/StringLiterals:
9
10
  EnforcedStyle: double_quotes
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- danger-swiftformat (0.7.0)
4
+ danger-swiftformat (0.8.0)
5
5
  danger-plugin-api (~> 1.0)
6
6
 
7
7
  GEM
@@ -9,41 +9,41 @@ GEM
9
9
  specs:
10
10
  addressable (2.7.0)
11
11
  public_suffix (>= 2.0.2, < 5.0)
12
- ast (2.4.0)
12
+ ast (2.4.2)
13
13
  claide (1.0.3)
14
14
  claide-plugins (0.9.2)
15
15
  cork
16
16
  nap
17
17
  open4 (~> 1.3)
18
- coderay (1.1.2)
18
+ coderay (1.1.3)
19
19
  colored2 (3.1.2)
20
20
  cork (0.3.0)
21
21
  colored2 (~> 3.1)
22
- danger (6.2.2)
22
+ danger (8.2.2)
23
23
  claide (~> 1.0)
24
24
  claide-plugins (>= 0.9.2)
25
25
  colored2 (~> 3.1)
26
26
  cork (~> 0.1)
27
- faraday (~> 0.9)
27
+ faraday (>= 0.9.0, < 2.0)
28
28
  faraday-http-cache (~> 2.0)
29
- git (~> 1.6)
30
- kramdown (~> 2.0)
29
+ git (~> 1.7)
30
+ kramdown (~> 2.3)
31
31
  kramdown-parser-gfm (~> 1.0)
32
32
  no_proxy_fix
33
33
  octokit (~> 4.7)
34
34
  terminal-table (~> 1)
35
35
  danger-plugin-api (1.0.0)
36
36
  danger (> 2.0)
37
- diff-lcs (1.3)
37
+ diff-lcs (1.4.4)
38
38
  faraday (0.15.4)
39
39
  multipart-post (>= 1.2, < 3)
40
- faraday-http-cache (2.0.0)
41
- faraday (~> 0.8)
42
- ffi (1.12.2)
40
+ faraday-http-cache (2.2.0)
41
+ faraday (>= 0.8)
42
+ ffi (1.14.2)
43
43
  formatador (0.2.5)
44
- git (1.6.0)
44
+ git (1.8.1)
45
45
  rchardet (~> 1.8)
46
- guard (2.16.1)
46
+ guard (2.16.2)
47
47
  formatador (>= 0.2.4)
48
48
  listen (>= 2.7, < 4.0)
49
49
  lumberjack (>= 1.0.12, < 2.0)
@@ -57,15 +57,15 @@ GEM
57
57
  guard (~> 2.1)
58
58
  guard-compat (~> 1.1)
59
59
  rspec (>= 2.99.0, < 4.0)
60
- jaro_winkler (1.5.4)
61
- kramdown (2.1.0)
60
+ kramdown (2.3.0)
61
+ rexml
62
62
  kramdown-parser-gfm (1.1.0)
63
63
  kramdown (~> 2.0)
64
- listen (3.2.1)
64
+ listen (3.4.1)
65
65
  rb-fsevent (~> 0.10, >= 0.10.3)
66
66
  rb-inotify (~> 0.9, >= 0.9.10)
67
- lumberjack (1.2.4)
68
- method_source (0.9.2)
67
+ lumberjack (1.2.8)
68
+ method_source (1.0.0)
69
69
  multipart-post (2.1.1)
70
70
  nap (1.1.0)
71
71
  nenv (0.3.0)
@@ -73,55 +73,59 @@ GEM
73
73
  notiffany (0.1.3)
74
74
  nenv (~> 0.1)
75
75
  shellany (~> 0.0)
76
- octokit (4.16.0)
76
+ octokit (4.20.0)
77
77
  faraday (>= 0.9)
78
78
  sawyer (~> 0.8.0, >= 0.5.3)
79
79
  open4 (1.3.4)
80
- parallel (1.19.1)
81
- parser (2.7.0.2)
82
- ast (~> 2.4.0)
83
- pry (0.12.2)
84
- coderay (~> 1.1.0)
85
- method_source (~> 0.9.0)
86
- public_suffix (4.0.3)
80
+ parallel (1.20.1)
81
+ parser (3.0.0.0)
82
+ ast (~> 2.4.1)
83
+ pry (0.13.1)
84
+ coderay (~> 1.1)
85
+ method_source (~> 1.0)
86
+ public_suffix (4.0.6)
87
87
  rainbow (3.0.0)
88
88
  rake (12.3.3)
89
- rb-fsevent (0.10.3)
89
+ rb-fsevent (0.10.4)
90
90
  rb-inotify (0.10.1)
91
91
  ffi (~> 1.0)
92
92
  rchardet (1.8.0)
93
+ regexp_parser (2.0.3)
93
94
  rexml (3.2.4)
94
- rspec (3.9.0)
95
- rspec-core (~> 3.9.0)
96
- rspec-expectations (~> 3.9.0)
97
- rspec-mocks (~> 3.9.0)
98
- rspec-core (3.9.1)
99
- rspec-support (~> 3.9.1)
100
- rspec-expectations (3.9.0)
95
+ rspec (3.10.0)
96
+ rspec-core (~> 3.10.0)
97
+ rspec-expectations (~> 3.10.0)
98
+ rspec-mocks (~> 3.10.0)
99
+ rspec-core (3.10.1)
100
+ rspec-support (~> 3.10.0)
101
+ rspec-expectations (3.10.1)
101
102
  diff-lcs (>= 1.2.0, < 2.0)
102
- rspec-support (~> 3.9.0)
103
- rspec-mocks (3.9.1)
103
+ rspec-support (~> 3.10.0)
104
+ rspec-mocks (3.10.1)
104
105
  diff-lcs (>= 1.2.0, < 2.0)
105
- rspec-support (~> 3.9.0)
106
- rspec-support (3.9.2)
107
- rubocop (0.80.0)
108
- jaro_winkler (~> 1.5.1)
106
+ rspec-support (~> 3.10.0)
107
+ rspec-support (3.10.1)
108
+ rubocop (0.93.1)
109
109
  parallel (~> 1.10)
110
- parser (>= 2.7.0.1)
110
+ parser (>= 2.7.1.5)
111
111
  rainbow (>= 2.2.2, < 4.0)
112
+ regexp_parser (>= 1.8)
112
113
  rexml
114
+ rubocop-ast (>= 0.6.0)
113
115
  ruby-progressbar (~> 1.7)
114
- unicode-display_width (>= 1.4.0, < 1.7)
115
- ruby-progressbar (1.10.1)
116
+ unicode-display_width (>= 1.4.0, < 2.0)
117
+ rubocop-ast (1.4.0)
118
+ parser (>= 2.7.1.5)
119
+ ruby-progressbar (1.11.0)
116
120
  sawyer (0.8.2)
117
121
  addressable (>= 2.3.5)
118
122
  faraday (> 0.8, < 2.0)
119
123
  shellany (0.0.1)
120
124
  terminal-table (1.8.0)
121
125
  unicode-display_width (~> 1.1, >= 1.1.1)
122
- thor (1.0.1)
123
- unicode-display_width (1.6.1)
124
- yard (0.9.24)
126
+ thor (1.1.0)
127
+ unicode-display_width (1.7.0)
128
+ yard (0.9.26)
125
129
 
126
130
  PLATFORMS
127
131
  ruby
@@ -140,4 +144,4 @@ DEPENDENCIES
140
144
  yard (~> 0.9)
141
145
 
142
146
  BUNDLED WITH
143
- 2.1.4
147
+ 2.2.6
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # danger-swiftformat [![Build Status](https://travis-ci.org/garriguv/danger-ruby-swiftformat.svg?branch=master)](https://travis-ci.org/garriguv/danger-ruby-swiftformat) [![Gem Version](https://badge.fury.io/rb/danger-swiftformat.svg)](https://rubygems.org/gems/danger-swiftformat)
1
+ # danger-swiftformat [![Gem Version](https://badge.fury.io/rb/danger-swiftformat.svg)](https://rubygems.org/gems/danger-swiftformat)
2
2
 
3
3
  A [Danger] plugin to check Swift formatting using [SwiftFormat].
4
4
 
@@ -38,12 +38,24 @@ You can specify the `swiftformat` binary using the `binary_path` parameter:
38
38
  swiftformat.binary_path = "/path/to/swiftformat"
39
39
  ```
40
40
 
41
+ You can specify the Swift version of your project using the `swiftversion` parametter:
42
+
43
+ ```ruby
44
+ swiftformat.swiftversion = "5"
45
+ ```
46
+
41
47
  You can specify additional `swiftformat` arguments using the `additional_args` parameter:
42
48
 
43
49
  ```ruby
44
50
  swiftformat.additional_args = "--indent tab --self insert"
45
51
  ```
46
52
 
53
+ You can specify additional message (e.g. how to fix format issue) for danger comment using the `additional_message` parameter:
54
+
55
+ ```ruby
56
+ swiftformat.additional_message = "your additional message for contributor"
57
+ ```
58
+
47
59
  By default, `danger-swiftformat` will run on any modified or created file ending in `.swift`. If you'd like to exclude
48
60
  certain directories or files such as `Pods`, you can use the `exclude` parameter:
49
61
 
@@ -1,3 +1,3 @@
1
1
  module Swiftformat
2
- VERSION = "0.7.0".freeze
2
+ VERSION = "0.8.0".freeze
3
3
  end
@@ -26,9 +26,14 @@ module Danger
26
26
 
27
27
  # An array of file and directory paths to exclude
28
28
  #
29
- # @return [Array<String]
29
+ # @return [Array<String>]
30
30
  attr_accessor :exclude
31
31
 
32
+ # The project Swift version
33
+ #
34
+ # @return [String]
35
+ attr_accessor :swiftversion
36
+
32
37
  # Runs swiftformat
33
38
  #
34
39
  # @param [Boolean] fail_on_error
@@ -46,7 +51,7 @@ module Danger
46
51
  return if swift_files.empty?
47
52
 
48
53
  # Run swiftformat
49
- results = swiftformat.check_format(swift_files, additional_args)
54
+ results = swiftformat.check_format(swift_files, additional_args, swiftversion)
50
55
 
51
56
  # Stop processing if the errors array is empty
52
57
  return if results[:errors].empty?
@@ -56,7 +61,7 @@ module Danger
56
61
  message << "| File | Rules |\n"
57
62
  message << "| ---- | ----- |\n"
58
63
  results[:errors].each do |error|
59
- message << "| #{error[:file].gsub(Dir.pwd + '/', '')} | #{error[:rules].join(', ')} |\n"
64
+ message << "| #{error[:file].gsub("#{Dir.pwd}/", '')} | #{error[:rules].join(', ')} |\n"
60
65
  end
61
66
 
62
67
  unless additional_message.nil?
@@ -10,10 +10,16 @@ module Danger
10
10
  Cmd.run([@path, "--version"])
11
11
  end
12
12
 
13
- def check_format(files, additional_args = "")
13
+ def check_format(files, additional_args = "", swiftversion = "")
14
14
  cmd = [@path] + files
15
15
  cmd << additional_args.split unless additional_args.nil? || additional_args.empty?
16
- cmd << %w(--dryrun --verbose)
16
+
17
+ unless swiftversion.empty?
18
+ cmd << "--swiftversion"
19
+ cmd << swiftversion
20
+ end
21
+
22
+ cmd << %w(--lint --lenient)
17
23
  stdout, stderr, status = Cmd.run(cmd.flatten)
18
24
 
19
25
  output = stdout.empty? ? stderr : stdout
@@ -41,7 +47,7 @@ module Danger
41
47
  }
42
48
  end
43
49
 
44
- ERRORS_REGEX = /Formatting\s(.*)\n-- rules applied:(.*)$/.freeze
50
+ ERRORS_REGEX = /(.*:\d+:\d+): ((warning|error):.*)$/.freeze
45
51
 
46
52
  def errors(output)
47
53
  errors = []
@@ -49,7 +55,7 @@ module Danger
49
55
  next if match.count < 2
50
56
 
51
57
  errors << {
52
- file: match[0],
58
+ file: match[0].sub("#{Dir.pwd}/", ""),
53
59
  rules: match[1].split(",").map(&:strip)
54
60
  }
55
61
  end
@@ -62,7 +68,7 @@ module Danger
62
68
  if RUNTIME_REGEX.match(output)
63
69
  RUNTIME_REGEX.match(output)[1]
64
70
  else
65
- logger = Logger.new(STDERR)
71
+ logger = Logger.new($stderr)
66
72
  logger.error("Invalid run_time output: #{output}")
67
73
  "-1"
68
74
  end
@@ -0,0 +1,8 @@
1
+ import SwiftUI
2
+
3
+ struct MyView: View {
4
+ var body: some View {
5
+ Text("Hello World!")
6
+ .padding()
7
+ }
8
+ }
@@ -0,0 +1,7 @@
1
+ import SwiftUI
2
+ struct MyView: View {
3
+ var body : some View {
4
+ Text( "Hello World!")
5
+ .padding()
6
+ }
7
+ }
@@ -0,0 +1,8 @@
1
+ import SwiftUI
2
+
3
+ struct MyView: View {
4
+ var body: some View {
5
+ Text("Hello World!")
6
+ .padding()
7
+ }
8
+ }
@@ -1,11 +1,4 @@
1
1
  Running SwiftFormat...
2
- (dryrun mode - no files will be changed.)
3
- Formatting /Users/garriguv/FirstClass.swift
4
- -- no changes
5
- Formatting /Users/garriguv/FileWithErrors.swift
6
- -- no changes
7
- Formatting /Users/garriguv/OtherFile.swift
8
- -- no changes
9
-
10
- SwiftFormat completed in 0.08s.
11
- 0/3 files would have been formatted.
2
+ (lint mode - no files will be changed.)
3
+ SwiftFormat completed in 0.01s.
4
+ 0/2 files require formatting.
@@ -1,11 +1,8 @@
1
1
  Running SwiftFormat...
2
- (dryrun mode - no files will be changed.)
3
- Formatting /Users/garriguv/FirstClass.swift
4
- -- no changes
5
- Formatting /Users/garriguv/FileWithErrors.swift
6
- -- rules applied: consecutiveBlankLines, spaceAroundParens, trailingSpace
7
- Formatting /Users/garriguv/OtherFile.swift
8
- -- no changes
9
-
10
- SwiftFormat completed in 0.08s.
11
- 1/3 files would have been formatted.
2
+ (lint mode - no files will be changed.)
3
+ spec/fixtures/1_BadFile.swift:3:1: warning: (spaceAroundOperators) Add or remove space around operators or delimiters.
4
+ spec/fixtures/1_BadFile.swift:4:1: warning: (spaceInsideParens) Remove space inside parentheses.
5
+ spec/fixtures/1_BadFile.swift:5:1: warning: (indent) Indent code in accordance with the scope level.
6
+ SwiftFormat completed in 0.02s.
7
+ Source input did not pass lint check.
8
+ 1/3 files require formatting.
@@ -1,7 +1,7 @@
1
1
  require "pathname"
2
2
  ROOT = Pathname.new(File.expand_path("..", __dir__))
3
- $:.unshift((ROOT + "lib").to_s)
4
- $:.unshift((ROOT + "spec").to_s)
3
+ $:.unshift("#{ROOT}lib".to_s)
4
+ $:.unshift("#{ROOT}spec".to_s)
5
5
 
6
6
  require "bundler/setup"
7
7
  require "pry"
@@ -42,7 +42,7 @@ module Danger
42
42
  allow(@sut.git).to receive(:renamed_files).and_return([{}])
43
43
  allow_any_instance_of(SwiftFormat).to receive(:installed?).and_return(true)
44
44
  allow_any_instance_of(SwiftFormat).to receive(:check_format)
45
- .with(%w(Added.swift Modified.swift), additional_args)
45
+ .with(%w(Added.swift Modified.swift), additional_args, nil)
46
46
  .and_return(success_output)
47
47
 
48
48
  @sut.additional_args = additional_args
@@ -55,6 +55,30 @@ module Danger
55
55
  end
56
56
  end
57
57
 
58
+ context "with swiftversion" do
59
+ let(:swiftversion) { "5" }
60
+ let(:success_output) { { errors: [], stats: { run_time: "0.08s" } } }
61
+
62
+ it "should pass the additional flag to swiftformat" do
63
+ allow(@sut.git).to receive(:added_files).and_return(["Added.swift"])
64
+ allow(@sut.git).to receive(:modified_files).and_return(["Modified.swift"])
65
+ allow(@sut.git).to receive(:deleted_files).and_return(["Deleted.swift"])
66
+ allow(@sut.git).to receive(:renamed_files).and_return([{}])
67
+ allow_any_instance_of(SwiftFormat).to receive(:installed?).and_return(true)
68
+ allow_any_instance_of(SwiftFormat).to receive(:check_format)
69
+ .with(%w(Added.swift Modified.swift), nil, swiftversion)
70
+ .and_return(success_output)
71
+
72
+ @sut.swiftversion = swiftversion
73
+
74
+ @sut.check_format(fail_on_error: true)
75
+
76
+ status = @sut.status_report
77
+ expect(status[:errors]).to be_empty
78
+ expect(status[:markdowns]).to be_empty
79
+ end
80
+ end
81
+
58
82
  context "with additional_message" do
59
83
  let(:additional_message) { "I'm the additional message." }
60
84
  let(:error_output) { { errors: [{ file: "Modified.swift", rules: %w(firstRule secondRule) }], stats: { run_time: "0.16s" } } }
@@ -65,7 +89,7 @@ module Danger
65
89
  allow(@sut.git).to receive(:deleted_files).and_return(["Deleted.swift"])
66
90
  allow(@sut.git).to receive(:renamed_files).and_return([{}])
67
91
  allow_any_instance_of(SwiftFormat).to receive(:installed?).and_return(true)
68
- allow_any_instance_of(SwiftFormat).to receive(:check_format).with(%w(Added.swift Modified.swift), nil).and_return(error_output)
92
+ allow_any_instance_of(SwiftFormat).to receive(:check_format).with(%w(Added.swift Modified.swift), nil, nil).and_return(error_output)
69
93
  @sut.additional_message = additional_message
70
94
  @sut.check_format(fail_on_error: true)
71
95
 
@@ -86,7 +110,7 @@ module Danger
86
110
  allow(@sut.git).to receive(:renamed_files).and_return([{}])
87
111
  allow_any_instance_of(SwiftFormat).to receive(:installed?).and_return(true)
88
112
  allow_any_instance_of(SwiftFormat).to receive(:check_format)
89
- .with(%w(Added.swift), nil)
113
+ .with(%w(Added.swift), nil, nil)
90
114
  .and_return(success_output)
91
115
 
92
116
  @sut.exclude = exclude
@@ -110,7 +134,7 @@ module Danger
110
134
  allow(@sut.git).to receive(:renamed_files).and_return([{ before: "ModifiedBefore.swift", after: "ModifiedAfter.swift" }])
111
135
  allow_any_instance_of(SwiftFormat).to receive(:installed?).and_return(true)
112
136
  allow_any_instance_of(SwiftFormat).to receive(:check_format)
113
- .with(%w(Added.swift ModifiedAfter.swift), additional_args)
137
+ .with(%w(Added.swift ModifiedAfter.swift), additional_args, nil)
114
138
  .and_return(success_output)
115
139
 
116
140
  @sut.additional_args = additional_args
@@ -156,7 +180,7 @@ module Danger
156
180
 
157
181
  context "when swiftformat does not find any errors" do
158
182
  before do
159
- allow_any_instance_of(SwiftFormat).to receive(:check_format).with(%w(Added.swift Modified.swift), nil).and_return(success_output)
183
+ allow_any_instance_of(SwiftFormat).to receive(:check_format).with(%w(Added.swift Modified.swift), nil, nil).and_return(success_output)
160
184
  end
161
185
 
162
186
  it "should not do anything" do
@@ -170,7 +194,7 @@ module Danger
170
194
 
171
195
  context "when swiftformat finds errors" do
172
196
  before do
173
- allow_any_instance_of(SwiftFormat).to receive(:check_format).with(%w(Added.swift Modified.swift), nil).and_return(error_output)
197
+ allow_any_instance_of(SwiftFormat).to receive(:check_format).with(%w(Added.swift Modified.swift), nil, nil).and_return(error_output)
174
198
  end
175
199
 
176
200
  it "should output some markdown and error if fail_on_error is true" do
@@ -36,7 +36,7 @@ RSpec.describe Danger::SwiftFormat do
36
36
  it "should run swiftformat on the specified files" do
37
37
  files = %w(/path/to/file.swift /path/to/directory/)
38
38
  expect(@cmd).to receive(:run)
39
- .with(%w(swiftformat /path/to/file.swift /path/to/directory/ --dryrun --verbose))
39
+ .with(%w(swiftformat /path/to/file.swift /path/to/directory/ --lint --lenient))
40
40
  .and_return(fixture("swiftformat_output.txt"))
41
41
 
42
42
  @sut.check_format(files)
@@ -44,18 +44,17 @@ RSpec.describe Danger::SwiftFormat do
44
44
 
45
45
  it "should return a formatted output including rules when there are errors" do
46
46
  expect(@cmd).to receive(:run)
47
- .with(%w(swiftformat . --dryrun --verbose))
47
+ .with(%w(swiftformat . --lint --lenient))
48
48
  .and_return(fixture("swiftformat_output_with_errors.txt"))
49
49
 
50
50
  output = {
51
51
  errors: [
52
- {
53
- file: "/Users/garriguv/FileWithErrors.swift",
54
- rules: %w(consecutiveBlankLines spaceAroundParens trailingSpace)
55
- }
52
+ { file: "spec/fixtures/1_BadFile.swift:3:1", rules: ["warning: (spaceAroundOperators) Add or remove space around operators or delimiters."] },
53
+ { file: "spec/fixtures/1_BadFile.swift:4:1", rules: ["warning: (spaceInsideParens) Remove space inside parentheses."] },
54
+ { file: "spec/fixtures/1_BadFile.swift:5:1", rules: ["warning: (indent) Indent code in accordance with the scope level."] }
56
55
  ],
57
56
  stats: {
58
- run_time: "0.08"
57
+ run_time: "0.02"
59
58
  }
60
59
  }
61
60
  expect(@sut.check_format(%w(.))).to eq(output)
@@ -63,13 +62,13 @@ RSpec.describe Danger::SwiftFormat do
63
62
 
64
63
  it "should also return a formatted output if there were no errors" do
65
64
  expect(@cmd).to receive(:run)
66
- .with(%w(swiftformat . --dryrun --verbose))
65
+ .with(%w(swiftformat . --lint --lenient))
67
66
  .and_return(fixture("swiftformat_output.txt"))
68
67
 
69
68
  output = {
70
69
  errors: [],
71
70
  stats: {
72
- run_time: "0.08"
71
+ run_time: "0.01"
73
72
  }
74
73
  }
75
74
 
@@ -78,7 +77,7 @@ RSpec.describe Danger::SwiftFormat do
78
77
 
79
78
  it "should raise an error if the output is empty" do
80
79
  expect(@cmd).to receive(:run)
81
- .with(%w(swiftformat . --dryrun --verbose))
80
+ .with(%w(swiftformat . --lint --lenient))
82
81
  .and_return("")
83
82
 
84
83
  expect { @sut.check_format(%w(.)) }.to raise_error("Error running SwiftFormat: Empty output.")
@@ -86,13 +85,13 @@ RSpec.describe Danger::SwiftFormat do
86
85
 
87
86
  it "should support nil additional command line arguments" do
88
87
  expect(@cmd).to receive(:run)
89
- .with(%w(swiftformat . --dryrun --verbose))
88
+ .with(%w(swiftformat . --lint --lenient))
90
89
  .and_return(fixture("swiftformat_output.txt"))
91
90
 
92
91
  output = {
93
92
  errors: [],
94
93
  stats: {
95
- run_time: "0.08"
94
+ run_time: "0.01"
96
95
  }
97
96
  }
98
97
 
@@ -101,22 +100,22 @@ RSpec.describe Danger::SwiftFormat do
101
100
 
102
101
  it "should support additional command line arguments" do
103
102
  expect(@cmd).to receive(:run)
104
- .with(%w(swiftformat . --self insert --indent tab --dryrun --verbose))
103
+ .with(%w(swiftformat . --self insert --indent tab --swiftversion 5 --lint --lenient))
105
104
  .and_return(fixture("swiftformat_output.txt"))
106
105
 
107
106
  output = {
108
107
  errors: [],
109
108
  stats: {
110
- run_time: "0.08"
109
+ run_time: "0.01"
111
110
  }
112
111
  }
113
112
 
114
- expect(@sut.check_format(%w(.), "--self insert --indent tab")).to eq(output)
113
+ expect(@sut.check_format(%w(.), "--self insert --indent tab", "5")).to eq(output)
115
114
  end
116
115
 
117
116
  it "should not crash if the output is invalid" do
118
117
  expect(@cmd).to receive(:run)
119
- .with(%w(swiftformat . --self insert --indent tab --dryrun --verbose))
118
+ .with(%w(swiftformat . --self insert --indent tab --lint --lenient))
120
119
  .and_return(fixture("swiftformat_output_bad.txt"))
121
120
 
122
121
  output = {
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: danger-swiftformat
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vincent Garrigues
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-02-20 00:00:00.000000000 Z
11
+ date: 2021-01-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: danger-plugin-api
@@ -157,9 +157,9 @@ executables: []
157
157
  extensions: []
158
158
  extra_rdoc_files: []
159
159
  files:
160
+ - ".github/workflows/ruby.yml"
160
161
  - ".gitignore"
161
162
  - ".rubocop.yml"
162
- - ".travis.yml"
163
163
  - Gemfile
164
164
  - Gemfile.lock
165
165
  - Guardfile
@@ -174,6 +174,9 @@ files:
174
174
  - lib/swiftformat/plugin.rb
175
175
  - lib/swiftformat/swiftformat.rb
176
176
  - scripts/release.sh
177
+ - spec/fixtures/0_GoodFile.swift
178
+ - spec/fixtures/1_BadFile.swift
179
+ - spec/fixtures/2_GoodFile.swift
177
180
  - spec/fixtures/swiftformat_output.txt
178
181
  - spec/fixtures/swiftformat_output_bad.txt
179
182
  - spec/fixtures/swiftformat_output_with_errors.txt
@@ -185,7 +188,7 @@ licenses:
185
188
  - MIT
186
189
  metadata:
187
190
  github_repo: ssh://github.com/garriguv/danger-ruby-swiftformat
188
- post_install_message:
191
+ post_install_message:
189
192
  rdoc_options: []
190
193
  require_paths:
191
194
  - lib
@@ -200,11 +203,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
200
203
  - !ruby/object:Gem::Version
201
204
  version: '0'
202
205
  requirements: []
203
- rubygems_version: 3.0.3
204
- signing_key:
206
+ rubygems_version: 3.1.4
207
+ signing_key:
205
208
  specification_version: 4
206
209
  summary: A danger plugin for checking Swift formatting using SwiftFormat.
207
210
  test_files:
211
+ - spec/fixtures/0_GoodFile.swift
212
+ - spec/fixtures/1_BadFile.swift
213
+ - spec/fixtures/2_GoodFile.swift
208
214
  - spec/fixtures/swiftformat_output.txt
209
215
  - spec/fixtures/swiftformat_output_bad.txt
210
216
  - spec/fixtures/swiftformat_output_with_errors.txt
@@ -1,16 +0,0 @@
1
- language: ruby
2
- cache: bundler
3
-
4
- before_install:
5
- - gem update --system
6
- - gem install bundler
7
-
8
- rvm:
9
- - 2.3.8
10
- - 2.4.9
11
- - 2.5.7
12
- - 2.6.5
13
- - 2.7.0
14
-
15
- script:
16
- - bundle exec rake spec