Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Modern Build tool suitable for Visual Studio MSBuild [closed]

I'm new to build automation and Continuous Integration, but have done extensive research on the subject.

First the question: assuming I have an unmanaged Visual C++ .sln file, and that I can build it with MsBuild, which modern build tool should I pick which allows me to easily perform pre/post build steps?

I dont want "old" build tool like Ant, Nant, make, with its XML mess. I want something that can allow me to express freely what I want to do in a human-readble manner. Based on my research, it seems Waf, Scons, and Rake might fit the bill.

Background of my environment: My source control is Subversion. My unit test framework is GoogleTest which produces JUnit-compatible XML files. I picked JIRA for my tracking tool. I picked TeamCity for my CI server. I use Visual Build to build my .sln file.

I want to be able to write a simple build script (callable from my CI server) that would:

1) Create a CI server workspace directory.
2) Check out code from SVN. (my repos is setup to use svn:externals to pull dependencies from my other repository)
3) Run Visual Build build file to build all projects/platforms combination in .sln.
4) Run static code analysis / dynamic code analysis tools
5) Gather results from MsBuild (whether compile fail, static/dynamic code analysis warnings, or unit test fail, etc) for CI server
6) CI server logs this and also links it to JIRA.

like image 633
sivabudh Avatar asked Dec 22 '22 12:12

sivabudh


2 Answers

Along with compiling code, Visual Build can be used to pull source and run your analysis tools (and has a nice GUI which lets you hide any "xml mess".) Your CI server should have a method for integrating external logs into a build.

like image 167
Pedro Avatar answered Dec 26 '22 10:12

Pedro


Hudson the Java build tool has a MSBuild and Nant plugin. Plugins are also available include fxcop and some of the funny unit testing libs you c# guys use.

I would say its the best free one available on the market. It can also invoke command line apps etc

http://wiki.hudson-ci.org/display/HUDSON/Installation+and+Execution Karl

like image 36
Karl Avatar answered Dec 26 '22 12:12

Karl