Build Script for corona

We've been developing with Corona for about 4 months now and it's been a huge success for us.

We are now at a stage where we have 3 games published on 3 different markets and are already starting to see the fruits from our hard work (which was made easier thanks to Corona :)), But this is all a subject for a different post...

We would like to have an automated way to build for all devices a version of an app. For each game we have also a free version with some of the logic disabled in our code and less resources. It also has a different set of icons, and of course a different app id in the stores.

Among all our games we share a module that deals with all the market links (buy full version, rate, more games) and the structure of the game projects is almost identical.

We've written a python script that takes the project folder and generates separate production release folders for each product, free and full and for each platform so once we run this on game XXX project folder we get 6 new folders:
XXX_FULL for android, amazon and apple
XXX_FREE for android, amazon and apple

The script alters 3 variables in appConfig.lua file: IS_FULL_VERSION, APP_ID, and MARKET (which is "amazon", "google" or "apple")

this is all the difference between the versions (that and the amount of resources reduced for the free versions, for that we maintain a text file that lists all the resources the free version needs)

We also use Subversion and we noticed that in the iOS build process Corona/Xcode embedded in our executables the ".svn" hidden folder (each folder in our project contains it, this is something internal to SVN). This caused the executable to be more than twice bigger because that folder contains historical versions of our binary resources which get included in the distribution. We noticed this as we saw the Android dist was 17MB and on apple it got to 45MB and was growing without us adding more resources. So our build script also ignores hidden folders. You can actually see the Xcode build process injecting those folders in the terminal window during the build.

And only now I'm getting to my point:
The only missing part is to actually build these 6 folders and create .app/.apk files for each one with a certain naming convention. Is there any way to automate the simulator for building an app, giving it all the needed parameters through command line parameters? we would like the last step of the script to actually run the builds and create the files. We would also want to generate a daily build in this manner for testers to use (we submit all executables to a shared DropBox folder that we all use for this purpose)

views:2042 update:2012/2/7 8:40:54
corona forums © 2003-2011