On Tue, Nov 1, 2011 at 1:57 AM, Tomasz Finc <tfinc(a)wikimedia.org> wrote:
Nice work Brion. If someone on this list wants to
pickup the iOS
porting then certainly pick it up as were likely not going to be able
to get to it for another month or so.
We can certainly help were needed but are in the
process of moving
from one vendor to the work to another :(
I'm thinking that we have a good chance to cleanup the various
platforms when we move this from github -> gerrit
How shall we organize this sanely once we get it moved?
There's probably two ways to handle this. No, three!
The first is the single-repo all-in-one option: this will be easiest to set
up I think!
Could re-lay out the directories something like:
www/... <- all the HTML/JS/CSS/images stuff
www/android/ <- Android-specific web assets (PhoneGap JS)
www/ios/ <- iOS-specific web assets
android/ <- build modified to import www/ into assets/www
It might be a good idea to separate out the platform-specific web assets
for each platform, so we're not shipping Android-specific phonegap.js on
iOS and vice-versa etc. But that might also make it a little harder to work
with the source.
Split variant might look like:
www/ <- all platform-independent assets
android/ <- build modified to pull in www/ as assets/www and android/js
android/js <- android-specific web assets
ios/js/ <- android-specific web assets
ios/Wikipedia-iOS.xcodeproj <- build modified to combine the www and js
The build systems would have to be retooled to combine the base www assets
and the platform-specific ones, which shouldn't be impossible in theory,
but is a little extra pain.
Third crazy possibility is to do the above, but also split them in separate
repos for the web core and the various platform-specific builds. You would
then either have to check them both out, or use something like submodules
to check out the generic web assets into the main project.
I suspect it's not worth the effort of separate repos for the number of
platforms we're going to see; it's not like MediaWiki extensions where
every one of them is a standalone unit.