Provide a TeamCity plugin
Provide a TeamCity plugin to integrate NDepend analysis and gather NDepend code metrics from TeamCity.
We just released NDepend v6 that now proposes a built-in TeamCity v8, v9 plugin.
We have great hope this plugin will fulfill all users expectations, see the associated documentation here with a 7 minutes video overview: http://www.ndepend.com/docs/teamcity-integration-ndepend
We are about to propose this plugin to the Jetbrains TC plugin contest, your vote will be welcome :)
You can download v6 Release Candidate 1 to try it.
Your feedback at email@example.com will be more than welcome.
You can also re-use your NDepend UserVoice votes for further feature request!
@Wes @patrick, do you have any update on this feature?
It probably goes without saying that both the Web Dashboard and the ndpend project output should be available as artifacts.
@Wes, thanks for your questions and your proposals
- yes when I mentioned "new errors only" it was in reference to the Code Inspections tab where FxCop issues are shown.
Our use case scenario is a remote run where we want to avoid creating any technical debt and quickly figuring out what kind of issues are detected.
Ideally we would like to have 2 kinds of rules set, one for remote run and the other for the nightly build. For instance all NDepend rules related to the code coverage could not be used in our remote run because our coverage measurement is to slow to be integrated in a remote run context. But it can perfectly fits in a nightly build context.
- On your second point about a VS solution and excludes some assemblies
It could be a good candidate solution, I mentioned this solution because we do use this for the other tools and it is a solution that works fine for us. The idea is to be able to exclude assemblies with a pattern.
@Arnaud when you say "new errors only" are you referring to the Code Inspections tab where FxCop issues are shown?
@Arnaud if the new build step took a VS solution file and scanned it for assemblies, and then let you exclude assemblies, would that work?
@Anonymous if rule violations showed in the Code Inspection tab (like FxCop and ReSharper inspections), would that be what you have in mind?
We are currently using NDepend in a "BinaryCodeHealth" like configuration.
We execute a command line %env.NDepend%\NDepend.Console.exe %NDependProject%
We collect the acterfacts and add the NDepend report into the TeamCity Report Tab.
Last, we have defined a TC rule that break the remote run if any NDepend rule breaks (based on an exit code -1).
The way I would like the integration could be to mimic the FxCop integration given by JetBrains.
To be able to define in the settings:
- a file that contains the set of rule,
- a pattern for including/excluding assemblies to analyze
And it will be great to have also
- a native TC statistic on the number of total issues
This functionality could be very helpful to define a nice build failure condition and have some graph within TC in addition to those available in NDepend. On our TC statistics page we have an overview of all trends of our different quality tools.
- have a "new errors only" filter
@Dru Does integrating the NDepend report in the TC, (the report contains Trend Chart) isn't enough?
IMHO, there are two important topics:
- check for rules violation(s) (CQL or up), and stop the build accordingly. And warning should be included in the build log and displayed on his own tab in the build page.
- A comparison made with NDepend comparison feature. Ideally with a parameter inside the build step to compare with last successful build, a pined build, a specific build, etc.
Dru Sellers commented
One thing I would be very interested to see is 'trend' data. Over the course of several months is my code getting better or worse?
Hi everyone, I'm helping Patrick create the plugin. How would you like to use NDepend with TeamCity to improve your development process?