Motivation
I don't like having a single large file for a TeamCity project, which is the
default when exporting a project. It violates the Single Responsibility
Principle (SRP). For maintenance, I would rather find each element of interest
— whether a sub-project, template, build step, or vcs root — in its
own small file, so that I don't have to hunt inside a large file. And I would
rather add new files than modify existing ones.
Is This a Good Idea?
This note about non-portable
DSL
explains the basic structure when you want to use multiple files. And yet I
never noticed it while hunting in detail for help on this topic a week ago; only just
stumbled on it while writing this blog piece. It seems to imply that using
multiple files is "non-portable," but apparently I have been using the
portable DSL: "The portable format does not require specifying the uuid", which
I've not been doing.
There is a small risk that I could do something drastic and lose my build
history without a uuid. Since I also have server backups, I'm not too worried.
And in all of my experiments I've not been able to find any problems with this
approach so far.