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?
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.
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.