Skip to content

Commit b544290

Browse files
author
minggo
committed
Merge pull request cocos2d#169 from natural-law/develop
Modify the compile command to be compatible with the projects created by Cocos.
2 parents 37079b7 + 1ad02ec commit b544290

File tree

2 files changed

+25
-2
lines changed

2 files changed

+25
-2
lines changed

plugins/project_compile/build_android.py

+7-1
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,13 @@ def do_ndk_build(self, ndk_build_param, build_mode):
153153
reload(sys)
154154
sys.setdefaultencoding('utf8')
155155
ndk_path = os.path.join(ndk_root, "ndk-build")
156-
module_paths = [os.path.join(app_android_root, path) for path in self.ndk_module_paths]
156+
157+
module_paths = []
158+
for cfg_path in self.ndk_module_paths:
159+
if cfg_path.find("${ENGINE_ROOT}") >= 0:
160+
module_paths.append(cfg_path.replace("${ENGINE_ROOT}", cocos_root))
161+
else:
162+
module_paths.append(os.path.join(app_android_root, cfg_path))
157163

158164
# delete template static and dynamic files
159165
obj_local_dir = os.path.join(self.app_android_root, "obj", "local")

plugins/project_compile/project_compile.py

+18-1
Original file line numberDiff line numberDiff line change
@@ -351,6 +351,7 @@ def build_android(self):
351351
return
352352

353353
project_dir = self._project.get_project_dir()
354+
project_android_dir = self._platforms.project_path()
354355
build_mode = self._mode
355356
output_dir = self._output_dir
356357
if self._project._is_script_project():
@@ -361,10 +362,26 @@ def build_android(self):
361362
else:
362363
cocos_root = os.path.join(project_dir, 'cocos2d')
363364

365+
if not os.path.exists(cocos_root):
366+
# get the cocos root from environment variable
367+
if self._project._is_script_project():
368+
if self._project._is_lua_project():
369+
var_name = "COCOS_X_ROOT"
370+
else:
371+
var_name = "COCOS_JS_ROOT"
372+
else:
373+
var_name = "COCOS_X_ROOT"
374+
375+
cocos_root = cocos.check_environment_variable(var_name)
376+
if self._project._is_js_project():
377+
cocos_root = os.path.join(cocos_root, "frameworks", "js-bindings", "cocos2d-x")
378+
379+
if not os.path.exists(cocos_root):
380+
raise cocos.CCPluginError("Can't find the engine in path : %s" % cocos_root)
381+
364382
# check environment variable
365383
ant_root = cocos.check_environment_variable('ANT_ROOT')
366384
sdk_root = cocos.check_environment_variable('ANDROID_SDK_ROOT')
367-
project_android_dir = self._platforms.project_path()
368385

369386
from build_android import AndroidBuilder
370387
builder = AndroidBuilder(self._verbose, cocos_root, project_android_dir, self._no_res, self._project)

0 commit comments

Comments
 (0)