Где реализовать небольшие задачи обработки аннотаций для конкретного проекта для проекта

#spring #kotlin #gradle #jvm #annotation-processing

Вопрос:

Я пишу внутренний проект с Spring в Kotlin, предоставляющий API REST с интерфейсами контроллера, созданными на основе спецификации Openapi 3 и Gradle в качестве инструмента сборки. Некоторые запросы/ответы API включают значения перечислений, соответствующие перечислениям в коде. Чтобы синхронизировать их, я хотел бы сгенерировать эту часть спецификации Openapi из кода, используя обработку аннотаций.
У меня есть 2 вопроса:

  • Стоит ли вообще этот подход хлопот (циклическая зависимость между спецификацией openapi и кодом) или лучше выполнять проверки только в том случае, если значения совпадают
  • Как правильно разместить такой код для конкретного проекта? Новый подпроект gradle кажется слишком сложным для простых задач, подобных этой. Было бы здорово, если бы это можно было сделать непосредственно в задаче gradle, но я не нашел способа сделать это.