views:

57

answers:

2

On every project I've worked on, I have one or more tactical build tools. They do verification or checksumming or some specific build-time task. Often these tools are project-specific and written in the project's implementation language.

Q1. Do you have such tools? Is this a project-smell that I have these tools?

Q2. Where does the source for such tools belong, in the source control system? Not in source-source, and not in source-test. Do you keep a source-tools, which is built first?

+7  A: 
  1. Yes. Tools help automation. Automation is good. It leads you towards the worthy goal of automated continuous builds. It minimizes grunt-work. It minimizes errors. It keeps you sane.

  2. Depends on the tool. If it's project specific, I put it in a build/tools/ directory of the project tree. If it's a general tool, I keep a general repository.

Not a smell at all.

An Onion That is Red
+2  A: 

I do actually. If they are not mature enough (and most of them won't ever be) it's easier for me to keep them with the project. Properly maintaining a reusable library is more work for me.

I definitely keep them under source control. However, since they are not build very often I manage them manually and check the compiled files in too. And I'd reference the libraries from where they are checked out. I am not sure if it's worth the hassle to put them in with your automated build.

Maxwell Troy Milton King