Как я могу генерировать предупреждения для не интернационализированных строк Java во время сборки
Я ищу решение, которое можно запустить на сервере непрерывной интеграции (TeamCity), которое, по-видимому, исключает конкретные решения IDE, такие как экстернализация, встроенная в затмение.
Мне нужно генерировать предупреждения, когда строки находятся в исходных файлах java, если только они не были каким-либо образом помечены (посредством комментариев или аннотаций) как не требующие интернационализации, например, комментарий // $NON-NLS-1$ для eclipse.
Код построен с использованием Maven в Teamcity.
Мне не удалось найти существующие решения или какие-либо идеи о том, как пользовательское решение может быть подключено к maven или teamcity (заметьте, я не очень хорошо знаком с обоими, поэтому могу пропустить что-то довольно очевидное).
1 ответ
Кажется, вам нужен какой-то специально разработанный инструмент для анализа статического кода.
Я боюсь, что такого еще не существует (или я должен сказать, что такого нет в открытом доступе...). Я не уверен, что вы сможете создавать предупреждения из этого инструмента. Я знаю, что это было бы возможно с Gradle, но интеграция задачи Gradle с кодом Java не самая простая вещь (BTDT).
Может быть, подойдет какой-нибудь простой HTML-отчет? В этом случае вы можете просто использовать Scanner с регулярными выражениями, которые соответствуют всем строковым литералам... То есть, если вы не найдете исключения (другой RegExp) в той же строке. Это довольно простая вещь.