I have several projects which use code from a larger set of libraries. These libraries are under source control.
The libraries repository contains all the libraries used by all my projects and contains multiple versions of multiple libraries. Each library/version pair lives in its own folder. Each of my projects identifies the specific library/version pairs it needs through the folder paths of the references in its project file.
I have been of course been able to configure my build plan to pull the libraries repository. So far so good. However, using the auto branch management feature, this setup means that the entire libraries repository is replicated for each branch in all projects.
Not funny. No, really, not funny...
What I would like to do is:
- pull the libraries repository in each build plan
- but pull it to a fixed location that is the same for all build plans
- it doesn't have to be an absolute path
- but it does need to be outside the working directory of the current build plan
Unfortunately the `Checkout Directory` of the `Source Code Checkout configuration` task doesn't allow me to specify either an absolute path or a relative one that goes "up" for one or more levels from the working dir. The hint text explicitly states "(Optional) Specify an alternative sub-directory to which the code will be checked out." And indeed, specifying something like `..\Library` gets punished with the message "Checkout to parent directory is forbidden".
What would be the easiest and least complicated way to achieve my goal?