Browse Source

Merge pull request #17970 from PJB3005/18-04-04-commandline-export-error-clarity

Explicitly print an error when --export fails.
Rémi Verschelde 7 years ago
parent
commit
ec110076ca
1 changed files with 9 additions and 5 deletions
  1. 9 5
      editor/editor_node.cpp

+ 9 - 5
editor/editor_node.cpp

@@ -470,24 +470,28 @@ void EditorNode::_fs_changed() {
 		}
 		if (preset.is_null()) {
 			String err = "Unknown export preset: " + export_defer.preset;
-			ERR_PRINT(err.utf8().get_data());
+			ERR_PRINTS(err);
 		} else {
 			Ref<EditorExportPlatform> platform = preset->get_platform();
 			if (platform.is_null()) {
 				String err = "Preset \"" + export_defer.preset + "\" doesn't have a platform.";
-				ERR_PRINT(err.utf8().get_data());
+				ERR_PRINTS(err);
 			} else {
 				// ensures export_project does not loop infinitely, because notifications may
 				// come during the export
 				export_defer.preset = "";
+				Error err;
 				if (!preset->is_runnable() && (export_defer.path.ends_with(".pck") || export_defer.path.ends_with(".zip"))) {
 					if (export_defer.path.ends_with(".zip")) {
-						platform->save_zip(preset, export_defer.path);
+						err = platform->save_zip(preset, export_defer.path);
 					} else if (export_defer.path.ends_with(".pck")) {
-						platform->save_pack(preset, export_defer.path);
+						err = platform->save_pack(preset, export_defer.path);
 					}
 				} else {
-					platform->export_project(preset, export_defer.debug, export_defer.path, /*p_flags*/ 0);
+					err = platform->export_project(preset, export_defer.debug, export_defer.path, /*p_flags*/ 0);
+				}
+				if (err != OK) {
+					ERR_PRINTS(vformat(TTR("Project export failed with error code %d."), (int)err));
 				}
 			}
 		}