mirror of https://github.com/axmolengine/axmol.git
do not use git command (#17677)
the script may be used in a folder that is not a git repo
This commit is contained in:
parent
56ae741124
commit
7fe419653e
|
@ -51,9 +51,22 @@ from sys import stdout
|
||||||
from distutils.errors import DistutilsError
|
from distutils.errors import DistutilsError
|
||||||
from distutils.dir_util import copy_tree, remove_tree
|
from distutils.dir_util import copy_tree, remove_tree
|
||||||
|
|
||||||
def execute_command(cmd):
|
|
||||||
if os.system(cmd) != 0:
|
def delete_folder_except(folder_path, excepts):
|
||||||
raise Exception('Command ( %s ) failed!' % cmd)
|
"""
|
||||||
|
Delete a folder excepts some files/subfolders, `excepts` doesn't recursively which means it can not include
|
||||||
|
`subfoler/file1`. `excepts` is an array.
|
||||||
|
"""
|
||||||
|
for file in os.listdir(folder_path):
|
||||||
|
if (file in excepts):
|
||||||
|
continue
|
||||||
|
|
||||||
|
full_path = os.path.join(folder_path, file)
|
||||||
|
if os.path.isdir(full_path):
|
||||||
|
shutil.rmtree(full_path)
|
||||||
|
else:
|
||||||
|
os.remove(full_path)
|
||||||
|
|
||||||
|
|
||||||
class UnrecognizedFormat:
|
class UnrecognizedFormat:
|
||||||
def __init__(self, prompt):
|
def __init__(self, prompt):
|
||||||
|
@ -242,9 +255,10 @@ class CocosZipInstaller(object):
|
||||||
data = json.load(data_file)
|
data = json.load(data_file)
|
||||||
return data
|
return data
|
||||||
|
|
||||||
def clean_external_folder(self):
|
def clean_external_folder(self, external_folder):
|
||||||
print('==> Cleaning cocos2d-x/external folder ...')
|
print('==> Cleaning cocos2d-x/external folder ...')
|
||||||
execute_command('git clean -fdx external')
|
# remove external except 'config.json'
|
||||||
|
delete_folder_except(external_folder, ['config.json'])
|
||||||
|
|
||||||
def run(self, workpath, folder_for_extracting, remove_downloaded, force_update, download_only):
|
def run(self, workpath, folder_for_extracting, remove_downloaded, force_update, download_only):
|
||||||
if not force_update and not self.need_to_update():
|
if not force_update and not self.need_to_update():
|
||||||
|
@ -262,7 +276,7 @@ class CocosZipInstaller(object):
|
||||||
if not os.path.exists(folder_for_extracting):
|
if not os.path.exists(folder_for_extracting):
|
||||||
os.mkdir(folder_for_extracting)
|
os.mkdir(folder_for_extracting)
|
||||||
|
|
||||||
self.clean_external_folder()
|
self.clean_external_folder(folder_for_extracting)
|
||||||
print("==> Copying files...")
|
print("==> Copying files...")
|
||||||
distutils.dir_util.copy_tree(self._extracted_folder_name, folder_for_extracting)
|
distutils.dir_util.copy_tree(self._extracted_folder_name, folder_for_extracting)
|
||||||
if self._move_dirs is not None:
|
if self._move_dirs is not None:
|
||||||
|
|
Loading…
Reference in New Issue