• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Related projects and version control
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


  • Prev by Date: Re: Question about loading external image
  • Next by Date: Re: Objective C++ and ObjC exceptions
  • Previous by thread: Re: Question about loading external image
  • Next by thread: Re: Related projects and version control
  • Index(es):
    • Date
    • Thread