Build Script

2 views
Skip to first unread message

David Laribee

unread,
Jan 8, 2008, 9:49:05 AM1/8/08
to xe...@googlegroups.com
Turns out that msbuild confuses me, so I added a nant script that shells out to msbuild for compile.

{project-dir}\build\scripts\default.build

It doesn't run the specifications as of yet but it does place "production outputs" in a convenient location:

{project-dir}\build\package\

Bil & Kyle, how do you guys run NUnit/NCover in msbuild/ccnet? Do you? I've been using the kiwi dude tasks but is there something better out there?

/ Dave

http://thebeelog.com

Bil Simser

unread,
Jan 8, 2008, 11:24:41 AM1/8/08
to xeva
MSBuild is whacked. Just doing a simple dependency requires you to
setup all kinds of crazy tags and MS weirdness. I avoid it like the
plague.

I built a fairly sophisticated (well IMHO anyway) set of nant scripts
for our projects and I'm just refactoring it today (moving all the
common stuff out into a base build script, renaming targets and
properties so they sound better, etc.).

There's a few approaches to building using nant vs msbuild. You can
run csc targets and just compile the code into whatever assembly you
want. This is my preference as it gets rid of having to deal with how
you structure the projects in the IDE/solution, however sometimes it
requires you to expose an assembly to the tests (via the VisibleTo
attribute) and do some NAnt magic changing that value to an assembly
name that only exists in the solution during a ccnet compile. The
other option is to feed msbuild.exe a .sln file. This is pretty easy
but it requires the solution to be setup with the right dependencies,
assemblies will get dumped in the typical bin\Debug or bin\Release
folders (unless you have them point to a single location, which is
what I sometimes do). There's a new(er) msbuild task that will work
with 2005 but it requires an msubild file (all .sln and .csproj files
are anyways) and you can just run msbuild.exe just as easily.

We're dropping NCover on Tree Surgeon (only for 2008 projects) because
it's gone commercial. They do offer free licenses for open source
projects so you could get one but I'm not sure if that's appropriate.
Since xeva is a framework you expect others to use (rather than a
tool) consumers would need to have a copy of the dependencies and the
NCover license won't transfer like that. That's why I'm ditching it
for Tree Surgeon because I don't want to make it generate a solution
that requires the consumer to purchase some product. It would be no
different than to include a copy of say DevExpress in the solution
tree for the Windows UI. Your call on whether or not you want to
include the newest version in xeva. I'm sure you could get a copy.

Having said that, it's built on 2005 so you could use the latest
version of NCover (1.5.8) along with NCover.Explorer. That's what I
have setup on our projects. We run the xunit console through
NCover.Explorer after running NCover to generate the coverage stats. I
can take a look at updating the xeva build script to make it a little
more elegant and flexible tonight and submit a patch.

Bil The NAnt Master Simser

Bil Simser

unread,
Feb 26, 2008, 10:58:46 PM2/26/08
to xeva
I'm now looking at PartCover for TreeSurgeon and I'll look at updating
the build script in xeva to call out to it for code coverage and
testing.

Can we get a CC.NET server setup somewhere? I can get one going if you
don't have something available. Would be good to have builds
automatically going as well as publishing out the specs via cruise.

On Jan 8, 7:49 am, "David Laribee" <da...@laribee.com> wrote:

David Laribee

unread,
Feb 26, 2008, 11:01:42 PM2/26/08
to xe...@googlegroups.com
we use an internal build server. there's a raw nant script (should be) in build/script.

i think we're going to move our development box to a colo situation at some point in which case we can definitely publicize the ccnet. it's been slow going with xeva-fx as we're trying to get xeva out the door by 4/1

whatever you want to do is fine. if you have a slice setup somewhere, and are willing to host a ccnet instance, that'd be totally awesome.
--


/ Dave

http://thebeelog.com

Kyle Baley

unread,
Feb 27, 2008, 9:08:32 AM2/27/08
to xe...@googlegroups.com
I've got one on my server. But I haven't figured out how to secure it except for the web dashboard. If someone can elucidate me on how to avoid random people pointing CCTray to it and forcing builds, it's available.

David Laribee

unread,
Feb 27, 2008, 2:46:34 PM2/27/08
to xe...@googlegroups.com
what do you guys use for windows colo/dedicated/slices? or do you just have a router and a hole puncher?

Kyle Baley

unread,
Feb 27, 2008, 3:06:32 PM2/27/08
to xe...@googlegroups.com
Mine's a dedicated server on GoDaddy that I don't tax too much. At least now that I've removed SharePoint.

Assuming the question translated as "where do you host your stuff?" The only thing "colo" is to me is the first four letters of a word I'd prefer left unsaid.

Bil Simser

unread,
Feb 27, 2008, 8:39:38 PM2/27/08
to xe...@googlegroups.com

Mine is on my own dedicated server with Canada Web Hosting (and I *do* have SharePoint installed).

Laribee

unread,
Feb 27, 2008, 11:08:59 PM2/27/08
to xe...@googlegroups.com
Say it loud, say it proud: I have SharePoint installed :)
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "xeva" group.
To post to this group, send email to xe
Reply all
Reply to author
Forward
0 new messages