HELP! Multiple Trunks with Relative Paths

Please help.  I am going insane!

How can I force TeamCity to checkout multiple trunks to very specific individual paths and then compile one solution from a separate trunk?  For example...

RESOURCE TRUNKS NEEDED:

D:\Source\Frameworks\Common\trunk

D:\Source\Frameworks\FileManagement\trunk



MAIN TRUNK NEEDED

D:\Source\Platforms\SuperCoolProduct\trunk



SOLUTION FILE TO COMPILE:
D:\Source\Platforms\SuperCoolProduct\trunk\Solutions\SuperCoolProduct.sln


IMPORTANT:
I don't care about the "D:\Source" prefix but everything after that matters ("Frameworks\...", "Platforms\...", etc.).

My company has about 40 different trunks... approximately 30 are individual / silo'ed "frameworks" that are isolated to themselves... the other 10 are individual / silo'ed "platforms" that LEVERAGE multiple frameworks depending on the needs of the platform.  Everything is linked together using PROJECT REFERENCES relative paths in Visual Studio from one trunk to the other.  For example, our "Common" and "FileManagement" frameworks each have their own trunk.  Our "SuperCoolProduct" platform has one solution file and then PROJECT REFERENCES back to the specific projects that it needs from each of the the other frameworks' trunks.

I have been searching Google and trying scenarios for about two days now.  Maybe I'm too much of a noob to know what terms to use.  I can set the Version Control Settings for an indiviual VCS root but the Checkout Directory overrides that for the mast solution.  In the end, nothing works.

I will be eternally grateful for whoever can end my suffering.

- G. Deward
2 comments
Comment actions Permalink

This is resolved.  Since all of the trunks are in the same repository, I'm pulling everything out from a few levels up.  This ensures all projects are available.

0
Comment actions Permalink

Multiple VCS roots can be specified in the build configuration, so even if the sources are stored in different repositories, you can checkout them together within a single build.
Additionally, checkout rules can be used to put the files to alternate locations.

Also when all the sources are within the same repository, you may be interested in exclusionary rules - in some configurations they may speed the build up.

0

Please sign in to leave a comment.