mirror of
https://github.com/Relintai/broken_seals_2d.git
synced 2024-11-11 20:35:10 +01:00
Added the new app script. Now it will be able to handle updating from old engine versions aswell.
This commit is contained in:
parent
2811e9de9f
commit
bfaddf4cbc
2
HEADS
2
HEADS
@ -1 +1 @@
|
||||
{"engine": {"3.2": "64a9e86c5c20bd4bd5833f0563457d0126617489", "3.x": "9b512dd510207d32911064a1bbe15b80c91b006b"}, "world_generator": {"master": "260c430f11b0b591eaf4714516419aa327d2842c"}, "entity_spell_system": {"master": "3536f01bacf5f54cefb32b768cd020a1f94d0ade"}, "ui_extensions": {"master": "80a3b96fc56991a0f88a1d441ed1e3cebaf3307a"}, "texture_packer": {"master": "ae4d222fbaade063ed6f0bc9f3aaa53df68a7fed"}, "fastnoise": {"master": "46bb1f610bfb7171613b5c708d312bcf94e89356"}, "thread_pool": {"master": "0917511d04bb1aa308385b63ec88d3c182990628"}, "mesh_data_resource": {"master": "a062d871d49d954c5466b9de54b4075cb61cbef4"}, "mesh_utils": {"master": "b52a261c31f04fad624e5cfbcdcc4a45d61136da"}, "props": {"master": "2afd6eff45f9a921bdf4090ff3029def86df5cb5"}, "terraman_2d": {"master": "60a7e84a5dc2fc252b0c582dd8f877685d28d74a"}, "broken_seals_module": {"master": "52c5a81350db1c29d375c63d95010260911ec034"}, "rtile_map": {"master": "389070cfef387b69902e23e6c4ac53997b69e42e"}, "props_2d": {"master": "a45822b63519d7f9fb391ab6b1dced468c6f399d"}, "pandemonium_engine": {"master": "23212338ccee214f1f432e6b1a7a1870a8c4e70f"}}
|
||||
{"engine": {"3.2": "64a9e86c5c20bd4bd5833f0563457d0126617489", "3.x": "9b512dd510207d32911064a1bbe15b80c91b006b"}, "world_generator": {"master": "260c430f11b0b591eaf4714516419aa327d2842c"}, "entity_spell_system": {"master": "3536f01bacf5f54cefb32b768cd020a1f94d0ade"}, "ui_extensions": {"master": "80a3b96fc56991a0f88a1d441ed1e3cebaf3307a"}, "texture_packer": {"master": "ae4d222fbaade063ed6f0bc9f3aaa53df68a7fed"}, "fastnoise": {"master": "46bb1f610bfb7171613b5c708d312bcf94e89356"}, "thread_pool": {"master": "0917511d04bb1aa308385b63ec88d3c182990628"}, "mesh_data_resource": {"master": "a062d871d49d954c5466b9de54b4075cb61cbef4"}, "mesh_utils": {"master": "b52a261c31f04fad624e5cfbcdcc4a45d61136da"}, "props": {"master": "2afd6eff45f9a921bdf4090ff3029def86df5cb5"}, "terraman_2d": {"master": "60a7e84a5dc2fc252b0c582dd8f877685d28d74a"}, "broken_seals_module": {"master": "52c5a81350db1c29d375c63d95010260911ec034"}, "rtile_map": {"master": "389070cfef387b69902e23e6c4ac53997b69e42e"}, "props_2d": {"master": "a45822b63519d7f9fb391ab6b1dced468c6f399d"}, "pandemonium_engine": {"master": "f659bfe561d7177cd5baaf264893fe5f10539c13"}}
|
88
SConstruct
88
SConstruct
@ -64,6 +64,91 @@ def setup_repository(data, clone_path, branch = 'master'):
|
||||
|
||||
os.chdir(cwd)
|
||||
|
||||
|
||||
def update_repository(data, clone_path, branch = 'master'):
|
||||
cwd = os.getcwd()
|
||||
|
||||
full_path = cwd + clone_path + data[1] + '/'
|
||||
|
||||
if not os.path.isdir(full_path):
|
||||
os.chdir(cwd + clone_path)
|
||||
|
||||
subprocess.call(clone_command.format(data[0][repository_index], data[1]), shell=True)
|
||||
|
||||
os.chdir(full_path)
|
||||
|
||||
subprocess.call('git reset', shell=True)
|
||||
subprocess.call('git reset --hard', shell=True)
|
||||
subprocess.call('git clean -f -d', shell=True)
|
||||
subprocess.call('git checkout -B ' + branch + ' origin/' + branch, shell=True)
|
||||
subprocess.call('git reset', shell=True)
|
||||
subprocess.call('git reset --hard', shell=True)
|
||||
subprocess.call('git clean -f -d', shell=True)
|
||||
subprocess.call('git pull origin ' + branch, shell=True)
|
||||
|
||||
process = subprocess.Popen('git rev-parse HEAD', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
|
||||
output = process.communicate()[0].decode().strip()
|
||||
|
||||
if data[1] not in target_commits:
|
||||
target_commits[data[1]] = {}
|
||||
|
||||
target_commits[data[1]][branch] = output
|
||||
|
||||
os.chdir(cwd)
|
||||
|
||||
def validate_repository_origin(data, clone_path, branch = 'master'):
|
||||
full_path = os.path.abspath(clone_path)
|
||||
|
||||
if not os.path.isdir(full_path):
|
||||
return
|
||||
|
||||
cwd = os.getcwd()
|
||||
os.chdir(full_path)
|
||||
|
||||
res = subprocess.run('git remote -v', shell=True, capture_output=True)
|
||||
|
||||
resstr = res.stdout.decode('ascii')
|
||||
resarr = resstr.split("\n")
|
||||
res_orig = []
|
||||
|
||||
for l in resarr:
|
||||
if "origin" in l:
|
||||
res_orig.append(l)
|
||||
|
||||
if len(res_orig) == 0:
|
||||
print("The repository " + clone_path + " does not seem to have an origin remote. Adding it.")
|
||||
|
||||
subprocess.call('git remote add origin ' + data[0][repository_index], shell=True)
|
||||
|
||||
os.chdir(cwd)
|
||||
|
||||
return
|
||||
|
||||
for l in data[0]:
|
||||
for ll in res_orig:
|
||||
if l in ll:
|
||||
os.chdir(cwd)
|
||||
|
||||
return
|
||||
|
||||
rind = 0
|
||||
|
||||
if 'git@' in res_orig[0]:
|
||||
rind = 1
|
||||
|
||||
subprocess.call('git remote remove origin', shell=True)
|
||||
subprocess.call('git remote add origin ' + data[0][rind], shell=True)
|
||||
subprocess.call('git pull origin', shell=True)
|
||||
subprocess.call('git checkout origin/' + branch, shell=True)
|
||||
|
||||
print('Updated git remote origin in ' + clone_path)
|
||||
|
||||
os.chdir(cwd)
|
||||
|
||||
def update_engine():
|
||||
validate_repository_origin(module_config.engine_repository, './pandemonium_engine/', module_config.pandemonium_branch)
|
||||
update_repository(module_config.engine_repository, '/', module_config.pandemonium_branch)
|
||||
|
||||
engine_abspath = os.path.abspath(module_config.engine_repository[1])
|
||||
|
||||
if not os.path.isdir(engine_abspath):
|
||||
@ -78,6 +163,9 @@ if not os.path.isdir(engine_abspath):
|
||||
repository_index = 1
|
||||
|
||||
setup_repository(module_config.engine_repository, '/', module_config.pandemonium_branch)
|
||||
else:
|
||||
if not os.path.isfile('pandemonium_engine/misc/scripts_app/SConstruct'):
|
||||
update_engine()
|
||||
|
||||
|
||||
SConscript("pandemonium_engine/misc/scripts_app/SConstruct")
|
||||
|
Loading…
Reference in New Issue
Block a user