Thanks for the quick response, but I don't think externals will work, because I don't want to change the structure of our source tree; doing so would force the developers to change the way they work, and one of my goals is to avoid that.
On Mon, Apr 21, 2008 at 1:28 PM, Billy Kimble <[EMAIL PROTECTED]> wrote: > You can probably use SVN externals to achieve what you want :) > > Structure: > > /project -> http://yourdomain.com/svn/project > /lib -> SVN External pointing to > http://yourdomain.com/svn/kits/lib201 > /config -> SVN External pointing to http://yourdomain.com/svn/kits/ > config991 > /docs -> SVN External pointing to http://yourdomain.com/svn/kits/ > docs2093 > > > In this scenario, if you add http://yourdomain.com/svn/project to > CC, it will trigger any time anything in ANY of the kits is > committed. If you add just the kit's svn repository location to CC, > it will only trigger for that particular kit. > > Does this help? > > Tag a kit and just add that kit to the repository, or > > > On Apr 21, 2008, at 1:20 PM, Eric Hanchrow wrote: > > > Naturally I want some sort of continuous integration system. But what > > makes my situation unusual is that what I want to build is structured > > in an unusual way, and it's not clear to me if CruiseControl.rb can > > gracefully handle that structure. > > > > I want to independently build half a dozen "projects", each of which > > (in CruiseControl.NET terms) is its own "queue". Each corresponds to > > one deliverable set of files. (One project represents our web site; > > another represents a Windows installer that we build ... etc). Now, > > those projects don't simply correspond to a single Subversion URL; > > instead, each is composed of a number of "kits", each of which has its > > own Subversion URL. We have about 50 separate kits; most are > > basically a bunch of C-sharp files and a .csproj file. Each kit > > typically depends on some others; the kits thus form a directed > > acyclic graph of dependencies. We have a tool that will build a kit, > > and all its dependencies; and will also check them out of Subversion > > if needed. I wrote this tool myself and am perfectly comfortable > > hacking it. > > > > For each project, I want CruiseControl.rb to monitor the bits of the > > subversion repository that correspond to the constituent kits, and > > trigger a build whenever anything changes in those bits. Note that > > this is not the same as monitoring the entire repository, since I > > don't want a change in an unrelated kit to trigger a build for this > > project; nor is it the same as monitoring just one kit, since the > > project depends on many kits. Our building tool already knows how to > > determine whether a kit needs to be updated, so I'm imagining that > > CruiseControl.rb would simply invoke the build tool as a subprocess. > > > > At first I thought I would be able to teach it to do this by suitable > > fiddling of the "SourceControl" class, but I quickly confused myself > > -- partly because I haven't yet figured out how CruiseControl.rb > > works, and partly because I barely know the fundamentals of Ruby. > > > > I also have a very vague suspicion that, fundamentally, > > CruiseControl.rb assumes that there's a one-to-one-to-one > > correspondence between projects, Subversion URLs, and working copies; > > and that I'd need to change that assumption in order to get things > > working the way I want. > > > > Anyway: does sound doable -- for someone who's a decent programmer but > > new to Ruby -- and if so, do you have any advice on how to start? > > _______________________________________________ > > Cruisecontrolrb-users mailing list > > [email protected] > > http://rubyforge.org/mailman/listinfo/cruisecontrolrb-users > > > > -- > > This message has been scanned for viruses and > > dangerous content by MailScanner, and is > > believed to be clean. > > > -- > This message has been scanned for viruses and > dangerous content by MailScanner, and is > believed to be clean. > > _______________________________________________ > Cruisecontrolrb-users mailing list > [email protected] > http://rubyforge.org/mailman/listinfo/cruisecontrolrb-users > _______________________________________________ Cruisecontrolrb-users mailing list [email protected] http://rubyforge.org/mailman/listinfo/cruisecontrolrb-users
