You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-22 15:06:45 +00:00
Use temp dirs instead of cache dirs for export
Fixes #95897 During CI scenarios $HOME may be set to an invalid value (such as `/var/empty`). Using temp dirs fits better with godot's usage of these paths and is independent from the user's $HOME.
This commit is contained in:
@@ -2433,7 +2433,7 @@ Error EditorExportPlatformIOS::_export_project_helper(const Ref<EditorExportPres
|
||||
if (p_preset->get("application/generate_simulator_library_if_missing").operator bool()) {
|
||||
String sim_lib_path = dest_dir + String(binary_name + ".xcframework").path_join("ios-arm64_x86_64-simulator").path_join("libgodot.a");
|
||||
String dev_lib_path = dest_dir + String(binary_name + ".xcframework").path_join("ios-arm64").path_join("libgodot.a");
|
||||
String tmp_lib_path = EditorPaths::get_singleton()->get_cache_dir().path_join(binary_name + "_lipo_");
|
||||
String tmp_lib_path = EditorPaths::get_singleton()->get_temp_dir().path_join(binary_name + "_lipo_");
|
||||
uint32_t cputype = 0;
|
||||
uint32_t cpusubtype = 0;
|
||||
if (!_archive_has_arm64(sim_lib_path, &cputype, &cpusubtype) && _archive_has_arm64(dev_lib_path) && FileAccess::exists(dev_lib_path)) {
|
||||
@@ -3111,19 +3111,19 @@ Error EditorExportPlatformIOS::run(const Ref<EditorExportPreset> &p_preset, int
|
||||
String id = "tmpexport." + uitos(OS::get_singleton()->get_unix_time());
|
||||
|
||||
Ref<DirAccess> filesystem_da = DirAccess::create(DirAccess::ACCESS_FILESYSTEM);
|
||||
ERR_FAIL_COND_V_MSG(filesystem_da.is_null(), ERR_CANT_CREATE, "Cannot create DirAccess for path '" + EditorPaths::get_singleton()->get_cache_dir() + "'.");
|
||||
filesystem_da->make_dir_recursive(EditorPaths::get_singleton()->get_cache_dir().path_join(id));
|
||||
String tmp_export_path = EditorPaths::get_singleton()->get_cache_dir().path_join(id).path_join("export.ipa");
|
||||
ERR_FAIL_COND_V_MSG(filesystem_da.is_null(), ERR_CANT_CREATE, "Cannot create DirAccess for path '" + EditorPaths::get_singleton()->get_temp_dir() + "'.");
|
||||
filesystem_da->make_dir_recursive(EditorPaths::get_singleton()->get_temp_dir().path_join(id));
|
||||
String tmp_export_path = EditorPaths::get_singleton()->get_temp_dir().path_join(id).path_join("export.ipa");
|
||||
|
||||
#define CLEANUP_AND_RETURN(m_err) \
|
||||
{ \
|
||||
if (filesystem_da->change_dir(EditorPaths::get_singleton()->get_cache_dir().path_join(id)) == OK) { \
|
||||
filesystem_da->erase_contents_recursive(); \
|
||||
filesystem_da->change_dir(".."); \
|
||||
filesystem_da->remove(id); \
|
||||
} \
|
||||
return m_err; \
|
||||
} \
|
||||
#define CLEANUP_AND_RETURN(m_err) \
|
||||
{ \
|
||||
if (filesystem_da->change_dir(EditorPaths::get_singleton()->get_temp_dir().path_join(id)) == OK) { \
|
||||
filesystem_da->erase_contents_recursive(); \
|
||||
filesystem_da->change_dir(".."); \
|
||||
filesystem_da->remove(id); \
|
||||
} \
|
||||
return m_err; \
|
||||
} \
|
||||
((void)0)
|
||||
|
||||
Device dev = devices[p_device];
|
||||
@@ -3193,7 +3193,7 @@ Error EditorExportPlatformIOS::run(const Ref<EditorExportPreset> &p_preset, int
|
||||
args.push_back("simctl");
|
||||
args.push_back("install");
|
||||
args.push_back(dev.id);
|
||||
args.push_back(EditorPaths::get_singleton()->get_cache_dir().path_join(id).path_join("export.xcarchive/Products/Applications/export.app"));
|
||||
args.push_back(EditorPaths::get_singleton()->get_temp_dir().path_join(id).path_join("export.xcarchive/Products/Applications/export.app"));
|
||||
|
||||
String log;
|
||||
int ec;
|
||||
@@ -3246,7 +3246,7 @@ Error EditorExportPlatformIOS::run(const Ref<EditorExportPreset> &p_preset, int
|
||||
args.push_back(dev.id);
|
||||
args.push_back("--justlaunch");
|
||||
args.push_back("--bundle");
|
||||
args.push_back(EditorPaths::get_singleton()->get_cache_dir().path_join(id).path_join("export.xcarchive/Products/Applications/export.app"));
|
||||
args.push_back(EditorPaths::get_singleton()->get_temp_dir().path_join(id).path_join("export.xcarchive/Products/Applications/export.app"));
|
||||
String app_args;
|
||||
for (const String &E : cmd_args_list) {
|
||||
app_args += E + " ";
|
||||
@@ -3285,7 +3285,7 @@ Error EditorExportPlatformIOS::run(const Ref<EditorExportPreset> &p_preset, int
|
||||
args.push_back("app");
|
||||
args.push_back("-d");
|
||||
args.push_back(dev.id);
|
||||
args.push_back(EditorPaths::get_singleton()->get_cache_dir().path_join(id).path_join("export.xcarchive/Products/Applications/export.app"));
|
||||
args.push_back(EditorPaths::get_singleton()->get_temp_dir().path_join(id).path_join("export.xcarchive/Products/Applications/export.app"));
|
||||
|
||||
String log;
|
||||
int ec;
|
||||
|
||||
Reference in New Issue
Block a user