2012-01-25 3 views
16

Предположим, у меня есть сборка с тремя проектами: A, B и C. Если я сейчас в контексте A и перезагружаю сборку, она может изменить контекст на C после перезагрузить. Из-за этого мне приходится менять свой контекст проекта каждый раз после перезагрузки.Как установить проект по умолчанию для SBT

Есть ли способ установить конкретный проект в качестве контекста по умолчанию?

ответ

8

SBT выбирает первое имя переменной lexographical проекта, поэтому я просто установить мое имя проекта :

val aaaFrontend = PlayProject(

Кроме того, есть проекты Seq, которые, я считаю, вы можете переопределить.

Наконец, в SBT 0.12 вы можете сделать это в вас .sbtrc:

alias boot = ;reload ;project X ;iflast shell 
+0

Это ... просто работает! Как странно. Спасибо :) –

3

Неточный ответ на ваш вопрос, но вы можете определить псевдоним, который выполняет команды reload и project A. Если вы создаете .sbtrc файл в корневом каталоге ваших проектов, а затем добавить

alias rl = ;reload;project A 

, то вы можете просто ввести rl каждый раз, когда вы хотите, чтобы перезагрузить.

+0

точка для усилий, но на самом деле не то, что я искал. Спасибо, хотя :) –

2

Следующая версия SBT будет помнить, какой проект вы находитесь, и вы вернетесь туда после перезагрузки:

https://github.com/harrah/xsbt/pull/348

+0

Приятно, но когда вы загружаете чистый образ сервера сборки для каждой сборки, это не решит проблему. –

+1

Вы можете добавить 'project A' в .sbtrc. – retronym

+0

Отличный материал! Вот что я искал: D –

Смежные вопросы