From e6b0829d76454492a93178142d1f9e970b3b96e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Verschelde?= Date: Fri, 3 Jan 2025 12:22:48 +0100 Subject: [PATCH] SCons: Ensure written files are properly flushed/closed This broke at least the generation of AndroidManifest.xml with Python 3.13.1. --- doc/tools/doc_merge.py | 2 ++ doc/tools/makemd.py | 2 ++ doc/tools/makerst.py | 2 ++ methods.py | 5 +++++ misc/scripts/make_glwrapper.py | 1 + platform/android/SCsub | 1 + 6 files changed, 13 insertions(+) diff --git a/doc/tools/doc_merge.py b/doc/tools/doc_merge.py index 57ac4bdcddf..16616f2608c 100644 --- a/doc/tools/doc_merge.py +++ b/doc/tools/doc_merge.py @@ -213,3 +213,5 @@ for c in list(old_doc): for c in list(new_doc): write_class(c) write_string(f, '\n') + +f.close() diff --git a/doc/tools/makemd.py b/doc/tools/makemd.py index b2444eb47b6..95475206f55 100644 --- a/doc/tools/makemd.py +++ b/doc/tools/makemd.py @@ -86,6 +86,7 @@ def make_class_list(class_list, columns): s += '\n' f.write(s) + f.close() def dokuize_text(txt): @@ -324,6 +325,7 @@ def make_doku_class(node): f.write('\n') f.write(dokuize_text(d.text.strip())) f.write('\n') + f.close() for file in input_list: diff --git a/doc/tools/makerst.py b/doc/tools/makerst.py index d2e20462631..2e82bf27c72 100644 --- a/doc/tools/makerst.py +++ b/doc/tools/makerst.py @@ -99,6 +99,7 @@ def make_class_list(class_list, columns): for n in range(0, columns): f.write("--+-------+") f.write("\n") + f.close() def rstize_text(text, cclass): @@ -504,6 +505,7 @@ def make_rst_class(node): f.write(rstize_text(d.text.strip(), name)) f.write("\n\n") f.write('\n') + f.close() for file in input_list: diff --git a/methods.py b/methods.py index bf1cd99a50a..688c0d3b095 100755 --- a/methods.py +++ b/methods.py @@ -43,6 +43,7 @@ def build_shader_header(target, source, env): line = fs.readline() fd.write(";\n") + fd.close() return 0 @@ -1105,6 +1106,7 @@ def update_version(): f.write("#define VERSION_STATUS " + str(version.status) + "\n") import datetime f.write("#define VERSION_YEAR " + str(datetime.datetime.now().year) + "\n") + f.close() def parse_cg_file(fname, uniforms, sizes, conditionals): @@ -1175,6 +1177,7 @@ def build_cg_shader(sname): fd.write('\t\tVP_%s,\n' % vp_uniforms[i].upper()) fd.write("\t};\n") + fd.close() import glob @@ -1230,6 +1233,7 @@ void unregister_module_types() { f = open("modules/register_module_types.gen.cpp", "w") f.write(modules_cpp) + f.close() return module_list @@ -1464,6 +1468,7 @@ def save_active_platforms(apnames, ap): wf = x + "/logo.gen.h" logow = open(wf, "w") logow.write(str) + logow.close() def no_verbose(sys, env): diff --git a/misc/scripts/make_glwrapper.py b/misc/scripts/make_glwrapper.py index 5694d2327e2..519e1772324 100644 --- a/misc/scripts/make_glwrapper.py +++ b/misc/scripts/make_glwrapper.py @@ -176,3 +176,4 @@ for x in functions: f.write("\n\n") f.write("}\n") f.write("\n\n") +f.close() diff --git a/platform/android/SCsub b/platform/android/SCsub index ed96dfaf8a9..e8bcfcdd438 100644 --- a/platform/android/SCsub +++ b/platform/android/SCsub @@ -142,6 +142,7 @@ manifest = manifest.replace("$$ADD_APPLICATION_CHUNKS$$", env.android_manifest_c manifest = manifest.replace("$$ADD_PERMISSION_CHUNKS$$", env.android_permission_chunk) manifest = manifest.replace("$$ADD_APPATTRIBUTE_CHUNKS$$", env.android_appattributes_chunk) pp_baseout.write(manifest) +pp_baseout.close() lib = env_android.add_shared_library("#bin/libgodot", [android_objects], SHLIBSUFFIX=env["SHLIBSUFFIX"])