Related projects and version control
Related projects and version control
- Subject: Related projects and version control
- From: Loukas Kalenderidis <email@hidden>
- Date: Tue, 25 Sep 2007 12:49:15 +1000
Hey guys,
I'd like to get a feel for how people approach this problem. We have
a bunch of applications, some of which are still old CodeWarrior
projects that are soon to be rewritten in Cocoa. A lot of them share
the some of the same core functionality, and some of this
functionality needs configuration via pref panes. So, I've rewritten
one app in Cocoa that happens to encompass a lot of the shared
functionality and I've just factored some of it out into plugins and
frameworks.
Basically we have a set of individual Xcode projects looking
something like this.. names changed to more be more general:
Engine1.framework Classes to handle some stuff
Engine2.framework Other stuff
Plugins.framework Framework containing plugin architecture that is
used by all apps
DataProcessor.plugin A plugin to do some data processing
SomePrefPane.plugin A pref pane plugin
App1 Some app, links against all frameworks, loads all plugins
App2 Some other app, only needs Engine1 + Plugins frameworks, and
the SomePrefPane plugin
What is the way people would go about linking these projects? The
"official" way seems to be to have the relevant projects as
dependancies, so that to build App1 we build all the frameworks and
plugins, then use Copy Files build phases to put them in the right
place. That doesn't really work in some ways, consider the following
situation:
Developer 1 is working on App1 and needs to update some stuff in
Engine1 framework
Developer 2 needs to make a bug fix to App2
D2 wants to use the current STABLE version of Engine1 when they build
App2, rather than the version that's currently in development. Pretty
common version control problem I guess. So say we have all of these
projects in SCM.. how would you guys go about setting it all up?
Would you check out a copy of Engine1, put it in the project folder
with App1 and make it a dependancy?
Drop copies of the built frameworks into App1 project folder and link
against/copy those?
Something else?
We don't use any SCM at the moment. What I've been doing is building
the frameworks and dropping a copy of the build products into the app
project folders, linking against those. This is a bit annoying
because I want to use Debug versions of the frameworks for Debug
versions of the apps, etc. The other problem I've come across is that
I can't do the same thing with the .plugin bundles. If I drag them
into Xcode they appear as folders and I can't add them to the Copy
Files build phase, it only seems to work if I add the whole plugin
project as a dependancy and add the product of the project to the
copy files build phase.
I'm not even sure what I want to ask here, I really just want to know
how people set this stuff up. Can anybody shed some light on this topic?
Thanks
Loukas
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden