Я слышал (и знаю, что тоже видел примеры, если только я могу вспомнить, где), которые sbt
могут получать зависимости из репозитория git.
Я хочу получить зависимость harrah / up от github. Репозиторий не предоставляет никаких файлов JAR артефактов, только дерево исходных текстов, которое настроено для построения с использованием sbt
. Я представляю себе процесс, который sbt
загрузит исходное репо, построит его, а затем использует в качестве артефакта зависимости.
Я могу представить, что sbt
на самом деле может делать что-то подобное. Может это? И если да, то как?
build.sbt
?sbt
его перекомпилировать?clean
похоже, не помогает.#master
, перезагрузите, она клонирует ее, затем я нажимаю новую фиксацию на master, а sbt все еще работает с первоначально клонированным репозиторием не замечая нового коммита. На этом этапе нужно либо удалить его/.sbt/0.13/staging/
и заставить sbt клонировать его снова, либо пойти туда и сделатьgit pull
Вы можете импортировать распакованные зависимости в свой проект из GitHub, рассматривая их как зависимости проекта с помощью
dependsOn
оператора. (Это отличается от способа включения зависимостей предварительно скомпилированной библиотеки).Обратите внимание, что вы можете указать, какую ветку вытащить, используя
#
нотацию. Вот пример кода Scala SBT, который мне подходит:Обратите внимание: если у вас есть несколько проектов SBT, зависящих от одного и того же внешнего проекта, стоит настроить центральный сервер,
sbt.boot.directory
чтобы избежать ненужных перекомпиляций (см. Инструкции здесь ).источник
"my-project"
динамически, используяname := "MyProject"
настройку изbuild.sbt
корня проекта?git://
Синтаксис протокола, похоже, не работает для меня в play / sbt 13.0.https://
хотя работает. Это также может быть вызвано конкретной настройкой git.master
, иначе я получаю:[error] No project 'project_name' in 'ssh://git@github.com/user/project.git#branch'
Поскольку у меня были проблемы с разрешением зависимостей моей библиотеки (с использованием предложенного
RootProject
), я хотел бы указать на вызываемый объектProjectRef
. Таким образом, если нужно зависеть от библиотеки, находящейся в git, я предлагаю сделать это следующим образом:Источник: http://blog.xebia.com/git-subproject-compile-time-dependencies-in-sbt/
источник
https uri
версией.Хотел добавить ответ по sbt 0.13+. Просто поместите что-то подобное в
build.sbt
корневую папку проекта (неBuild.scala
):источник