How do I direct nDepend output into the artifacts folder on CruiseControl.Net?
-
26-09-2019 - |
문제
<cb:define subversionpath="c:\Program Files\Subversion\bin\svn.exe"
msbuild4="C:\WINNT\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe"
msbuild35="C:\WINNT\Microsoft.NET\Framework\v3.5\MSBuild.exe"
nDependPath="C:\Progra~1\NDepend"
standardlogger="ThoughtWorks.CruiseControl.MsBuild.XmlLogger,C:\Program Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll"
nDependReportPath="C:\app\NDepend\NDependOut"
CCNetDisplayedReport="SymbolCCByGroup"
/>
inside a project I have the following
<ndepend>
<project>d:\ccnet\app.ndproj</project>
<executable>$(nDependPath)\Ndepend.Console.exe</executable>
<outputDir>$(nDependReportPath)</outputDir>
<inputDirs>
<inputDir>c:\bin\app</inputDir>
<inputDir>c:\bin\app\_PublishedWebsites\bin</inputDir>
</inputDirs>
<emitXml>true</emitXml>
<publish>true</publish>
</ndepend>
but I would like the outputDir to be the ccnet artifactsfolder/buildlabel, how would I do that or is it the default if I remove what I have?
해결책
To see your NDepend result in your build log you have to manually merge the output files from ndepend and your build log, you'll have to add an xsl transform to your dashboard.config and ccnetservice.exe.config files as it is said in : http://confluence.public.thoughtworks.org/display/CCNET/Using+CruiseControl.NET+with+NDepend
If, wether merging or not, you want your ndepend output to be in artifact directory, you can specify it in the ouputDir filed $(nDependReportPath) in your case. THe whole doc is here : http://confluence.public.thoughtworks.org/display/CCNET/NDepend+Task
The ccnet environment variables list can be found here (at the end of page) : http://ccnetlive.thoughtworks.com/ccnet/doc/CCNET/Executable%20Task.html