realm / SwiftLint

A tool to enforce Swift style and conventions.
https://realm.github.io/SwiftLint
MIT License
18.65k stars 2.22k forks source link

Support custom reporters #42

Closed ajsait closed 9 years ago

ajsait commented 9 years ago

It would be cool if there will be a Jenkins integration

segiddins commented 9 years ago

@ajsait can you please give a bit more detail in what you're asking for?

ajsait commented 9 years ago

We want to use the SwiftLint in our Jenkins CI server. Currently it just generates something like this.

Finding Swift files in current directory... /Users/Shared/Jenkins/.jenkins/workspace/iOS-v3-Build/Foo/AppDelegate.swift:20: warning: Length Violation (Low Severity): Line should be 100 characters or less: currently 125 characters /Users/Shared/Jenkins/.jenkins/workspace/iOS-v3-Build/Foo/AppDelegate.swift:21: warning: Length Violation (Very Low Severity): Line should be 100 characters or less: currently 117 characters /Users/Shared/Jenkins/.jenkins/workspace/iOS-v3-Build/Foo/AppDelegate.swift:27: error: Length Violation (Very High Severity): Line should be 100 characters or less: currently 281 characters /Users/Shared/Jenkins/.jenkins/workspace/iOS-v3-Build/Foo/AppDelegate.swift:28: warning: Length Violation (Medium Severity): Line should be 100 characters or less: currently 151 characters /Users/Shared/Jenkins/.jenkins/workspace/iOS-v3-Build/Foo/AppDelegate.swift:32: error: Length Violation (High Severity): Line should be 100 characters or less: currently 214 characters /Users/Shared/Jenkins/.jenkins/workspace/iOS-v3-Build/Foo/AppDelegate.swift:33: warning: Length Violation (Low Severity): Line should be 100 characters or less: currently 137 characters /Users/Shared/Jenkins/.jenkins/workspace/iOS-v3-Build/Foo/AppDelegate.swift:37: warning: Length Violation (Medium Severity): Line should be 100 characters or less: currently 153 characters

It would be nice to have a much better report for SwiftLint, something like the one in Sonar.

neilpa commented 9 years ago

I think this boils down to supporting structured output - json, csv, etc.

jpsim commented 9 years ago

Indeed, supporting custom reporters would be great!

ajsait commented 9 years ago

A PMD XML report file output would also be ideal.

rompic commented 9 years ago

Would be perfect if sonar could be supported

jpsim commented 9 years ago

Could those of you who have requested support for custom report formats point to official documentation for the formats you need? I'll need a full spec of what "PMD XML" and "Sonar" output should look like.

jpsim commented 9 years ago

I've added the infrastructure necessary for this, along with new JSON and CSV reporters in #133.

I encourage those of you who have requested this feature to take a look at how it's done and let me know if it's on the right track.

dmytrol commented 8 years ago

I would certainly add XML reporting to the mix, primarily because TeamCity, for example, can handle a lot of XML-based formats, but, unfortunately, neither CSV nor JSON.

You can check out this page for more information: https://confluence.jetbrains.com/display/TCD9/XML+Report+Processing

jpsim commented 8 years ago

Thanks for the suggestion @dmytrol, I've created #277 to track that.