He escuchado (y sé que también he visto ejemplos, si tan solo pudiera recordar dónde) que sbtpueden 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 sbtdescargará el repositorio de origen, lo compilará y luego lo usará como artefacto de dependencia.
Puedo estar imaginando que sbtde hecho se puede hacer algo como esto. ¿Puede? Y si es así, ¿cómo?

build.sbt?sbta volver a compilarlo?cleanno 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 pullPuede importar dependencias no empaquetadas en su proyecto desde GitHub tratándolas como dependencias del proyecto, usando el
dependsOnoperador. (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.directorypara evitar recompilaciones innecesarias (consulte las instrucciones aquí ).fuente
"my-project"dinámicamente, usando laname := "MyProject"configuración debuild.sbten 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 uriversión.Quería agregar una respuesta para sbt 0.13+. Simplemente coloque algo como esto
build.sbten la carpeta raíz del proyecto (noBuild.scala):fuente