Как я могу генерировать предупреждения для не интернационализированных строк Java во время сборки

Я ищу решение, которое можно запустить на сервере непрерывной интеграции (TeamCity), которое, по-видимому, исключает конкретные решения IDE, такие как экстернализация, встроенная в затмение.

Мне нужно генерировать предупреждения, когда строки находятся в исходных файлах java, если только они не были каким-либо образом помечены (посредством комментариев или аннотаций) как не требующие интернационализации, например, комментарий // $NON-NLS-1$ для eclipse.

Код построен с использованием Maven в Teamcity.

Мне не удалось найти существующие решения или какие-либо идеи о том, как пользовательское решение может быть подключено к maven или teamcity (заметьте, я не очень хорошо знаком с обоими, поэтому могу пропустить что-то довольно очевидное).

1 ответ

Кажется, вам нужен какой-то специально разработанный инструмент для анализа статического кода.
Я боюсь, что такого еще не существует (или я должен сказать, что такого нет в открытом доступе...). Я не уверен, что вы сможете создавать предупреждения из этого инструмента. Я знаю, что это было бы возможно с Gradle, но интеграция задачи Gradle с кодом Java не самая простая вещь (BTDT).

Может быть, подойдет какой-нибудь простой HTML-отчет? В этом случае вы можете просто использовать Scanner с регулярными выражениями, которые соответствуют всем строковым литералам... То есть, если вы не найдете исключения (другой RegExp) в той же строке. Это довольно простая вещь.

Другие вопросы по тегам