Как перехватить сообщения журнала от Maven Mojo в плагине m2e - PullRequest
3 голосов
/ 11 июля 2011

У меня есть специальный плагин JavaScript maven, который проверяет / сжимает источники JavaScript из / src / main / javascript и сохраняет его в / target / scripts. В Eclipse 3.6 с m2e 0.x это работало отлично, потому что этот плагин выполняется во время фазы ресурсов процесса. Поэтому каждый раз, когда я сохраняю файл в Eclipse, проект компилируется. Когда валидатор обнаруживает проблему, эта проблема регистрируется как ошибка на консоли maven.

Теперь с Eclispe 3.7 и новым m2e 1.x это больше не работает, потому что для обработки этого плагина необходим специальный разъем. Также возможно настроить отображение жизненного цикла, чтобы этот плагин просто выполнялся. Но когда я делаю это, у меня больше нет сообщений регистрации. Я получаю маркер ошибки в POM только при обнаружении ошибки Javascript. Это не очень полезно. Поэтому я пытаюсь написать плагин m2e, который выполняет плагин maven и затем хорошо отображает ошибки в Eclipse. Но я абсолютный нуб, когда дело доходит до программирования плагинов Eclipse. Мой участник в настоящее время выглядит так:

public class Participant extends MojoExecutionBuildParticipant
{
    public Participant(final MojoExecution execution)
    {
        super(execution, true);
    }

    @Override
    public Set<IProject> build(final int kind, final IProgressMonitor monitor)
        throws Exception
    {
        final Set<IProject> result = super.build(kind, monitor);
        return result;
    }
}

Метод сборки вызывается правильно, и плагин maven также корректно выполняется. Но при таком простом подходе я даже не получаю никаких маркеров ошибок, когда плагин выходит из строя. Итак, как теперь я могу подключиться к выполнению maven для перехвата ошибок сборки и как их отобразить в Eclipse? Было бы достаточно, чтобы сообщения журнала ошибок просто снова отображались в консоли maven, но было бы еще круче, если бы я мог создавать реальные маркеры ошибок, указывающие на реальные местоположения файлов (которые я мог бы проанализировать из регистрации подключаемых модулей maven).

...