Как ссылаться на сгенерированные исходные файлы?
Как мне обратиться к файлам, сгенерированным sourceGenerators
сбт задача? Я знаю, что исходный файл хранится в target/scala-<version>/src_managed/path/to/File.Scala
но я не знаю, как ссылаться на это в моем проекте. Есть идеи?
/server
/app
/models
Driver.scala (can't use MyGeneratedCode here)
/project
/src/main/scala/
ModelGenerator.scala (the code used to create MyGeneratedCode.scala)
/target/scala-2.12
/classes
/src_managed
/main/generated/
MyGeneratedCode.scala
1 ответ
Генерирующий файл работает как любой обычный файл Scala, но в необычной папке, поэтому он не отслеживается git (или любым другим VCS).
Как и любой файл Scala, он должен иметь package whatever
оператор в начале, из которого вы можете позже импортировать ваши классы ( import whatever._
) Обычно имя пакета совпадает со структурой каталогов, но это не обязательно (особенно потому, что это просто сгенерированный файл).
Если у него нет пакета, все его члены, вероятно, находятся на __root__
пакет. Но это, вероятно, вызовет проблемы, я бы предложил отредактировать ваш генератор, добавив вместо него оператор пакета.