diff options
author | RĂ©mi Verschelde <remi@verschelde.fr> | 2021-02-25 14:14:47 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-25 14:14:47 +0100 |
commit | 2032960a097170e2cf94e13c17dadc2b3737022f (patch) | |
tree | abcd3ea50d0f9e162792419bf64e5a661c904525 | |
parent | 2adacd751c9f83f0dbbedcd2d4ce112104e09513 (diff) | |
parent | eda18fcc1fda6cb33946521e8a677c07a4f216f0 (diff) |
Merge pull request #46403 from m4gr3d/fix_android_resources_inclusion_master
Update the filtering logic to properly handle directories with `.gdignore` files
-rw-r--r-- | editor/editor_export.cpp | 5 | ||||
-rw-r--r-- | editor/editor_file_system.cpp | 24 | ||||
-rw-r--r-- | editor/editor_file_system.h | 2 | ||||
-rw-r--r-- | platform/android/export/export.cpp | 3 |
4 files changed, 26 insertions, 8 deletions
diff --git a/editor/editor_export.cpp b/editor/editor_export.cpp index 949306de42..4f60258d95 100644 --- a/editor/editor_export.cpp +++ b/editor/editor_export.cpp @@ -507,6 +507,11 @@ void EditorExportPlatform::_edit_files_with_filter(DirAccess *da, const Vector<S if (dir.begins_with(".")) { continue; } + + if (EditorFileSystem::_should_skip_directory(cur_dir + dir)) { + continue; + } + da->change_dir(dir); _edit_files_with_filter(da, p_filters, r_list, exclude); da->change_dir(".."); diff --git a/editor/editor_file_system.cpp b/editor/editor_file_system.cpp index 3c6649a66a..dce022e86e 100644 --- a/editor/editor_file_system.cpp +++ b/editor/editor_file_system.cpp @@ -669,10 +669,7 @@ void EditorFileSystem::_scan_new_dir(EditorFileSystemDirectory *p_dir, DirAccess continue; } - if (FileAccess::exists(cd.plus_file(f).plus_file("project.godot"))) { // skip if another project inside this - continue; - } - if (FileAccess::exists(cd.plus_file(f).plus_file(".gdignore"))) { // skip if another project inside this + if (_should_skip_directory(cd.plus_file(f))) { continue; } @@ -874,10 +871,7 @@ void EditorFileSystem::_scan_fs_changes(EditorFileSystemDirectory *p_dir, const int idx = p_dir->find_dir_index(f); if (idx == -1) { - if (FileAccess::exists(cd.plus_file(f).plus_file("project.godot"))) { // skip if another project inside this - continue; - } - if (FileAccess::exists(cd.plus_file(f).plus_file(".gdignore"))) { // skip if another project inside this + if (_should_skip_directory(cd.plus_file(f))) { continue; } @@ -1979,6 +1973,20 @@ Error EditorFileSystem::_resource_import(const String &p_path) { return OK; } +bool EditorFileSystem::_should_skip_directory(const String &p_path) { + if (FileAccess::exists(p_path.plus_file("project.godot"))) { + // skip if another project inside this + return true; + } + + if (FileAccess::exists(p_path.plus_file(".gdignore"))) { + // skip if a `.gdignore` file is inside this + return true; + } + + return false; +} + bool EditorFileSystem::is_group_file(const String &p_path) const { return group_file_cache.has(p_path); } diff --git a/editor/editor_file_system.h b/editor/editor_file_system.h index dec2330256..59bde238a8 100644 --- a/editor/editor_file_system.h +++ b/editor/editor_file_system.h @@ -262,6 +262,8 @@ public: bool is_group_file(const String &p_path) const; void move_group_file(const String &p_path, const String &p_new_path); + static bool _should_skip_directory(const String &p_path); + EditorFileSystem(); ~EditorFileSystem(); }; diff --git a/platform/android/export/export.cpp b/platform/android/export/export.cpp index da3ffab094..088bb35f62 100644 --- a/platform/android/export/export.cpp +++ b/platform/android/export/export.cpp @@ -2414,6 +2414,9 @@ public: print_verbose("- custom build enabled: " + bool_to_string(use_custom_build)); print_verbose("- apk expansion enabled: " + bool_to_string(apk_expansion)); print_verbose("- enabled abis: " + String(",").join(enabled_abis)); + print_verbose("- export filter: " + itos(p_preset->get_export_filter())); + print_verbose("- include filter: " + p_preset->get_include_filter()); + print_verbose("- exclude filter: " + p_preset->get_exclude_filter()); Ref<Image> splash_image; Ref<Image> splash_bg_color_image; |