2014-05-01 43 views
19

Tôi đang sử dụng sbt để xây dựng dự án scala, nhưng nó luôn luôn có vẻ quá phức tạp (không quen thuộc) và nặng nề với tôi. Tôi cũng đang sử dụng gradle để xây dựng các dự án java và điều đó làm tôi hạnh phúc.Có thể sử dụng gradle để phát triển các dự án scala không?

Tôi tự hỏi có thể sử dụng gradle để xây dựng các dự án scala không? Có bất kỳ dự án scala lớn nào sử dụng gradle không?

Một số người bạn của tôi chỉ nói với tôi "Không bao giờ nghĩ đến việc sử dụng gradle cho dự án scala", nhưng từ chối cho tôi biết lý do.

+1

Câu trả lời là có. Câu hỏi thực sự là, vì mọi người đều sử dụng sbt, tại sao bạn? – wheaties

+1

Tôi không thể hiểu bạn. Xin lỗi vì tiếng Anh của tôi không tốt. – Freewind

+0

Bạn có thể xây dựng Scala với Gradle. Tuy nhiên, hầu hết mọi người sử dụng SBT và quen thuộc với việc xây dựng Scala bằng cách sử dụng công cụ đó. Bạn nên thực sự tìm hiểu những gì mà sự cân bằng giữa hỗ trợ cộng đồng, tích hợp công cụ, v.v. – wheaties

Trả lời

20

Khá dễ sử dụng gradle với Scala. Chúng tôi đã làm điều đó trong một thời gian dài (nhóm hỗn hợp của các nhà phát triển Java, Groovy và Scala) và đã khá hài lòng với nó. Hầu hết mọi thứ hoạt động khá tốt.

Thông tin thêm về gradle với scala: http://www.gradle.org/docs/current/userguide/scala_plugin.html

Có một số vấn đề/downfalls mặc dù:

  • hỗn hợp trình biên dịch mã khi tùy thuộc vào Scala Mã từ Java vào các dự án luật hỗn hợp. (Một số cấu hình và nó sẽ làm việc, nhưng không phải ra khỏi hộp)
  • cấu hình hơn cho các công cụ cụ thể Scala cần thiết như trong SBT
  • Lồng ghép một số Scala-Các công cụ như các Scalastyle hoặc SCCT là không thể nào được nêu
  • không SBT console (gradle console chưa được hoạt động bình thường kể từ lần cuối tôi đã kiểm tra)
  • thêm số scala_version để hiện vật phải được bổ sung bằng tay mỗi lần (không %% như trong SBT)
+4

Trải nghiệm thực tế luôn là quý giá – Freewind

+0

Nó có thể sử dụng scalastyle từ gradle, xem https://github.com/MansurAshraf/gradle-scalastyle-plugin –

+0

Tôi đã gửi yêu cầu hỗ trợ cross-build tốt hơn trong plugin Gradle Scala: https://github.com/gradle/ gradle/issues/998 – Alex

5

Chắc chắn là có thể. Hỗ trợ Scala của Gradle được ghi lại trong chương "plugin Scala" trong số Gradle User Guide. Plugin được sử dụng bởi các công ty lớn trên các dự án lớn và có thể được cấu hình để sử dụng trình biên dịch Scala gia tăng tương tự như sbt. Vì vậy, tốt nhất hãy thử cho chính mình và xem nếu nó phù hợp với yêu cầu của bạn.

+0

Liên kết trong câu trả lời của Peter là liên kết đến hướng dẫn sử dụng plugin của Scala. Đối với một hướng dẫn ngắn (7 phút) cho bạn thấy làm thế nào để nhanh chóng thiết lập một dự án Scala với Gradle, xem tại đây: https://guides.gradle.org/building-scala-libraries/ –

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