Создание пользовательских Maven ModelValidators - PullRequest
0 голосов
/ 01 ноября 2011

Я довольно часто использую плагин flexmojos и пытаюсь помочь людям из списка рассылки flexmojos как можно лучше.

Помогая, я мог видеть, что рука, полная проблем, всегда повторяется и обычно всегда имеет одно и то же решение.

Моя идея теперь заключалась в том, чтобы добавить какой-нибудь код проверки в flexmojos, чтобы людям было легче выяснить, что происходит не так.Просматривая код Maven, я познакомился с ModelValidators (главным образом потому, что пытался найти способ избавиться от этих раздражающих предупреждений о возможностях видимости).Я думаю, что было бы неплохо создать валидатор, который реализует ModelValidator и включить его в плагин.

К сожалению, я не смог найти документально подтвержденный способ предоставления пользовательских валидаторов.Может кто-нибудь здесь, пожалуйста, подскажите мне, как это сделать, или помешайте мне продолжать поиск, если только DefaultModelValidator поддерживает Maven.

1 Ответ

0 голосов
/ 08 ноября 2011

Хорошо ... Я наконец нашел решение своей проблемы. Здесь идет:

В общем, Maven не поддерживает то, что я хочу. К счастью, есть способ сделать это. Поскольку я реконфигурирую Maven, мне нужно создать компонент с ролью ModelValidator. Если я затем помещу банку, содержащую этот компонент, в мой каталог MAVEN_HOME / lib / ext, он переопределяет ткачество, и мой ModelValidator используется вместо стандартного.

@Component( role = ModelValidator.class )
public class FMDefaultModelValidator extends DefaultModelValidator {
    @Override
    public void validateEffectiveModel(Model model, ModelBuildingRequest request, ModelProblemCollector problems) {
        //super.validateEffectiveModel(model, request, problems);
    }
}

С помощью этого трюка я могу делать с проверкой все, что захочу. Я задокументировал это и добавил проект по умолчанию в слияние моих компаний: https://dev.c -ware.de / слияния / дисплей / PUBLIC / Flexmojos + в + Continuous + Интеграция + Строит

...