Как ссылаться на сгенерированные исходные файлы? - PullRequest
2 голосов
/ 29 апреля 2019

Как мне обратиться к файлам, сгенерированным задачей sourceGenerators sbt? Я знаю, что исходный файл хранится в 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 Ответ

3 голосов
/ 30 апреля 2019

Генерируемый файл работает как любой обычный Scala файл, но в необычной папке, поэтому он не отслеживается git (или любым другим VCS) .
Как и любой * 1006Файл * Scala , вначале он должен содержать оператор package whatever, из которого вы можете импортировать ваши классы (import whatever._) .Обычно имя пакета соответствует структуре каталога, но ему не нужно (тем более что это просто сгенерированный файл) .

Если у него нет пакета, вероятно, все его члены находятсяв пакете __root__.Но это, вероятно, вызовет проблемы, я бы посоветовал отредактировать ваш генератор, добавив вместо него оператор пакета.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...