Как я могу загрузить код в консоль sbt?

Я хотел бы, чтобы некоторый код загружался/интерпретировался при запуске sbt console. Один и тот же код будет использоваться совместно между проектами.

Думайте об этом как о чем-то, что имеет смысл только в интерактивном сеансе (например, функции синхронизации) — например, .irbrc для Ruby, скрипт PYTHONSTARTUP для Python и т. д.


person Wojciech Kaczmarek    schedule 30.09.2015    source источник
comment
Помогает ли этот ответ?   -  person Sascha Kolberg    schedule 30.09.2015
comment
Частично.. все же мне нужно найти рабочее решение   -  person Wojciech Kaczmarek    schedule 03.10.2015


Ответы (1)


Что ж, следуя ответу из комментария Саши Колберга, я адаптировал что-то вроде этого: https://github.com/herenowcoder/rcfiles/blob/8965c73/build.sbt

Тем не менее, это требует, чтобы кусок кода копировался в каждый проект SBT. У кого-нибудь есть элегантное решение для установки этого для всех проектов (для каждого пользователя Unix)..?

Я тоже играл с .sbtrc, но безуспешно.

[изменить]

Кстати, чем хороша загрузка команд таким образом, так это тем, что консоль печатает сигнатуры типов eval'ed:

[info] Starting scala interpreter... [info] time: [R](block: => R)R Welcome to Scala version 2.11.2 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_60).

Тем не менее, я ищу способ включить такой код для каждого проекта. Что-то в стиле .iex.exs техники Эликсира.

[изменить]

Нашел!

Вместо того, чтобы добавлять раздел initialCommands in console := "..." к каждому задействованному проекту, достаточно поместить его в раздел ~/.sbt/0.13/build.sbt или, возможно, правильнее - ~/.sbt/0.13/global.sbt (оба варианта работают).

Спасибо Саше Кольбергу за то, что поставил меня на правильный путь!

person Wojciech Kaczmarek    schedule 05.10.2015