Який інструмент побудови найкращий для Scala? Які плюси і мінуси кожного з них? Як визначити, який із них використовувати в проекті?
Який інструмент побудови найкращий для Scala? Які плюси і мінуси кожного з них? Як визначити, який із них використовувати в проекті?
Відповіді:
Ми використовуємо Maven для створення проектів Scala на роботі, оскільки вона добре інтегрується з нашим CI-сервером. Ми, звичайно, можемо просто запустити сценарій оболонки, щоб розпочати збірку, але у нас з Мейвена виходить маса іншої інформації, яку ми хочемо перейти до CI. Ось про єдину причину, про яку я можу думати, щоб використовувати Maven для проекту Scala.
В іншому випадку просто використовуйте SBT. Ви отримуєте доступ до тих самих залежностей (справді найкраща частина про Maven, IMHO). Ви також отримуєте поступовий збірник, який величезний. Можливість запускати оболонку всередині вашого проекту, що також чудово.
ScalaMock працює лише з SBT, і ви, ймовірно, хочете використовувати це, а не насмішку з бібліотеки Java. Крім цього, розширити SBT набагато простіше, оскільки ви можете написати повний код скали у файлі збірки, тому вам не доведеться проходити всі ригамароли написання Mojo.
Коротше кажучи, просто використовуйте SBT, якщо вам справді не потрібна тісна інтеграція у ваш сервер CI
Питання загрожує просто генеруванням багатьох думок; краще було б мати чіткий перелік вимог або опис свого оточення, попередніх знань тощо.
FWIW, у цій нитці списку розсилки Scala є більше думок .
Мої 2c: йдіть із sbt, якщо у вас немає конкретних вимог
gen-idea
завдання та повторно відкрити проект: зроблено оновлення.compile
, test
, run
, doc
, publish-local
, console
) - У console
це одна з кращих можливостей.Деякі люди ненавиджу sbt, оскільки він використовує Ivy для управління залежностями (я не можу коментувати його плюси і мінуси, але більшість випадків це не проблема), деякі люди ненавиджу sbt, оскільки ви визначаєте файл збірки в термінах Scala DSL замість XML. Деякі люди були розчаровані, що формат sbt змінився з v0.7 на v0.10, але очевидно, що міграція не вплине на вас, якщо ви почнете з нуля.