2015-04-15 23 views
5

Tôi có một dự án SBT với ~ 40 tiểu dự án. Có một số plugin, lớn nhất trong số đó là Play và sbt-native-packager. Không có plugin toàn cầu.SBT chậm khởi động với nhiều dự án

Trên một số phần cứng khá mạnh, khởi động (sau lần đầu tiên) mất 20-25 giây. Tôi biết rằng nó không phải là tất cả do JVM khởi động, kể từ khi một dự án nhỏ (tinh khiết trên không) bắt đầu trong 3-4s.

Làm cách nào để tìm hiểu lý do tại sao sbt mất nhiều thời gian hơn để bắt đầu trong dự án lớn hơn?

Tôi đã thử sbt -Dsbt.task.timings = true, nhưng không bao gồm phần lớn thời gian. Sau khi in thời gian qua, nhưng trước khi

Đặt dự án hiện tại để dụ (trong xây dựng file:/home/paul/mân/example /)

có một tạm dừng 15s.

Làm cách nào để tìm nguyên nhân khiến khởi động chậm?

Trả lời

1

Cố gắng tạo project/debug.sbt:

logLevel := Level.Debug 

và xem những gì bạn tìm thấy. Thông thường, đó là việc biên soạn các tệp xây dựng nếu bạn có project/*.scala.

+0

Tệp SBT có nhanh hơn hoặc về cơ bản là tệp Scala vào cuối ngày không? –

+0

Chúng cũng sẽ được biên soạn. Để tiết kiệm thời gian, bạn nên biến nó thành một plugin được xuất bản. –

+0

"khởi động (sau lần đầu tiên)" Bằng cách đó tôi có nghĩa là tất cả các dự án/*. –

Các vấn đề liên quan