2014-05-01 16 views
19

Używam sbt do tworzenia projektów scala, ale zawsze wydaje mi się, że jest to kompleks (nieznany) i ciężki dla mnie. Używam również gradle do budowania projektów java, co mnie uszczęśliwia.Czy można używać gradle do tworzenia projektów scala?

Zastanawiam się, czy można używać gradle do tworzenia projektów scala? Czy są jakieś duże projekty scala, które używa gradle?

Niektórzy z moich znajomych mówią mi "Nigdy nie myśl o używaniu gradle dla projektu scala", ale odmówili podania przyczyny.

+1

Odpowiedź brzmi: tak. Prawdziwe pytanie brzmi, skoro wszyscy używają sbt, dlaczego mielibyśmy to robić? – wheaties

+1

Nie mogę cię zrozumieć. Przepraszam za mój zły angielski. – Freewind

+0

Możesz zbudować Scala z Gradle. Jednak większość ludzi używa SBT i zna się na budowaniu Scali za pomocą tego narzędzia. Powinieneś naprawdę dowiedzieć się, jakie są kompromisy w zakresie wsparcia społeczności, integracji narzędzi itp. – wheaties

Odpowiedz

20

Jest dość łatwy w użyciu gradle ze Scala. Zrobiliśmy to przez długi czas (zespół wymieszany z programistami Java, Groovy i Scala) i byliśmy z niego bardzo zadowoleni. Większość rzeczy działa całkiem dobrze po wyjęciu z pudełka.

Więcej o Gradle z Scala: http://www.gradle.org/docs/current/userguide/scala_plugin.html

Istnieje kilka problemów/upadki choć:

  • Mixed kompilacja kodu, gdy w zależności od kodeksu Scala z Java w mieszanych projektach kod. (Niektóre konfiguracja i będzie działać, ale nie z pudełka)
  • więcej konfiguracja Scala konkretnych narzędzi potrzebnych jak w SBT
  • Integracja niektórych Scala-Tools, takich jak Scalastyle lub SCCT nie jest jeszcze możliwe
  • nie konsola SBT (konsola Gradle nie pracuje prawidłowo ponieważ ostatni raz sprawdzone)
  • dodając liczbę scala_version do artefaktów musi być dodana ręcznie za każdym razem (nie %% jak w SBT)
+4

Praktyczne doświadczenia są zawsze cenne – Freewind

+0

To można używać skalastyle ze gradle, zobacz https://github.com/MansurAshraf/gradle-scalastyle-plugin –

+0

Złożyłem wniosek o lepszą obsługę cross-build w wtyczce Gradle Scala: https://github.com/gradle/ gradle/issues/998 – Alex

5

Jest to zdecydowanie możliwe. Obsługa Scala w Scali jest udokumentowana w rozdziale "Wtyczka Scala" w Gradle User Guide. Wtyczka jest używana przez duże firmy w dużych projektach i może być skonfigurowana do używania tego samego przyrostowego kompilatora Scala co sbt. Więc najlepiej spróbuj sam i sprawdź, czy spełnia twoje wymagania.

+0

Link w odpowiedzi Piotra jest linkiem do podręcznika wtyczki Scala. Krótki (7-minutowy) przewodnik, który pokazuje, jak szybko skonfigurować projekt Scala z Gradle, patrz tutaj: https://guides.gradle.org/building-scala-libraries/ –

Powiązane problemy