CodeStore - Part 4 of n (Refactoring, Hudson CI Tool)

Although there is not much in this project yet but I think there are few things that can be improved before moving ahead.

 

Moving castle configuration from the App.config file to its own file:

 

This is to remove the noise in the main application configuration file and it is as simple as extracting the castle configuration items into another file and passing that file name in the WindsorContainer constructor.

 

 

Abstract IOC container:

 

It is a good idea to abstract dependencies and therefore the reason of DI containers. But what about the DI container itself. One way to do this is to abstract it behind a separate class IOC.cs

 

 

Moving the engine implementation into a separate namespace.

 

 

Using Hudson as a Continuous Tool:

 

I have used CC.NET before and I remember that it wasn't a smooth setup. So for this project, I've decided to try Hudson.

 

Hudson is built on Java but it is extremely easy to setup and the .NET plugins for MsBuild, Nant, Nunit and support for running batch files makes it a viable alternate to CC.NET.  I found an excellent tutorial (http://redsolo.blogspot.com/2008/04/guide-to-building-net-projects-using.html) on setting up Hudson for .NET projects and believe me, it just works. 

 

Once I completed the setup, the hudson dashboard looks like this. I've also checked in the configuration file that I used for this project.

 

 

Source: http://code.google.com/p/code-store/

 

Conclusion:

In this post, I've done some small refactoring on the project structure and then used Hudson as a CI tool. In the next post, I'll start putting in more functionality into the project.

No Comments