I'm a strong believer that when developing an application, your main source tree should contain everything that is required to build and run the application. Getting up and running should be as simple as getting the latest version of the code from the repository, running a build and that should be it.
Yes, i am aware of the pragmatism of real world always means there are exceptions.. but i still believe this should be the ideal.
In order to achieve this ability, most projects I've been involved in use the concept of a tools or lib folder at the root of your source tree. These folders contain external dependencies needed by your project in order to build/test/deploy the application.
For example:
projectname
|---trunk
|------- db
|------- docs
|------- src
|------- tools
|----------- nant
|----------- nunit
|----------- nmock2
This works great...except when you have to use Microsoft related technology tool.
95% of Microsoft tools I've attempted to use still have a dependency on an MSI needing to magically install something somewhere to make it work. Which, pardon my french, is crap.
For example... I had a small requirement that the ASP.NET AJAX framework appeared to solve quit nicely. Seemed as simple as adding one line to an aspx page would have done the trick. Plus its an AJAX framework, should be simple to add to the tools folder, add a reference, build and deploy it out.
Nope.
First you have to run an installer, then you have to download and extract another zip file... then you have to repeat on any machine hosting the web application. And have the rest of your team do the same the next time they get the latest version of the code. Crap.
Am i alone in my frustrations of how Microsoft suffers from severe "Installitis" with their developer tools??
Tuesday, September 11
Subscribe to:
Posts (Atom)