build script - add optional preBuild and postBuild settings, to allow one or more additional commands to be executed as part of a build.

could be used to copy builds to a web server, copy additional files (E.g. .htaccess), trigger browser refresh, etc
This commit is contained in:
Jon Atkins 2013-05-03 19:49:12 +01:00
parent fb90f9139c
commit 530c3cecf1
2 changed files with 19 additions and 0 deletions

View File

@ -168,6 +168,11 @@ else:
os.makedirs(outDir) os.makedirs(outDir)
# run any preBuild commands
for cmd in settings.get('preBuild',[]):
os.system ( cmd )
# load main.js, parse, and create main total-conversion-build.user.js # load main.js, parse, and create main total-conversion-build.user.js
main = readfile('main.js') main = readfile('main.js')
@ -242,4 +247,9 @@ if buildMobile:
shutil.copy("mobile/bin/IITC_Mobile-%s.apk" % buildMobile, os.path.join(outDir,"IITC_Mobile-%s.apk" % buildMobile) ) shutil.copy("mobile/bin/IITC_Mobile-%s.apk" % buildMobile, os.path.join(outDir,"IITC_Mobile-%s.apk" % buildMobile) )
# run any postBuild commands
for cmd in settings.get('postBuild',[]):
os.system ( cmd )
# vim: ai si ts=4 sw=4 sts=4 et # vim: ai si ts=4 sw=4 sts=4 et

View File

@ -2,6 +2,14 @@
# if you want to have custom builds, copy this file to "localbuildsettings.py" and make changes there. # if you want to have custom builds, copy this file to "localbuildsettings.py" and make changes there.
# possible fields:
# resourceBaseUrl - optional - the URL base for external resources (all resources embedded in standard IITC)
# distUrlBase - optional - the base URL to use for update checks
# buildMobild - optional - if set, mobild builds are built with 'ant'. requires the Android SDK and appropriate mobile/local.properties file configured
# preBuild - optional - an array of strings to run as commands, via os.system, before building the scripts
# postBuild - optional - an array of string to run as commands, via os.system, after all builds are complete
buildSettings = { buildSettings = {
# local: use this build if you're not modifying external resources # local: use this build if you're not modifying external resources
# no external resources allowed - they're not needed any more # no external resources allowed - they're not needed any more
@ -40,6 +48,7 @@ buildSettings = {
} }
# defaultBuild - the name of the default build to use if none is specified on the build.py command line # defaultBuild - the name of the default build to use if none is specified on the build.py command line
# (in here as an example - it only works in localbuildsettings.py) # (in here as an example - it only works in localbuildsettings.py)
#defaultBuild = 'local' #defaultBuild = 'local'