In Part 1 we downloaded or built from source control. In Part 2 we added UppercuT to our project. In Part 3 we set up the UppercuT configuration. In Part 4 we updated our reference folders if we needed to. In Part 5 we built our code successfully. In Part 6, we checked into source control. In Part 7, we automatically ignored folders for SVN. What are the next steps to take advantage of the power of UppercuT?

The Power of UppercuT

UppercuT comes with many great features! You now have automated build goodness; why not take a look at what else you can do? Some of these features will help you better maintain your code or even do less work to get the same results.

VersionBuilder

VersionBuilder allows you to tie your DLLs back to both a build and a revision number in source control. A common problem many of us have is versioning our DLL assemblies and keeping track of what’s in production versus what’s in source control. If you rock with Subversion, UppercuT has this problem solved UppercuT automatically generates an assembly version file for you during build. All you need to do is hook every project up to it.

How much maintenance are you doing on configuration files? What happens when you have to update a configuration? You usually have to update it in multiple places. ConfigBuilder allows you to get away from that and only maintain a template file that looks just like the configuration file, but with pointers to environment variables.

How much maintenance are you doing on deployment batch files (if you use scripted deployments)? Would you rather maintain just one file? That is where DeploymentBuilder comes in. It allows you to maintain a template file in much the same way as ConfigBuilder.

Feedback

Thank you for this awsome build process. I have been delaying setting this up for a while now and you really made things easy. One issue I am having though. I followed all of your steps and everything builds fine, but I can't seem to get VersionBuilder working. I am using Subversion, have the AssemblyInfo.cs file added as linked file. (Fixed all build errors along the way). When I run build.bat I get the generated build_output / code_drop folders. If I look inside build_output and examine the dlls I would assume there version numbers would be updated, but all I get is 0.0.0.0 What am I doing wrong? Thanks

@Michael: When we have seen this happen, it's usually due to a mistake in the repository path.Take a look in the UppercuT.config at the repository.path property. Can you paste that value into a browser window and have it get anywhere?

If so, open a command line in the top level folder (where build.bat is) and type build >build.log.After it finishes open up the log and let me know what's going on in the assembly generation (pretty much at the start of the file).

@Michael: I use google code for some of my projects. I get TortoiseSVN to cache credentials by having it remember them. Another way is to open a command line in the folder and use it to commit changes. svn commit "message".We can talk more about this offline to get more details. Use the email address I sent you the other day.