diff options
| author | Rémi Verschelde <rverschelde@gmail.com> | 2020-01-08 14:22:50 +0100 |
|---|---|---|
| committer | Rémi Verschelde <rverschelde@gmail.com> | 2020-01-08 14:57:46 +0100 |
| commit | 7c29ce43755d7fb083bc06d6b406e3a150145309 (patch) | |
| tree | 32af7cca2dd293ae4c982d1508bcb2d4912212ba /editor/editor_node.cpp | |
| parent | ae21664655a16526b1a8e3e30f4e03d9a7c9c67c (diff) | |
| download | redot-engine-7c29ce43755d7fb083bc06d6b406e3a150145309.tar.gz | |
Export: Add dedicated --export-pack option to export data pack
The previous behavior relying on the provided extension was problematic
on macOS since .zip is the main extension used for the full project
export (binary + data pack).
We add a dedicated `--export-pack` command line option to define when
only the data pack should be exported. Its extension will still be
inferred from the path.
Fixes #23073.
Diffstat (limited to 'editor/editor_node.cpp')
| -rw-r--r-- | editor/editor_node.cpp | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp index d7bc959729..0be0ea90a3 100644 --- a/editor/editor_node.cpp +++ b/editor/editor_node.cpp @@ -585,10 +585,7 @@ void EditorNode::_fs_changed() { export_error = vformat("Export preset '%s' doesn't have a matching platform.", preset_name); } else { Error err = OK; - // FIXME: This way to export only resources .pck or .zip is pretty hacky - // and undocumented, and might be problematic for platforms where .zip is - // a valid project export format (e.g. macOS). - if (export_defer.path.ends_with(".pck") || export_defer.path.ends_with(".zip")) { + if (export_defer.pack_only) { // Only export .pck or .zip data pack. if (export_defer.path.ends_with(".zip")) { err = platform->export_zip(preset, export_defer.debug, export_defer.path); } else if (export_defer.path.ends_with(".pck")) { @@ -3942,11 +3939,12 @@ void EditorNode::_editor_file_dialog_unregister(EditorFileDialog *p_dialog) { Vector<EditorNodeInitCallback> EditorNode::_init_callbacks; -Error EditorNode::export_preset(const String &p_preset, const String &p_path, bool p_debug) { +Error EditorNode::export_preset(const String &p_preset, const String &p_path, bool p_debug, bool p_pack_only) { export_defer.preset = p_preset; export_defer.path = p_path; export_defer.debug = p_debug; + export_defer.pack_only = p_pack_only; disable_progress_dialog = true; return OK; } |
