Hi, we have a project that is quite large and the build has a primary solution and several projects that are dependencies and seperate builds.
so in svn we have
i only need to pull down proj a, d,e,f, MainProject and references to build. My nant script that we tell to build Mainproject.sln will build the other 4 projects as dependencies.
What is the best way for me to pull down just the code I want?
so that I have
and the fire off the Nant script.
You could either set up a separate directory in your SVN repository with externals and use it for plan repository or set up just proja as source repository and checkout other directories with a script task.
Obviously, these are just workarounds - Bamboo 3.3 with native support for multiple repositories (so, exactly what you need) will be out within a month.
Support for Multiple Repositories aside... how do you keep sanity in such a project??! :)
Your build has so many places where things can go wrong. So many dependencies. Are all these depedencies worked on by the same team or different ones?
Clearly defined Producer<->Consumer relationships are a good way to ensure builds are reliable.
BigProjectFoo that depends on componentsA-F should always know what version of these components it's using. BigProjectFoo should make the decision about when to move to a different version of componentC or componentD.
I would have separate builds for Components A thru F. Make sure those are always green.
Then have a 'stable' build of BigProjectFoo with 'release' versions of the components. And maybe a 'latest' build of BigProjectFoo that integrates the latest builds from the component dependencies to identify integration problems early.
All of these you can do through artifact sharing and svn:externals.
Just my .02 as a build engineer...
I think your not understanding the scenario completely.
When we have a svn source tree that has 40 projects under it for the Application set and I only need to pull down 5 of these projects for a particular build, why not pull down just the 5 projects? We dont need the other 35 since it causes more disk space to be used and makes the build take longer.
In addition we have these seperate projects as standalone projects since they are REUSED by other projects. Therefore when we pull down code we need to build these dependencies as well.
Over the next several weeks we'll be sharing some of our Getting Started guides here in the community. Throughout this series of posts, we'd love to hear from customers and non-customers ab...
Connect with like-minded Atlassian users at free events near you!Find a group
Connect with like-minded Atlassian users at free events near you!
Unfortunately there are no AUG chapters near you at the moment.Start an AUG
You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs