danger-swiftlint 0.1.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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 9925f1de7a1bd52e14b57072f1f36dd02cf6a160
4
+ data.tar.gz: 12b7f1206f6270366a12ae32ef56036888dc3b47
5
+ SHA512:
6
+ metadata.gz: cd4b2964885038e94697afda64209f3c06262c7e04a41b2bbe973d3868c33744a8133ef59651ad0ad1c8fb84b2c60f3ac2a5a66a4e7ab652c32be159da8bcb6f
7
+ data.tar.gz: 8dccbeb0c866068476404a50160663bdade0447db54a3384e05ef8559997fac0795f8615faffd51e6f4820d1eb6e866564a0aea9e42c3b80852f84d30a11ed8c
@@ -0,0 +1,50 @@
1
+ *.gem
2
+ *.rbc
3
+ /.config
4
+ /coverage/
5
+ /InstalledFiles
6
+ /pkg/
7
+ /spec/reports/
8
+ /spec/examples.txt
9
+ /test/tmp/
10
+ /test/version_tmp/
11
+ /tmp/
12
+
13
+ # Used by dotenv library to load environment variables.
14
+ # .env
15
+
16
+ ## Specific to RubyMotion:
17
+ .dat*
18
+ .repl_history
19
+ build/
20
+ *.bridgesupport
21
+ build-iPhoneOS/
22
+ build-iPhoneSimulator/
23
+
24
+ ## Specific to RubyMotion (use of CocoaPods):
25
+ #
26
+ # We recommend against adding the Pods directory to your .gitignore. However
27
+ # you should judge for yourself, the pros and cons are mentioned at:
28
+ # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
29
+ #
30
+ # vendor/Pods/
31
+
32
+ ## Documentation cache and generated files:
33
+ /.yardoc/
34
+ /_yardoc/
35
+ /doc/
36
+ /rdoc/
37
+
38
+ ## Environment normalization:
39
+ /.bundle/
40
+ /vendor/bundle
41
+ /lib/bundler/man/
42
+
43
+ # for a library or gem, you might want to ignore these files since the code is
44
+ # intended to run in multiple environments; otherwise, check them in:
45
+ # Gemfile.lock
46
+ # .ruby-version
47
+ # .ruby-gemset
48
+
49
+ # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
50
+ .rvmrc
@@ -0,0 +1 @@
1
+ ruby-2.0.0-p247
@@ -0,0 +1,9 @@
1
+ # Changelog
2
+
3
+ ## Current Master
4
+
5
+ - Nothing yet!
6
+
7
+ ## 0.1.0
8
+
9
+ - Initial release.
data/Gemfile ADDED
@@ -0,0 +1,10 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
4
+
5
+ group :development do
6
+ gem 'mocha'
7
+ gem 'bacon'
8
+ gem 'mocha-on-bacon'
9
+ gem 'prettybacon'
10
+ end
@@ -0,0 +1,113 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ danger-swiftlint (0.0.1)
5
+ danger
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ addressable (2.4.0)
11
+ bacon (1.2.0)
12
+ claide (1.0.0)
13
+ coderay (1.1.1)
14
+ colored (1.2)
15
+ cork (0.1.0)
16
+ colored (~> 1.2)
17
+ danger (0.8.3)
18
+ claide (~> 1.0)
19
+ colored (~> 1.2)
20
+ cork (~> 0.1)
21
+ faraday (~> 0)
22
+ git (~> 1)
23
+ octokit (~> 4.2)
24
+ redcarpet (~> 3.3)
25
+ terminal-table (~> 1)
26
+ diff-lcs (1.2.5)
27
+ faraday (0.9.2)
28
+ multipart-post (>= 1.2, < 3)
29
+ ffi (1.9.10)
30
+ formatador (0.2.5)
31
+ git (1.3.0)
32
+ guard (2.14.0)
33
+ formatador (>= 0.2.4)
34
+ listen (>= 2.7, < 4.0)
35
+ lumberjack (~> 1.0)
36
+ nenv (~> 0.1)
37
+ notiffany (~> 0.0)
38
+ pry (>= 0.9.12)
39
+ shellany (~> 0.0)
40
+ thor (>= 0.18.1)
41
+ guard-compat (1.2.1)
42
+ guard-rspec (4.7.2)
43
+ guard (~> 2.1)
44
+ guard-compat (~> 1.1)
45
+ rspec (>= 2.99.0, < 4.0)
46
+ listen (3.0.7)
47
+ rb-fsevent (>= 0.9.3)
48
+ rb-inotify (>= 0.9.7)
49
+ lumberjack (1.0.10)
50
+ metaclass (0.0.4)
51
+ method_source (0.8.2)
52
+ mocha (1.1.0)
53
+ metaclass (~> 0.0.1)
54
+ mocha-on-bacon (0.2.2)
55
+ mocha (>= 0.13.0)
56
+ multipart-post (2.0.0)
57
+ nenv (0.3.0)
58
+ notiffany (0.1.0)
59
+ nenv (~> 0.1)
60
+ shellany (~> 0.0)
61
+ octokit (4.3.0)
62
+ sawyer (~> 0.7.0, >= 0.5.3)
63
+ prettybacon (0.0.2)
64
+ bacon (~> 1.2)
65
+ pry (0.10.3)
66
+ coderay (~> 1.1.0)
67
+ method_source (~> 0.8.1)
68
+ slop (~> 3.4)
69
+ rake (10.5.0)
70
+ rb-fsevent (0.9.7)
71
+ rb-inotify (0.9.7)
72
+ ffi (>= 0.5.0)
73
+ redcarpet (3.3.4)
74
+ rspec (3.4.0)
75
+ rspec-core (~> 3.4.0)
76
+ rspec-expectations (~> 3.4.0)
77
+ rspec-mocks (~> 3.4.0)
78
+ rspec-core (3.4.4)
79
+ rspec-support (~> 3.4.0)
80
+ rspec-expectations (3.4.0)
81
+ diff-lcs (>= 1.2.0, < 2.0)
82
+ rspec-support (~> 3.4.0)
83
+ rspec-mocks (3.4.1)
84
+ diff-lcs (>= 1.2.0, < 2.0)
85
+ rspec-support (~> 3.4.0)
86
+ rspec-support (3.4.1)
87
+ sawyer (0.7.0)
88
+ addressable (>= 2.3.5, < 2.5)
89
+ faraday (~> 0.8, < 0.10)
90
+ shellany (0.0.1)
91
+ slop (3.6.0)
92
+ terminal-table (1.6.0)
93
+ thor (0.19.1)
94
+
95
+ PLATFORMS
96
+ ruby
97
+
98
+ DEPENDENCIES
99
+ bacon
100
+ bundler (~> 1.3)
101
+ danger-swiftlint!
102
+ guard (~> 2.14)
103
+ guard-rspec (~> 4.7)
104
+ listen (= 3.0.7)
105
+ mocha
106
+ mocha-on-bacon
107
+ prettybacon
108
+ pry
109
+ rake (~> 10.0)
110
+ rspec (~> 3.4)
111
+
112
+ BUNDLED WITH
113
+ 1.12.5
@@ -0,0 +1,21 @@
1
+ # A guardfile for making Danger Plugins
2
+ # For more info see https://github.com/guard/guard#readme
3
+
4
+ # To run, use `bundle exec guard`.
5
+
6
+ guard :rspec, cmd: "bundle exec rspec" do
7
+ require "guard/rspec/dsl"
8
+ dsl = Guard::RSpec::Dsl.new(self)
9
+
10
+ # Feel free to open issues for suggestions and improvements
11
+
12
+ # RSpec files
13
+ rspec = dsl.rspec
14
+ watch(rspec.spec_helper) { rspec.spec_dir }
15
+ watch(rspec.spec_support) { rspec.spec_dir }
16
+ watch(rspec.spec_files)
17
+
18
+ # Ruby files
19
+ ruby = dsl.ruby
20
+ dsl.watch_spec_files_for(ruby.lib_files)
21
+ end
data/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2016 Ash Furrow
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,47 @@
1
+ [![CircleCI](https://circleci.com/gh/ashfurrow/danger-swiftlint.svg?style=svg)](https://circleci.com/gh/ashfurrow/danger-swiftlint)
2
+
3
+ # Danger SwiftLint
4
+
5
+ A [Danger](https://github.com/danger/danger) plugin for [SwiftLint](https://github.com/realm/SwiftLint).
6
+
7
+ ## Installation
8
+
9
+ Add this line to your Gemfile:
10
+
11
+ ```rb
12
+ gem 'danger-swiftlint'
13
+ ```
14
+
15
+ ## Usage
16
+
17
+ The easiest way to use is just add this to your Dangerfile:
18
+
19
+ ```rb
20
+ swiftlint.lint_files
21
+ ```
22
+
23
+ That will lint any changed or added Swift files in the PR. You can also set up a config file first.
24
+
25
+ ```rb
26
+ swiftlint.config_file = '.swiftlint.yml'
27
+ swiftlint.lint_files
28
+ ```
29
+
30
+ And finally, you can provide a list of files manually:
31
+
32
+ ``` ruby
33
+ # Look through all changed Markdown files
34
+ swift_files = (modified_files + added_files).select do |file|
35
+ file.end_with?(".swift")
36
+ end
37
+
38
+ swiftlint.lint_files swift_files
39
+ ```
40
+
41
+ ## Attribution
42
+
43
+ Original structure, sequence, and organization of repo taken from [danger-prose](https://github.com/dbgrandi/danger-prose) by [David Grandinetti](https://github.com/dbgrandi/).
44
+
45
+ ## License
46
+
47
+ MIT
@@ -0,0 +1,13 @@
1
+ require 'bundler/gem_tasks'
2
+ require "rspec/core/rake_task"
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task default: :spec
7
+
8
+ task :spec do
9
+ Rake::Task['specs'].invoke
10
+ end
11
+
12
+ task :default => :spec
13
+
@@ -0,0 +1,42 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = 'danger-swiftlint'
8
+ spec.version = DangerSwiftlint::VERSION
9
+ spec.authors = ['Ash Furrow', 'David Grandinetti', 'Orta Therox']
10
+ spec.email = ['ash@ashfurrow.com', 'dbgrandi@gmail.com', 'orta.therox@gmail.com']
11
+ spec.description = %q{A Danger plugin for linting Swift with SwiftLint.}
12
+ spec.summary = %q{A Danger plugin for linting Swift with SwiftLint.}
13
+ spec.homepage = 'https://github.com/ashfurrow/danger-swiftlint'
14
+ spec.license = 'MIT'
15
+
16
+ spec.files = `git ls-files`.split($/)
17
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
18
+ spec.require_paths = ['lib']
19
+
20
+ spec.add_dependency 'danger'
21
+
22
+ # General ruby development
23
+ spec.add_development_dependency 'bundler', '~> 1.3'
24
+ spec.add_development_dependency 'rake', '~> 10.0'
25
+
26
+ # Testing support
27
+ spec.add_development_dependency "rspec", '~> 3.4'
28
+
29
+ # Makes testing easy via `bundle exec guard`
30
+ spec.add_development_dependency "guard", '~> 2.14'
31
+ spec.add_development_dependency "guard-rspec", '~> 4.7'
32
+
33
+ # If you want to work on older builds of ruby
34
+ spec.add_development_dependency "listen", '3.0.7'
35
+
36
+ # This gives you the chance to run a REPL inside your test
37
+ # via
38
+ # binding.pry
39
+ # This will stop test execution and let you inspect the results
40
+ spec.add_development_dependency "pry"
41
+
42
+ end
@@ -0,0 +1,99 @@
1
+ module Danger
2
+
3
+ # Lint Swift files inside your projects.
4
+ # This is done using the [SwiftLint](https://github.com/realm/SwiftLint) tool.
5
+ # Results are passed out as a table in markdown.
6
+ #
7
+ # @example Specifying custom config file.
8
+ #
9
+ # # Runs a linter with comma style disabled
10
+ # swiftlint.config_file = '.swiftlint.yml'
11
+ # swiftlint.lint_files
12
+ #
13
+ # @see artsy/eigen
14
+ # @tags swift
15
+ #
16
+ class DangerSwiftlint < Plugin
17
+
18
+ # Allows you to specify a config file location for swiftlint.
19
+ attr_accessor :config_file
20
+
21
+ # Lints Swift files. Will fail if `swiftlint` cannot be installed correctly.
22
+ # Generates a `markdown` list of warnings for the prose in a corpus of .markdown and .md files.
23
+ #
24
+ # @param [String] files
25
+ # A globbed string which should return the files that you want to lint, defaults to nil.
26
+ # if nil, modified and added files from the diff will be used.
27
+ # @return [void]
28
+ #
29
+ def lint_files(files=nil)
30
+ # Installs SwiftLint if needed
31
+ system "brew install swiftlint" unless swiftlint_installed?
32
+
33
+ # Check that this is in the user's PATH after installing
34
+ unless swiftlint_installed?
35
+ fail "swiftlint is not in the user's PATH, or it failed to install"
36
+ return
37
+ end
38
+
39
+ # Either use files provided, or use the modified + added
40
+ swift_files = files ? Dir.glob(files) : (modified_files + added_files)
41
+ swift_files.select! do |line| line.end_with?(".swift") end
42
+
43
+ swiftlint_command = "swiftlint lint --quiet --reporter json"
44
+ swiftlint_command += " --config #{config_file}" if config_file
45
+
46
+ require 'json'
47
+ result_json = swift_files.uniq.collect { |f| JSON.parse(`#{swiftlint_command} --path #{f}`.strip).flatten }.flatten
48
+
49
+ # Convert to swiftlint results
50
+ warnings = result_json.flatten.select do |results|
51
+ results['severity'] == 'Warning'
52
+ end
53
+ errors = result_json.select do |results|
54
+ results['severity'] == 'Error'
55
+ end
56
+
57
+ message = ''
58
+
59
+ # We got some error reports back from swiftlint
60
+ if warnings.count > 0 || errors.count > 0
61
+ message = '### SwiftLint found issues\n\n'
62
+ end
63
+
64
+ message << parse_results(warnings, 'Warnings') unless warnings.empty?
65
+ message << parse_results(errors, 'Errors') unless errors.empty?
66
+
67
+ markdown message
68
+ end
69
+
70
+ # Parses swiftlint invocation results into a string
71
+ # which is formatted as a markdown table.
72
+ #
73
+ # @return [String]
74
+ #
75
+ def parse_results (results, heading)
76
+ message = "#### #{heading}\n\n"
77
+
78
+ message << 'File | Line | Reason |\n'
79
+ message << '| --- | ----- | ----- |\n'
80
+
81
+ results.each do |r|
82
+ filename = r['file'].split('/').last
83
+ line = r['line']
84
+ reason = r['reason']
85
+
86
+ message << "#{filename} | #{line} | #{reason} \n"
87
+ end
88
+
89
+ message
90
+ end
91
+
92
+ # Determine if swiftlint is currently installed in the system paths.
93
+ # @return [Bool]
94
+ #
95
+ def swiftlint_installed?
96
+ `which swiftlint`.strip.empty? == false
97
+ end
98
+ end
99
+ end
@@ -0,0 +1,3 @@
1
+ module DangerSwiftlint
2
+ VERSION = "0.1.0".freeze
3
+ end
@@ -0,0 +1,73 @@
1
+ require File.expand_path('../spec_helper', __FILE__)
2
+
3
+ module Danger
4
+ describe DangerSwiftlint do
5
+ it 'is a plugin' do
6
+ expect(Danger::DangerSwiftlint < Danger::Plugin).to be_truthy
7
+ end
8
+
9
+ describe 'with Dangerfile' do
10
+ before do
11
+ @dangerfile = testing_dangerfile
12
+ @swiftlint = testing_dangerfile.swiftlint
13
+
14
+ @swiftlint.config_file = nil
15
+ end
16
+
17
+ it "handles swiftlint not being installed" do
18
+ allow(@swiftlint).to receive(:`).with("which swiftlint").and_return("")
19
+ expect(@swiftlint.swiftlint_installed?).to be_falsy
20
+ end
21
+
22
+ it "handles swiftlint being installed" do
23
+ allow(@swiftlint).to receive(:`).with("which swiftlint").and_return("/bin/wherever/swiftlint")
24
+ expect(@swiftlint.swiftlint_installed?).to be_truthy
25
+ end
26
+
27
+ describe :lint_files do
28
+ before do
29
+ # So it doesn't try to install on your computer
30
+ allow(@swiftlint).to receive(:`).with("which swiftlint").and_return("/bin/wheverever/swiftlint")
31
+
32
+ # Set up our stubbed JSON response
33
+ @swiftlint_response = '[{"reason": "Force casts should be avoided.", "file": "/User/me/this_repo/spec/fixtures/SwiftFile.swift", "line": 13, "severity": "Error" }]'
34
+ end
35
+
36
+ it 'handles a known SwiftLint report' do
37
+ allow(@swiftlint).to receive(:`).with('swiftlint lint --quiet --reporter json --path spec/fixtures/SwiftFile.swift').and_return(@swiftlint_response)
38
+
39
+ # Do it
40
+ @swiftlint.lint_files("spec/fixtures/*.swift")
41
+
42
+ output = @swiftlint.status_report[:markdowns].first
43
+
44
+ expect(output).to_not be_empty
45
+
46
+ # A title
47
+ expect(output).to include("SwiftLint found issues")
48
+ # A warning
49
+ expect(output).to include("SwiftFile.swift | 13 | Force casts should be avoided.")
50
+ end
51
+
52
+ it 'handles no files' do
53
+ allow(@swiftlint).to receive(:modified_files).and_return('spec/fixtures/SwiftFile.swift')
54
+ allow(@swiftlint).to receive(:`).with('swiftlint lint --quiet --reporter json --path spec/fixtures/SwiftFile.swift').and_return(@swiftlint_response)
55
+
56
+ @swiftlint.lint_files("spec/fixtures/*.swift")
57
+
58
+ expect(@swiftlint.status_report[:markdowns].first).to_not be_empty
59
+ end
60
+
61
+ it 'uses a config file' do
62
+ @swiftlint.config_file = 'some_config.yml'
63
+ allow(@swiftlint).to receive(:`).with('swiftlint lint --quiet --reporter json --config some_config.yml --path spec/fixtures/SwiftFile.swift').and_return(@swiftlint_response)
64
+
65
+ @swiftlint.lint_files("spec/fixtures/*.swift")
66
+
67
+ expect(@swiftlint.status_report[:markdowns].first).to_not be_empty
68
+ end
69
+
70
+ end
71
+ end
72
+ end
73
+ end
@@ -0,0 +1 @@
1
+ // This file intentional left blank-ish.
@@ -0,0 +1,43 @@
1
+ require 'pathname'
2
+
3
+ ROOT = Pathname.new(File.expand_path('../../', __FILE__))
4
+ $:.unshift((ROOT + 'lib').to_s)
5
+ $:.unshift((ROOT + 'spec').to_s)
6
+
7
+ RSpec.configure do |config|
8
+ # Use color in STDOUT
9
+ config.color = true
10
+ end
11
+
12
+ require 'bundler/setup'
13
+ require 'pry'
14
+
15
+ require 'danger'
16
+ require 'cork'
17
+ require 'danger_plugin'
18
+
19
+ # These functions are a subset of https://github.com/danger/danger/blob/master/spec/spec_helper.rb
20
+ # If you are expanding these files, see if it's already been done ^.
21
+
22
+ # A silent version of the user interface
23
+ def testing_ui
24
+ Cork::Board.new(silent: true)
25
+ end
26
+
27
+ # Example environment (ENV) that would come from
28
+ # running a PR on TravisCI
29
+ def testing_env
30
+ {
31
+ "HAS_JOSH_K_SEAL_OF_APPROVAL" => "true",
32
+ "TRAVIS_PULL_REQUEST" => "800",
33
+ "TRAVIS_REPO_SLUG" => "artsy/eigen",
34
+ "TRAVIS_COMMIT_RANGE" => "759adcbd0d8f...13c4dc8bb61d",
35
+ "DANGER_GITHUB_API_TOKEN" => "123sbdq54erfsd3422gdfio"
36
+ }
37
+ end
38
+
39
+ # A stubbed out Dangerfile for use in tests
40
+ def testing_dangerfile
41
+ env = Danger::EnvironmentManager.new(testing_env)
42
+ Danger::Dangerfile.new(env, testing_ui)
43
+ end
metadata ADDED
@@ -0,0 +1,178 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: danger-swiftlint
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Ash Furrow
8
+ - David Grandinetti
9
+ - Orta Therox
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+ date: 2016-07-05 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: danger
17
+ requirement: !ruby/object:Gem::Requirement
18
+ requirements:
19
+ - - '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - '>='
27
+ - !ruby/object:Gem::Version
28
+ version: '0'
29
+ - !ruby/object:Gem::Dependency
30
+ name: bundler
31
+ requirement: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - ~>
34
+ - !ruby/object:Gem::Version
35
+ version: '1.3'
36
+ type: :development
37
+ prerelease: false
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - ~>
41
+ - !ruby/object:Gem::Version
42
+ version: '1.3'
43
+ - !ruby/object:Gem::Dependency
44
+ name: rake
45
+ requirement: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - ~>
48
+ - !ruby/object:Gem::Version
49
+ version: '10.0'
50
+ type: :development
51
+ prerelease: false
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - ~>
55
+ - !ruby/object:Gem::Version
56
+ version: '10.0'
57
+ - !ruby/object:Gem::Dependency
58
+ name: rspec
59
+ requirement: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ~>
62
+ - !ruby/object:Gem::Version
63
+ version: '3.4'
64
+ type: :development
65
+ prerelease: false
66
+ version_requirements: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - ~>
69
+ - !ruby/object:Gem::Version
70
+ version: '3.4'
71
+ - !ruby/object:Gem::Dependency
72
+ name: guard
73
+ requirement: !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: '2.14'
78
+ type: :development
79
+ prerelease: false
80
+ version_requirements: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - ~>
83
+ - !ruby/object:Gem::Version
84
+ version: '2.14'
85
+ - !ruby/object:Gem::Dependency
86
+ name: guard-rspec
87
+ requirement: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - ~>
90
+ - !ruby/object:Gem::Version
91
+ version: '4.7'
92
+ type: :development
93
+ prerelease: false
94
+ version_requirements: !ruby/object:Gem::Requirement
95
+ requirements:
96
+ - - ~>
97
+ - !ruby/object:Gem::Version
98
+ version: '4.7'
99
+ - !ruby/object:Gem::Dependency
100
+ name: listen
101
+ requirement: !ruby/object:Gem::Requirement
102
+ requirements:
103
+ - - '='
104
+ - !ruby/object:Gem::Version
105
+ version: 3.0.7
106
+ type: :development
107
+ prerelease: false
108
+ version_requirements: !ruby/object:Gem::Requirement
109
+ requirements:
110
+ - - '='
111
+ - !ruby/object:Gem::Version
112
+ version: 3.0.7
113
+ - !ruby/object:Gem::Dependency
114
+ name: pry
115
+ requirement: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - '>='
118
+ - !ruby/object:Gem::Version
119
+ version: '0'
120
+ type: :development
121
+ prerelease: false
122
+ version_requirements: !ruby/object:Gem::Requirement
123
+ requirements:
124
+ - - '>='
125
+ - !ruby/object:Gem::Version
126
+ version: '0'
127
+ description: A Danger plugin for linting Swift with SwiftLint.
128
+ email:
129
+ - ash@ashfurrow.com
130
+ - dbgrandi@gmail.com
131
+ - orta.therox@gmail.com
132
+ executables: []
133
+ extensions: []
134
+ extra_rdoc_files: []
135
+ files:
136
+ - .gitignore
137
+ - .ruby-version
138
+ - Changelog.md
139
+ - Gemfile
140
+ - Gemfile.lock
141
+ - Guardfile
142
+ - LICENSE
143
+ - README.md
144
+ - Rakefile
145
+ - danger-swiftlint.gemspec
146
+ - lib/danger_plugin.rb
147
+ - lib/version.rb
148
+ - spec/danger_plugin_spec.rb
149
+ - spec/fixtures/SwiftFile.swift
150
+ - spec/spec_helper.rb
151
+ homepage: https://github.com/ashfurrow/danger-swiftlint
152
+ licenses:
153
+ - MIT
154
+ metadata: {}
155
+ post_install_message:
156
+ rdoc_options: []
157
+ require_paths:
158
+ - lib
159
+ required_ruby_version: !ruby/object:Gem::Requirement
160
+ requirements:
161
+ - - '>='
162
+ - !ruby/object:Gem::Version
163
+ version: '0'
164
+ required_rubygems_version: !ruby/object:Gem::Requirement
165
+ requirements:
166
+ - - '>='
167
+ - !ruby/object:Gem::Version
168
+ version: '0'
169
+ requirements: []
170
+ rubyforge_project:
171
+ rubygems_version: 2.0.14.1
172
+ signing_key:
173
+ specification_version: 4
174
+ summary: A Danger plugin for linting Swift with SwiftLint.
175
+ test_files:
176
+ - spec/danger_plugin_spec.rb
177
+ - spec/fixtures/SwiftFile.swift
178
+ - spec/spec_helper.rb