Saya pernah mendengar (dan saya tahu saya telah melihat contoh juga, jika saja saya dapat mengingat di mana) yang sbt
dapat memperoleh dependensi dari git repo.
Saya mencari untuk mendapatkan ketergantungan harrah / up dari github. Repositori tidak menyediakan file JAR artefak apa pun, hanya pohon sumber yang disiapkan untuk dibangun menggunakan sbt
. Proses yang saya bayangkan adalah sbt
mengunduh repo sumber, membangunnya, dan kemudian menggunakannya sebagai artefak ketergantungan.
Saya mungkin membayangkan bahwa sbt
sebenarnya bisa melakukan sesuatu seperti ini. Bisa kah? Dan jika ya, bagaimana caranya?
build.sbt
?sbt
untuk mengkompilasinya kembali?clean
sepertinya tidak membantu.#master
, memuat ulang, itu mengkloningnya, lalu saya mendorong komit baru ke master dan sbt masih berfungsi dengan repositori yang awalnya dikloning tanpa memperhatikan komit baru. Pada titik ini seseorang harus menghapusnya dari/.sbt/0.13/staging/
dan meminta sbt mengkloningnya lagi atau pergi ke sana dan melakukannyagit pull
Anda dapat mengimpor dependensi yang tidak dikemas ke dalam proyek Anda dari GitHub dengan memperlakukannya sebagai dependensi proyek, menggunakan
dependsOn
operator. (Ini berbeda dari cara memasukkan dependensi library yang telah dikompilasi).Perhatikan bahwa Anda dapat menentukan cabang mana yang akan ditarik menggunakan
#
notasi. Berikut beberapa kode Scala SBT yang berfungsi dengan baik untuk saya:Perhatikan bahwa jika Anda memiliki beberapa proyek SBT yang bergantung pada proyek eksternal yang sama, ada baiknya menyiapkan pusat
sbt.boot.directory
untuk menghindari kompilasi ulang yang tidak perlu (lihat petunjuk di sini ).sumber
"my-project"
secara dinamis, menggunakanname := "MyProject"
setelan daribuild.sbt
dalam akar proyek?git://
sintaks protokol tampaknya tidak berfungsi untuk saya di play / sbt 13.0.https://
bekerja meskipun. Ini mungkin juga disebabkan oleh pengaturan khusus git.master
, jika tidak saya mendapatkan:[error] No project 'project_name' in 'ssh://[email protected]/user/project.git#branch'
Karena saya memiliki masalah dalam menyelesaikan dependensi perpustakaan saya (menggunakan yang disarankan
RootProject
), saya ingin menunjukkan ke objek yang dipanggilProjectRef
. Jadi, jika seseorang perlu bergantung pada perpustakaan yang berada di git, saya sarankan untuk melakukannya sebagai berikut:Sumber: http://blog.xebia.com/git-subproject-compile-time-dependencies-in-sbt/
sumber
https uri
versi.Saya ingin menambahkan jawaban untuk sbt 0.13+. Letakkan saja sesuatu seperti ini ke
build.sbt
folder root proyek Anda (bukanBuild.scala
):sumber