2013-07-18 4 views
1

Я хотел бы добавить символическую ссылку из каталога .git/hooks в файл на моем рабочем дереве во время обычной игры! framework 2.0 build. Согласно документации Play, все функции sbt доступны как обычно в Play. На основе Google поисков, я пытаюсь добавить этот код объекта ApplicationBuild в моем project/Build.scala файле:Как вызвать команду оболочки во время сборки Play 2.0 (sbt)?

val symlinkGitPrepushHookTask = compile in Compile <<= compile in Compile map {comp => 
    val output = "ln -sf ../../.hooks/pre-push.py .git/hooks/pre-push".!! 
    print(output) 
    comp 
} 

Из моего чтения СБТ документации, то это должно быть добавление зависимости от задачи компиляции в Compile объем. Зависимость зависит от существующего значения, но с моей дополнительной функцией, сопоставленной с ней. Теперь, когда запускается задача компиляции, моя анонимная функция также должна запускаться. Это не позволяет создать символическую ссылку и даже не запускается.

ответ

1

Сразу после публикации этого вопроса, я подумал, что попробую добавить пример, который я нашел в файл project/plugins.sbt. Это работает, хотя кажется, что злоупотребление файлом указывает плагины.

... existing plugins.sbt content ... 

compile in Compile <<= compile in Compile map { comp => 
    "ln -sf ../../.hooks/pre-push.py .git/hooks/pre-push".!! 
    comp 
} 

Пустая строка имеет решающее значение, так как это разделитель в формате .sbt.

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