[Ruby] Add error output (#5428)

* Add error output to the log so that we can make sure why the error occurred

* Fix forbidden method invocation using default charsets
This commit is contained in:
Akihito Nakano
2020-02-26 12:57:48 +09:00
committed by GitHub
parent 875ff05f30
commit 427adc74f2
@@ -27,7 +27,10 @@ import org.openapitools.codegen.utils.ModelUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.BufferedReader;
import java.io.File;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import java.util.Locale;
@@ -200,7 +203,13 @@ abstract public class AbstractRubyCodegen extends DefaultCodegen implements Code
Process p = Runtime.getRuntime().exec(command);
int exitValue = p.waitFor();
if (exitValue != 0) {
LOGGER.error("Error running the command ({}). Exit value: {}", command, exitValue);
BufferedReader br = new BufferedReader(new InputStreamReader(p.getErrorStream(), StandardCharsets.UTF_8));
StringBuilder sb = new StringBuilder();
String line;
while ((line = br.readLine()) != null) {
sb.append(line);
}
LOGGER.error("Error running the command ({}). Exit value: {}, Error output: {}", command, exitValue, sb.toString());
} else {
LOGGER.info("Successfully executed: " + command);
}