Создание специфичных для scala avro записей с использованием sbt-avrohugger
Я пытаюсь создать классы Scala реализации SpecificRecord
используя sbt-avrohugger. Это работает потрясающе, когда у меня есть чистый лист, и все, что у меня есть, это файлы avro в src / main / avro. Но я как бы застрял на создании классов scala для постепенных изменений для avro. я использую
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "2.0.0-RC15")
И мой build.sbt имеет:
sourceGenerators in Compile += (avroScalaGenerateSpecific in Compile).taskValue
avroSpecificScalaSource in Compile := new java.io.File("/Users/me/project/myschemas/scalacaseclasses")
1) Есть ли способ генерировать классы случаев Scala для инкрементальных изменений в Avro, не удаляя существующие классы Scala (приходится делать это или иначе, когда я компилирую, жалуется, что
[ошибка] /Users/me/project/myschemas/scalacaseclasses/com/project/schemas/user/User.scala:6: пользователь уже определен как пользователь класса дела). Он не жалуется, когда начинается с чистого листа.
В основном моя ситуация такова: у меня есть куча авросов: пользователи, гости и некоторые другие классы. Скажем, у меня было имя и идентификатор пользователя в первой версии, затем я добавил адрес для пользователя. Мне было интересно, если это возможно, чтобы восстановить тематические классы для уже существующих классов.
Или единственный способ добиться этого - просто создать классы дел для каждого нового файла avro.
PS: у меня уже есть обходной путь, где я зацикливаюсь на каждом новом файле avro и копирую новые классы, но я хотел посмотреть, есть ли лучший способ сделать это!