Sweet. Thanks. I was about to ask if this was possible. Scott
On Fri, Jan 23, 2009 at 1:53 PM, Ruben Willems <[email protected]>wrote: > Hi > > you can use the CCNetLabel, it is passed via the integration properties. > http://confluence.public.thoughtworks.org/display/CCNET/MsBuild+Task > > So the build number generated by CCNet will be passed to msbuild, > and msbuild can create an assembly info . > > > with kind regards > Ruben Willems > > > On Fri, Jan 23, 2009 at 5:18 PM, Scott Vickery <[email protected]>wrote: > >> Hey folks, another hopefully quick question. >> >> I am successfully calling MSbuild from CC.NEt to build my solution. >> MSbuild is building a version string that looks something like <hard code >> major version>.<hard code minor version>.<build date>.<subversion revision >> number> and writing it out to a shared AssemblyInfo.cs. I would like to use >> that same version string as my build label. Can I pass this version string >> from MSbuild back to CC.Net and use in a labeller block? Or, has the build >> already been labeled by the time CC.Net get to the <tasks> block? >> >> Alternatively, can I build that same string in CC.Net and pass it to >> MSBuild? >> >> I am also using NAnt. Perhaps the solution is to build this string in >> NAnt and pass it back to CC.Net and use it as a the build label and pass it >> to MSbuild to use in the AssemblyInfo. If this is a better solution, how do >> I go about passing parameters from NAnt back to CC.Net? >> >> Thanks for the help. I am new to CC.Net, NAnt and MSBuild. I have always >> written shell scripts to do this. Figured I would try to catch up with the >> rest of the world ;) >> >> The CC.Net task to call MSbuild looks something like this: >> <tasks> >> <!-- ... --> >> >> <msbuild> >> >> <executable>c:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe</executable> >> <workingDirectory></workingDirectory> >> <projectFile>.\Build\someProject.msbuild</projectFile> >> <targets>Compile</targets> >> <timeout>300</timeout> >> <logger>C:\Program >> Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll</logger> >> </msbuild> >> </tasks> >> >> And, my MSbuild task to build the version looks something like this: >> <Target Name="Version"> >> <Version BuildType="Automatic" >> RevisionType="Automatic" >> StartDate="01/01/2009" >> Major="3" Minor="1"> >> <Output TaskParameter="Major" PropertyName="Major" /> >> <Output TaskParameter="Minor" PropertyName="Minor" /> >> </Version> >> <Time Format="MMddy"> >> <Output TaskParameter="FormattedTime" PropertyName="buildDate" >> /> >> </Time> >> >> <!-- MSBuild.Community.Tasks to get the svn revision --> >> <SvnVersion LocalPath="." ToolPath="c:\program files\SlikSvn\bin"> >> <Output TaskParameter="Revision" PropertyName="Revision" /> >> </SvnVersion> >> >> <AssemblyInfo CodeLanguage="CS" >> OutputFile="..\SharedAssemblyLocation\AssemblyInfo.cs" >> AssemblyCopyright="Some copyright" >> AssemblyCompany="Some company string" >> AssemblyVersion="$(Major).$(Minor).$(buildDate).$(Revision)" >> >> AssemblyFileVersion="$(Major).$(Minor).$(buildDate).$(Revision)"/> >> <Message Text="Version: >> $(Major).$(Minor).$(buildDate).$(Revision)"/> >> >> <!-- MSBuild.Community.Tasks to commit the change for others to >> see --> >> <SvnCommit Targets="..\SharedAssemblyLocation\AssemblyInfo.cs" >> Username="<username>" >> Password="<password?" >> Message="Autocommit from build"/> >> </Target> >> >> Scott >> > >
