Совместное использование источника / библиотек между sbt и Scala play framework - PullRequest
4 голосов
/ 23 августа 2011

У меня есть два связанных приложения, которые я разрабатываю в Scala.Один из них - это серверный процессор, созданный с использованием SBT и работающий без головы и выполняющий некоторое численное вычисление (при работе cron).Другой - это веб-сайт, написанный на Scala и работающий на игровой платформе.

У меня есть код, которым я хотел бы поделиться между ними, но поскольку у каждого из них (SBT и Play) есть своисобственные представления о структуре каталогов и о том, как создавать вещи, мне довольно непонятно, как я должен это делать.Я бы не хотел копировать и вставлять файлы .scala, но я также не заинтересован в использовании ссылок sym и их сборке из одних и тех же файлов.

Если бы это было возможно, я бы согласился получитьИграйте в скрипты для запуска SBT для сборки библиотек по мере необходимости.Если бы это был единственный способ, то я также согласился бы с использованием SBT для создания банок для Play, а затем копировать их на место.Но я часто разрабатываю оба одновременно (они являются частью большого приложения), и все будет работать намного более гладко, если они будут обновляться вместе.Это вообще возможно, или если я упускаю другую, более простую технику?

Спасибо, Алекс

1 Ответ

7 голосов
/ 23 августа 2011

Единственный простой способ - это создать JAR-файлы с помощью SBT и заставить Play использовать их.

При копировании у вас есть 2 варианта:

  • Вы создаете и копируете их вручнуюперейдите в папку libs в Play (вы можете написать это, чтобы сделать ее менее раздражающей)
  • Вы используете настраиваемый репозиторий для своих JAR-файлов (репозиторий ala Nexus) и используете Play dependencies.yml, чтобы указать на этот репозиторий и обновить,При этом вам также нужно будет часто запускать play sync --deps и настраивать версии, поэтому я не уверен, имеет ли это смысл во время разработки dev (это имеет больше смысла после завершения работы JAR)
...