{"push_id":781461157,"size":1,"distinct_size":1,"ref":"refs/heads/jc-swiftlint-config","head":"f9870d10bd31fcfbd667bce203514091b7bd1408","before":"28305468c22b1ff9cad456f80c5a9b95d52b8a53","commits":[{"sha":"f9870d10bd31fcfbd667bce203514091b7bd1408","author":{"email":"6046e6a7d40cb1ce2dd3225f94385e7b654bd42f@gmail.com","name":"Jake Craige"},"message":"Add support for SwiftLint config\n\nWhy:\n\n* People want to be able to configure SwiftLint to their liking\n\nThis change addresses the need by:\n\n* Passing through the user config to Swiftlint\n* Creating `bin/hound-swiftlint` that we call to call out\n  to the swiftlint binary on the system.\n  - This allows us to run multiple shell commands without having\n    to type them all out in ruby.\n  - It also makes testing easier because we can make simpler assertions.\n* Dependency injecting a `SystemCall` so that we can swap it out\n  in test and not actually call the system\n\nAlso:\n\nWrite to disk instead of $STDIN when calling SwiftLint\n\n$STDIN is pretty limited and we needed to be able\nto give it a file name so that the `exclude` config\nworks properly.\n\nRather than implementing some sort of file naming\nAPI that would have to get merged into SwiftLint\nit was easier to write to disk and probably\nmore future proof because this is how people\nwill typically be using it.\n\nBecause reading from a path causes more clang\noutput I also improved the SwiftLint::Violation\nclass's regex to be able to determine if it is\nparsable to remove those lines from linted output.","distinct":true,"url":"https://api.github.com/repos/thoughtbot/hound-swift/commits/f9870d10bd31fcfbd667bce203514091b7bd1408"}]}