Preserve the output from the gradle build command
Updates `EditorNode#execute_and_show_output(...)` to return the output of the executed command.
(cherry picked from commit 136b7f9c52
)
This commit is contained in:
parent
a3432848b2
commit
f6a9129219
|
@ -6690,7 +6690,7 @@ static void _execute_thread(void *p_ud) {
|
||||||
eta->done.set();
|
eta->done.set();
|
||||||
}
|
}
|
||||||
|
|
||||||
int EditorNode::execute_and_show_output(const String &p_title, const String &p_path, const List<String> &p_arguments, bool p_close_on_ok, bool p_close_on_errors) {
|
int EditorNode::execute_and_show_output(const String &p_title, const String &p_path, const List<String> &p_arguments, bool p_close_on_ok, bool p_close_on_errors, String *r_output) {
|
||||||
if (execute_output_dialog) {
|
if (execute_output_dialog) {
|
||||||
execute_output_dialog->set_title(p_title);
|
execute_output_dialog->set_title(p_title);
|
||||||
execute_output_dialog->get_ok_button()->set_disabled(true);
|
execute_output_dialog->get_ok_button()->set_disabled(true);
|
||||||
|
@ -6736,6 +6736,9 @@ int EditorNode::execute_and_show_output(const String &p_title, const String &p_p
|
||||||
execute_output_dialog->get_ok_button()->set_disabled(false);
|
execute_output_dialog->get_ok_button()->set_disabled(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (r_output) {
|
||||||
|
*r_output = eta.output;
|
||||||
|
}
|
||||||
return eta.exitcode;
|
return eta.exitcode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -932,7 +932,7 @@ public:
|
||||||
|
|
||||||
bool has_scenes_in_session();
|
bool has_scenes_in_session();
|
||||||
|
|
||||||
int execute_and_show_output(const String &p_title, const String &p_path, const List<String> &p_arguments, bool p_close_on_ok = true, bool p_close_on_errors = false);
|
int execute_and_show_output(const String &p_title, const String &p_path, const List<String> &p_arguments, bool p_close_on_ok = true, bool p_close_on_errors = false, String *r_output = nullptr);
|
||||||
|
|
||||||
EditorNode();
|
EditorNode();
|
||||||
~EditorNode();
|
~EditorNode();
|
||||||
|
|
|
@ -2939,10 +2939,13 @@ Error EditorExportPlatformAndroid::export_project_helper(const Ref<EditorExportP
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int result = EditorNode::get_singleton()->execute_and_show_output(TTR("Building Android Project (gradle)"), build_command, cmdline);
|
String build_project_output;
|
||||||
|
int result = EditorNode::get_singleton()->execute_and_show_output(TTR("Building Android Project (gradle)"), build_command, cmdline, true, false, &build_project_output);
|
||||||
if (result != 0) {
|
if (result != 0) {
|
||||||
add_message(EXPORT_MESSAGE_ERROR, TTR("Export"), TTR("Building of Android project failed, check output for the error. Alternatively visit docs.godotengine.org for Android build documentation."));
|
add_message(EXPORT_MESSAGE_ERROR, TTR("Export"), TTR("Building of Android project failed, check output for the error:") + "\n\n" + build_project_output);
|
||||||
return ERR_CANT_CREATE;
|
return ERR_CANT_CREATE;
|
||||||
|
} else {
|
||||||
|
print_verbose(build_project_output);
|
||||||
}
|
}
|
||||||
|
|
||||||
List<String> copy_args;
|
List<String> copy_args;
|
||||||
|
@ -2969,10 +2972,13 @@ Error EditorExportPlatformAndroid::export_project_helper(const Ref<EditorExportP
|
||||||
copy_args.push_back("-Pexport_filename=" + export_filename);
|
copy_args.push_back("-Pexport_filename=" + export_filename);
|
||||||
|
|
||||||
print_verbose("Copying Android binary using gradle command: " + String("\n") + build_command + " " + join_list(copy_args, String(" ")));
|
print_verbose("Copying Android binary using gradle command: " + String("\n") + build_command + " " + join_list(copy_args, String(" ")));
|
||||||
int copy_result = EditorNode::get_singleton()->execute_and_show_output(TTR("Moving output"), build_command, copy_args);
|
String copy_binary_output;
|
||||||
|
int copy_result = EditorNode::get_singleton()->execute_and_show_output(TTR("Moving output"), build_command, copy_args, true, false, ©_binary_output);
|
||||||
if (copy_result != 0) {
|
if (copy_result != 0) {
|
||||||
add_message(EXPORT_MESSAGE_ERROR, TTR("Export"), TTR("Unable to copy and rename export file, check gradle project directory for outputs."));
|
add_message(EXPORT_MESSAGE_ERROR, TTR("Export"), TTR("Unable to copy and rename export file:") + "\n\n" + copy_binary_output);
|
||||||
return ERR_CANT_CREATE;
|
return ERR_CANT_CREATE;
|
||||||
|
} else {
|
||||||
|
print_verbose(copy_binary_output);
|
||||||
}
|
}
|
||||||
|
|
||||||
print_verbose("Successfully completed Android gradle build.");
|
print_verbose("Successfully completed Android gradle build.");
|
||||||
|
|
Loading…
Reference in New Issue