Làm thế nào để người hâm mộ chạy lại với -deprecation để biết chi tiết về người dùng trong sbt?


168

Khi tôi biên dịch mã Scala, bằng cách chạy sbt compile, SBT nói:

$ sbt compile
...
[warn] there were 5 deprecation warnings; re-run with -deprecation for details
...

Làm thế nào để làm điều đó? (Từ trong SBT?)


2
Câu hỏi tương tự (bao gồm câu trả lời cho câu hỏi của bạn) tại stackoverflow.com/questions/9415962/iêu
Kristian Domagala

Câu trả lời:


217

vỏ sbt

Trong khi trong sbt shell (nếu bạn không muốn thay đổi build.sbt):

$ sbt
> set scalacOptions in ThisBuild ++= Seq("-unchecked", "-deprecation")
> compile
> exit

Do in ThisBuild, setcũng áp dụng các cài đặt cho tất cả các dự án phụ.

Dòng lệnh

Bạn cũng có thể chạy ở trên dưới dạng một lệnh trên dòng lệnh.

sbt '; set scalacOptions in ThisBuild ++= Seq("-unchecked", "-deprecation") ; compile' 

Thủ thuật là sử dụng ;(dấu chấm phẩy) để phân tách các lệnh và '(đánh dấu) để bao gồm tất cả các lệnh được phân tách ;thành một đối số duy nhất cho sbt.


2
@retronym: in Globalthay vì in ThisBuildcũng hoạt động tốt như nhau với các tiểu dự án, nhưng tại sao cái sau lại được ưa thích hơn? hoặc thậm chí là nó?
Erik Kaplun

23
scalacOptions := Seq("-unchecked", "-deprecation")

Thêm cài đặt này vào build.sbt của bạn và, nếu bạn có dự án đa mô-đun, hãy thêm nó vào mọi cài đặt của dự án.


-2

Khi thời gian chảy các giải pháp mới được đưa ra. Vì vậy, bây giờ bạn có thể chạy lại trình biên dịch scala mà không cần phát hành lại toàn bộ dự án.

Bạn cần cài đặt plugin sime-sbt :

addSbtPlugin("org.ensime" % "sbt-ensime" % "1.0.0")

Sau đó, bạn có thể sử dụng ensimeCompileOnlytác vụ để biên dịch tập tin duy nhất. SBT cho phép cấu hình cài đặt cho mỗi tác vụ, do đó bạn chỉ có thể thay đổi cho các tác vụ đó:

set scalacOptions in (Compile, EnsimeKeys.ensimeCompileOnly) += "-deprecation"
ensimeCompileOnly src/main/scala/MyFile.scala

1
Thêm chắc chắn chỉ để có được -deprecationlà một ý tưởng khủng khiếp. Đảm bảo là để hỗ trợ chú thích nhanh chóng trong các biên tập viên. Bên cạnh đó, bản thân Sureime có một loạt vấn đề với một số loại dự án (đáng chú ý nhất là những dự án sử dụng macro rất nhiều).
Zac

plugin đồng thời là một người bạn đồng hành nhỏ với máy chủ ngôn ngữ béo. Bạn có thể sử dụng nó một cách riêng biệt. Hoặc chỉ có thể sao chép một số chức năng từ nó.
ayvango
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.