diff --git a/tools/framework-compile/bin/gen_cocos_simulator.py b/tools/framework-compile/bin/gen_cocos_simulator.py
index d08b0cbb01..08f0ce7e34 100755
--- a/tools/framework-compile/bin/gen_cocos_simulator.py
+++ b/tools/framework-compile/bin/gen_cocos_simulator.py
@@ -15,6 +15,7 @@ import string
import utils_cocos
+from datetime import date
from custom_error import Logging, CustomError
from argparse import ArgumentParser
@@ -300,6 +301,32 @@ class SimulatorCompiler(object):
for file_path in file_list:
self.replace_keyword_with_file(file_path, keyword)
+ def update_bundle_version(self):
+ build_date = date.today().strftime("%Y%m%d")
+
+ if utils_cocos.os_is_mac():
+ # mac
+ info_plist_path = os.path.join(self.simulator_abs_path, "frameworks/runtime-src/proj.ios_mac/mac/Info.plist")
+ info_plist_content = self.get_content_from_file(info_plist_path)
+
+ match = re.compile('CFBundleVersion(\s)*(.*?)').findall(info_plist_content)
+ if len(match):
+ build_date_tag = "%s" % match[0][1]
+ keyword_map = { build_date_tag : "%s" % build_date }
+ self.replace_keyword_with_file(info_plist_path, keyword_map)
+
+ if utils_cocos.os_is_win32():
+ # win32
+ game_rc_path = os.path.join(self.simulator_abs_path,"frameworks/runtime-src/proj.win32/game.rc")
+ game_rc_content = self.get_content_from_file(game_rc_path)
+ match = re.compile('"Version[^\(]*\(.*\)"').findall(game_rc_content)
+ if len(match):
+ build_info_str = match[0]
+ m = re.match(r'"(Version[^\(]*)\(.*\)', build_info_str)
+ target_str = '"%s(%s)"' % (m.group(1), build_date)
+ keyword_map = { build_info_str : target_str}
+ self.replace_keyword_with_file(game_rc_path,keyword_map)
+
def backup_files(self, files):
for f in files:
full_path = os.path.abspath(f)
@@ -330,9 +357,17 @@ class SimulatorCompiler(object):
# backup some files
modify_files = self.get_depend_project_file_list()
+ if utils_cocos.os_is_mac():
+ modify_files.append(os.path.join(self.simulator_abs_path, 'frameworks/runtime-src/proj.ios_mac/mac/Info.plist'))
+ elif utils_cocos.os_is_win32():
+ modify_files.append(os.path.join(self.simulator_abs_path, 'frameworks/runtime-src/proj.win32/game.rc'))
+
self.backup_files(modify_files)
try:
+ # modify bundle version
+ self.update_bundle_version()
+
# modify project config files
self.change_cocos2d_debug_macro_to_1(modify_files)