views:

30

answers:

1
<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?

+1  A: 

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

Benjamin Baumann
I can already see the nDepend results in my build reports. what I wanted to know is how I can make it point to where cc.net is already putting other artifact files by default. like the statistics and images that are part of it. I was hoping to discover some reserved properties that are defined in cc.net.
Maslow
If so, that is the second part of my answer. You need to specify your artifact directory in your nDepend task's outputDir parameter. That should do the trick.
Benjamin Baumann
For example in your block : nDependReportPath=$(CCNetArtifactDirectory).
Benjamin Baumann
Ok is your $(CCNetArtifactDirectory) something that is built in to ccnet or I would have to define it elsewhere? What I am seeing is that the buildLabel independent always append artifacts go to the artifact directory, and the buildLabel specific stuff goes into a sub-directory. I wanted to know how to target each depending on what I need. These files are getting there on their own by default, I want some files to do the same.
Maslow
I'm not really sure about what you want to achieve (english is not my mother tongue) but yes $(CCNetArtifactDirectory) is a built-in property from ccnet. See the end of : http://ccnetlive.thoughtworks.com/ccnet/doc/CCNET/Executable%20Task.html for the whole list of environment variables. What is sure is that the output of the nDepend task has nothing to do with ccnet. nDepend will put its output where you tell it to and ccnet will only merge the files but nor copy them.
Benjamin Baumann
+1 - that link is what I really wanted thanks!
Maslow
that location for the globally available ccnet variables list makes no sense to me at all, but at least I know where it is now.
Maslow
I digged deep to find it the first time. I edited my answer to put the link it could be useful.
Benjamin Baumann