eclipse でプラグインを開発しました。このプラグインは ant task を呼び出す必要がありますsshexec
。問題は、Eclipse コンソールにリモート メッセージを出力するにはどうすればよいかということです。
私のコードは以下のようなものです:
Project p = new Project();
MessageConsole console = new MessageConsole("building", null);
IConsoleManager manager = (IConsoleManager) ConsolePlugin.getDefault().getConsoleManager();
manager.addConsoles(new IConsole[] { console });
manager.showConsoleView(console);
MessageConsoleStream cs = console.newMessageStream();
cs.setColor(Display.getDefault().getSystemColor(SWT.COLOR_BLUE));
PrintStream ps = new PrintStream(cs);
final DefaultLogger consoleLogger = new DefaultLogger();
consoleLogger.setErrorPrintStream(ps);
consoleLogger.setOutputPrintStream(ps);
consoleLogger.setMessageOutputLevel(Project.MSG_INFO);
p.init();
p.addBuildListener(consoleLogger);
ProjectHelper helper = ProjectHelper.getProjectHelper();
helper.parse(p, buildFile);
p.executeTarget(p.getDefaultTarget());
sshexec ターゲットを実行してコンパイルすると、常に次のような出力メッセージが表示されます
[sshexec] cd ...; ls ...; ....
私が書いたコマンドのみを出力しますが、リモートマシンのコンパイルメッセージはコンソールに出力できません。そして、コンパイル手順でエラーが発生すると、ビルドが正常に返されました。
コンソールにリモート メッセージを出力し、エラー結果を取得するにはどうすればよいですか?