He escuchado (y sé que también he visto ejemplos, si tan solo pudiera recordar dónde) que sbt
pueden obtener dependencias de un repositorio de git.
Estoy buscando obtener la dependencia harrah / up de github. El repositorio no proporciona ningún archivo JAR de artefactos, solo un árbol de origen que está configurado para ser construido usando sbt
. El proceso que estoy imaginando es que sbt
descargará el repositorio de origen, lo compilará y luego lo usará como artefacto de dependencia.
Puedo estar imaginando que sbt
de hecho se puede hacer algo como esto. ¿Puede? Y si es así, ¿cómo?
build.sbt
?sbt
a volver a compilarlo?clean
no parece ayudar.#master
, lo clona, luego presiono una nueva confirmación para master y sbt todavía funciona con el repositorio clonado originalmente sin notar un nuevo compromiso. En este punto, uno tiene que eliminarlo/.sbt/0.13/staging/
y hacer que sbt lo clone nuevamente o ir allí y hacerlogit pull
Puede importar dependencias no empaquetadas en su proyecto desde GitHub tratándolas como dependencias del proyecto, usando el
dependsOn
operador. (Esto es distinto de la forma en que se incluyen las dependencias de bibliotecas precompiladas).Tenga en cuenta que puede especificar qué rama extraer mediante
#
notación. Aquí hay un código de Scala SBT que me está funcionando bien:Tenga en cuenta que si tiene varios proyectos SBT que dependen del mismo proyecto externo, vale la pena configurar una central
sbt.boot.directory
para evitar recompilaciones innecesarias (consulte las instrucciones aquí ).fuente
"my-project"
dinámicamente, usando laname := "MyProject"
configuración debuild.sbt
en la raíz del proyecto?git://
la sintaxis del protocolo no parece funcionar para mí en play / sbt 13.0.https://
aunque funciona. Esto también puede deberse a una configuración específica de git.master
, de lo contrario obtengo:[error] No project 'project_name' in 'ssh://[email protected]/user/project.git#branch'
Como tuve problemas para resolver las dependencias de mi biblioteca (usando lo sugerido
RootProject
), me gustaría señalar el objeto llamadoProjectRef
. Por lo tanto, si uno necesita depender de una biblioteca que reside en git, sugiero que lo haga de la siguiente manera:Fuente: http://blog.xebia.com/git-subproject-compile-time-dependencies-in-sbt/
fuente
https uri
versión.Quería agregar una respuesta para sbt 0.13+. Simplemente coloque algo como esto
build.sbt
en la carpeta raíz del proyecto (noBuild.scala
):fuente