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
>

Reply via email to