Bagaimana cara memeriksa versi sbt?

335

Bagaimana cara memeriksa versi sbt yang saya jalankan?

Saya memiliki set file bash yang menggunakan sbt-launch.jar, dan berfungsi, tetapi

$ sbt version

hanya menunjukkan "versi proyek" (0,1) dan

$ sbt --version

tidak melakukan apa-apa.

jpswain
sumber

Jawaban:

456
$ sbt sbtVersion

Ini mencetak versi sbt yang digunakan dalam proyek Anda saat ini, atau jika itu adalah proyek multi-modul untuk setiap modul.

$ sbt 'inspect sbtVersion'
[info] Set current project to jacek (in build file:/Users/jacek/)
[info] Setting: java.lang.String = 0.13.1
[info] Description:
[info]  Provides the version of sbt.  This setting should be not be modified.
[info] Provided by:
[info]  */*:sbtVersion
[info] Defined at:
[info]  (sbt.Defaults) Defaults.scala:68
[info] Delegates:
[info]  *:sbtVersion
[info]  {.}/*:sbtVersion
[info]  */*:sbtVersion
[info] Related:
[info]  */*:sbtVersion

Anda mungkin juga ingin menggunakannya sbt about(menyalin komentar Mark Harrah ):

Perintah about ditambahkan baru-baru ini untuk mencoba secara ringkas mencetak informasi yang paling relevan, termasuk versi sbt.

Steffen
sumber
150
Dapatkah bendera baris perintah --versi dipertimbangkan? Ini adalah hal yang akan dicoba oleh banyak orang.
Matt R
9
Pertanyaannya adalah "Bagaimana saya memeriksa versi sbt yang saya jalankan ?" dan jawabannya adalah tentang versi pringting dari proyek saat ini . Mengapa jawaban diterima?
Cherry
47
Percayai SBT untuk selalu memilih cara yang paling tidak standar dalam melakukan sesuatu :)
samthebest
15
Seluruh dunia menggunakan '--version', sbt menggunakan 'sbtVersion'. Saya harus memeriksanya setiap saat ketika saya membutuhkannya (tidak sering).
Osskar Werrewka
5
Jelas dan tersimpan baik dalam dokumentasi, mengikuti tradisi sbt tua yang baik.
matanster
30

Menjalankan perintah, "sbt sbt-version" hanya akan menampilkan direktori Anda saat ini dan nomor versi.

$ sbt sbt-version
[info] Set current project to spark (in build file:/home/morgan/code/spark/)
[info] 0.13.8
Morgan Kenyon
sumber
10
Dimulai dengan sbt 1.0 Anda bahkan harus menggunakan sbt sbtVersion(camelCase) karena dukungan untuk nama yang dipisahkan dengan tanda hubung telah dihapus .
sschuberth
29

sbt about lalu masuk untuk mendapatkan versi SBT

masukkan deskripsi gambar di sini

Prasad
sumber
14

Di SBT 0.13 dan di atas, Anda dapat menggunakan sbtVersiontugas (seperti yang ditunjukkan oleh @steffen) atau aboutperintah (seperti yang ditunjukkan oleh @ mark-harrah)

Ada perbedaan cara kerja sbtVersiontugas di dalam dan di luar proyek SBT. Saat berada dalam proyek SBT, sbtVersionmenampilkan versi SBT yang digunakan oleh proyek dan sub-proyeknya.

$ sbt sbtVersion
[info] Loading global plugins from /Users/jacek/.sbt/0.13/plugins
[info] Updating {file:/Users/jacek/.sbt/0.13/plugins/}global-plugins...
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.
[info] Loading project definition from /Users/jacek/oss/scalania/project
[info] Set current project to scalania (in build file:/Users/jacek/oss/scalania/)
[info] exercises/*:sbtVersion
[info]  0.13.1-RC5
[info] scalania/*:sbtVersion
[info]  0.13.1-RC5

Sudah diatur di project/build.properties:

jacek:~/oss/scalania
$ cat project/build.properties
sbt.version=0.13.1-RC5

Tugas yang sama dieksekusi di luar proyek SBT menunjukkan versi saat ini dari executable itu sendiri.

jacek:~
$ sbt sbtVersion
[info] Loading global plugins from /Users/jacek/.sbt/0.13/plugins
[info] Updating {file:/Users/jacek/.sbt/0.13/plugins/}global-plugins...
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.
[info] Set current project to jacek (in build file:/Users/jacek/)
[info] 0.13.0

Ketika Anda berada di luar, aboutperintah itu tampaknya lebih cocok karena menunjukkan versi sbt serta plugin Scala dan yang tersedia.

jacek:~
$ sbt about
[info] Loading global plugins from /Users/jacek/.sbt/0.13/plugins
[info] Set current project to jacek (in build file:/Users/jacek/)
[info] This is sbt 0.13.0
[info] The current project is {file:/Users/jacek/}jacek 0.1-SNAPSHOT
[info] The current project is built against Scala 2.10.2
[info] Available Plugins: com.typesafe.sbt.SbtGit, com.typesafe.sbt.SbtProguard, growl.GrowlingTests, org.sbtidea.SbtIdeaPlugin, com.timushev.sbt.updates.UpdatesPlugin
[info] sbt, sbt plugins, and build definitions are using Scala 2.10.2

Anda mungkin ingin menjalankan 'help about' untuk membaca dokumentasinya:

jacek:~
$ sbt 'help about'
[info] Loading global plugins from /Users/jacek/.sbt/0.13/plugins
[info] Set current project to jacek (in build file:/Users/jacek/)
Displays basic information about sbt and the build.

Untuk sbtVersionpengaturan, inspectperintah dapat membantu.

$ sbt 'inspect sbtVersion'
[info] Loading global plugins from /Users/jacek/.sbt/0.13/plugins
[info] Set current project to jacek (in build file:/Users/jacek/)
[info] Setting: java.lang.String = 0.13.0
[info] Description:
[info]  Provides the version of sbt.  This setting should be not be modified.
[info] Provided by:
[info]  */*:sbtVersion
[info] Defined at:
[info]  (sbt.Defaults) Defaults.scala:67
[info] Delegates:
[info]  *:sbtVersion
[info]  {.}/*:sbtVersion
[info]  */*:sbtVersion
[info] Related:
[info]  */*:sbtVersion

The versionpengaturan bahwa orang-orang tampaknya mengharapkan untuk memeriksa untuk mengetahui versi SBT adalah untuk mengatur Versi / revisi modul saat ini .

$ sbt 'inspect version'
[info] Loading global plugins from /Users/jacek/.sbt/0.13/plugins
[info] Set current project to jacek (in build file:/Users/jacek/)
[info] Setting: java.lang.String = 0.1-SNAPSHOT
[info] Description:
[info]  The version/revision of the current module.
[info] Provided by:
[info]  */*:version
[info] Defined at:
[info]  (sbt.Defaults) Defaults.scala:102
[info] Reverse dependencies:
[info]  *:projectId
[info]  *:isSnapshot
[info] Delegates:
[info]  *:version
[info]  {.}/*:version
[info]  */*:version
[info] Related:
[info]  */*:version

Ketika digunakan dalam proyek SBT tugas / pengaturan dapat menampilkan output yang berbeda.

Jacek Laskowski
sumber
1
Mungkin Anda menggunakan peluncur sbt khusus, seperti sbt-ekstra, yang mengesampingkan arti dari sbt-versionsatu baris perintah. Kalau tidak, saya tidak tahu perbedaan antara sbt-versiondi baris perintah dan di prompt. Seharusnya sbtVersionpengaturan yang sama dalam kedua kasus.
Mark Harrah
adakah cara untuk mengatur versi sbt yang berbeda untuk subproyek yang berbeda?
ア レ ッ ク ス
Mengapa sbt sbtVersionmenjalankan di luar proyek membutuhkan waktu 9 detik untuk berjalan? Python, node, dan ruby ​​semuanya membutuhkan waktu satu detik, seperti awk, sed, minibloom, dan sekelompok alat baris perintah lainnya. gcc membutuhkan satu detik penuh, yang super lambat. Tapi 9 detik membutuhkan ceri. Apa yang dilakukan sbt pada waktu itu?
Max Murphy
@MaxMurphy Inisialisasi JVM adalah salah satu hal paling lambat yang saya pikir.
Jacek Laskowski
9

Kamu bisa memakai sbt about

Contoh: 
    C: \ Users \ smala> sbt about
    [info] Tetapkan proyek saat ini ke smala (dalam file build: / C: / Users / smala /)
    [info] Ini sbt 0.13.6
    [info] Proyek saat ini adalah {file: / C: / Users / smala /} smala 0.1-SNAPSHOT
    [info] Proyek saat ini dibangun melawan Scala 2.10.4
    [info] Plugin Yang Tersedia: sbt.plugins.IvyPlugin, sbt.plugins.JvmPlugin, sbt.plugins.CorePlugin, sbt.plugins.JUnitXmlReportPlugin
    [info] sbt, sbt plugins, dan definisi build menggunakan Scala 2.10.4 "
Sandeep M
sumber
1
Bagi orang lain yang mencari jawaban untuk pertanyaan ini, INI adalah jawabannya. Tidak dapat memahami mengapa jawaban yang salah di atas diterima ... dengan menggali melalui disussi, seseorang dapat menemukan jawaban ini ... tapi ...
TheGeeko61
2

Dari dalam shell sbt

sbt:venkat> about
[info] This is sbt 1.3.3
...
Venkat Kotra
sumber
0

jalankan sbt console lalu ketik sbtVersionuntuk memeriksa versi sbt, dan scalaVersionuntuk versi scala

Abdelwahed Houbouby
sumber
0

Melakukan sbt sbt-versionmenyebabkan beberapa kesalahan sebagai

[error] Not a valid command: sbt-version (similar: writeSbtVersion, session)
[error] Not a valid project ID: sbt-version
[error] Expected ':'
[error] Not a valid key: sbt-version (similar: sbtVersion, version, sbtBinaryVersion)
[error] sbt-version
[error]            ^

Seperti yang Anda lihat petunjuknya similar: sbtVersion, version, sbtBinaryVersion, semuanya bekerja tetapi yang benar dihasilkan olehsbt sbtVersion

Ramesh Maharjan
sumber
Versi yang lebih baru karya-karya berikut, sbt tentang atau sbt sbtVersion
Viru
Sudah ada jawaban lain untuk itu saya hanya ingin memasukkan informasi baru dan tidak mengulangi jawaban lain @viru
Ramesh Maharjan
0

Anda dapat menggunakan perintah di bawah ini untuk memeriksa versi SBT

sbt sbtVersion
sbt about
sbt 'inspect version'
sbt version
Purusothaman S
sumber