From 6e7135fb35047d15977235bd7979152da1a0e6ce Mon Sep 17 00:00:00 2001 From: Rustam Zaitov Date: Mon, 30 Sep 2013 10:24:54 +0400 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=B2=D0=BE=D0=B7=D0=BC=D0=BE=D0=B6=D0=BD=D0=BE=D1=81=D1=82?= =?UTF-8?q?=D1=8C=20=D0=BF=D1=83=D0=B1=D0=BB=D0=B8=D0=BA=D0=B0=D1=86=D0=B8?= =?UTF-8?q?=D0=B8=20=D0=B2=20testflight?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/build.py | 12 +++++++++++- scripts/post_build.py | 14 +++++++++++++- scripts/settings.py | 4 +++- 3 files changed, 27 insertions(+), 3 deletions(-) diff --git a/scripts/build.py b/scripts/build.py index 5c40099..a80dd2e 100644 --- a/scripts/build.py +++ b/scripts/build.py @@ -1,4 +1,5 @@ import os +import imp import settings import instruments @@ -42,4 +43,13 @@ for bc in build_ready_configs: instruments.BuildSolution(bc['mdtool'], sln_path, bc['sln_config']) instruments.CreateOrRestoreFromBackup(sln_dir, bc['files_for_backup']) - instruments.DeleteBackups(sln_dir, bc['files_for_backup']) \ No newline at end of file + instruments.DeleteBackups(sln_dir, bc['files_for_backup']) + + if 'post_build_file' in bc and 'post_build_actions' in bc: + path_to_script = bc['post_build_file'] + module_name = os.path.splitext(os.path.basename(path_to_script))[0] + post_build = imp.load_source(module_name, path_to_script) + + for func_name in bc['post_build_actions']: + func = getattr(post_build, func_name) + func(bc) \ No newline at end of file diff --git a/scripts/post_build.py b/scripts/post_build.py index d081cb1..c225782 100644 --- a/scripts/post_build.py +++ b/scripts/post_build.py @@ -1,8 +1,20 @@ +from subprocess import call +import os import testflight def PublishToTestFlight(config): + sln_path = config['sln_path'] + sln_dir = os.path.dirname(sln_path) + cmd_text_pattern = "curl http://testflightapp.com/api/builds.json -F file=@'{0}' -F api_token='{1}' -F team_token='{2}' -F notes='This build was uploaded via the upload API'" - cmd_text = cmd_text_pattern.format(config['']) + ipa_rel_path = 'BuildSample/bin/iPhone/Release/BuildSample-{0}.ipa'.format(config['version']) + ipa_abs_path = os.path.join(sln_dir, ipa_rel_path) + + api_token = config['api_token'] + team_token = config['team_token'] + cmd_text = cmd_text_pattern.format(ipa_abs_path, api_token, team_token) + + ret_code = call(cmd_text, shell=True) def PrintToConsole(config): print 'Sample post build action!' \ No newline at end of file diff --git a/scripts/settings.py b/scripts/settings.py index b1f628d..6cede79 100644 --- a/scripts/settings.py +++ b/scripts/settings.py @@ -10,6 +10,8 @@ build_root = { ios_root = { 'sln_path' : '/Users/rzaitov/Documents/Apps/BuildScript/BuildSample/BuildSample.sln', + 'api_token': '0e6925075d4fc10fed0e7bbf43fa6894_NjQ0OTI2MjAxMi0wOS0yNSAxMTo0MDozNi40OTY5MjU', + 'team_token': 'c5c3cf7a6dae2bea4382dfbd181a2075_Mjc4ODkwMjAxMy0wOS0yOSAxNDowOTo1OC40Mzg5MTY', 'parent' : build_root } @@ -19,7 +21,7 @@ ios_development_root = { 'info_plist_rel_path': 'BuildSample/Info.plist', 'post_build_file': 'post_build.py', - 'post_build_actions' : ['PublishToTestFlight', 'PrintToConsole'], + 'post_build_actions' : ['PrintToConsole', 'PublishToTestFlight'], 'patch': patch.PathcIos, 'parent': ios_root