Руководство по использованию sbt

Этим постом, я попробую начать серию переводов официальной документации, об инструменте, который при текущем росте языка Scala становится все более востребованным, но о котором тем не менее очень мало информации на русском языке.Речь пойдет о sbt — системе сборки проектов для языка Scala (хотя, важно упомянуть, что Java проекты (и вообще любые другие) им так же могут собираться).Статья является началом перевода документации с сайта проекта scala-sbt.org и так как это мой первый опыт перевода — буду рад любым замечаниям и правкам.Так же, из-за того, что пока перевод оформлен в виде статьи, я буду пропускать моменты, которые смотрелись бы не совсем корректно, в контексте отдельной части руководства.Предисловиеsbt, используя небольшое число концепций, предлагает гибкие решения сборки проектов.Это руководство расскажет о некоторых моментах, которые необходимы для создания и поддержки решений по сборке с помощью sbt.Данное руководство, очень рекомендовано к прочтению. Но, если вам некогда читать все, то самую важную информацию вы можете прочитать в разделах «Параметры .sbt сборки», «Области сборок», «Дополнительные параметры сборок». Но, мы не обещаем, что эта хорошая идея поможет вам пропустить все страницы данного руководства.Лучше всего читать этот документ последовательно, опираясь на пройденный ранее материал.Спасибо, что используете sbt! Желаем вам получить от этого максимум удовольствия!1. Установка sbt Для создания sbt проекта вам нужно сделать следующие шаги: Установить sbt и создать скрипт запуска Создать простой проект «Hello world» Создать директорию проекта с исходными файлами внутри Описать параметры сборки Прочитать как запустить sbt Продолжить чтение руководства о параметрах sbt сборки В конечном счете, установка сводиться к запуску JAR файла и shell скрипта. Но, мы опишем несколько путей для разных платформ, которые могут сделать установку менее утомительной.Если у вас появились проблемы с запуском sbt, смотрите раздел «Примечания к установке».1.a. Установка под Mac С помощью Macports$ port install sbtHomebrew$ brew install sbt1.b. Установка под Windows Просто скачайте инсталятор msi и запустите его.1.c. Установка под Linux Официально поддерживаемые дистрибутивы: RPM пакетDEB пакетВ дальнейшем я расскажу о том, как можно скачать и настроить sbt вручную. А пока что, самое интересное.

2. Hello, World Создаем директорию проекта с исходным кодом Одним из корректных вариантов sbt проекта, может быть директория, содержащая один файл с исходным кодом. Попробуйте создать директорию hello с файлом hw.scala, со следующим содержимым: object Hi { def main (args: Array[String]) = println («Hi!») } Теперь, в самой директории запустите sbt и наберите команду run в интерактивной консоле. В Linux или OS X это выглядить примерно так: $ mkdir hello $ cd hello $ echo 'object Hi { def main (args: Array[String]) = println («Hi!») }' > hw.scala $ sbt … > run … Hi! При создании проекта, sbt работает в соответствии со следующими правилами: Исходник лежит в корневой директории Исходники лежат в директории src/main/scala или src/main/java Тесты лежат в src/test/scala или src/test/java Файлы ресурсов в src/main/resources или src/test/resources Файлы jar в директории lib По умолчанию, sbt соберет проект той версией scala, с помощью которой sbt был запущен сам.Кроме запуска консоли, проект можно сразу запустить на выполнение командой sbt run.Параметры сборки Большинство проектов, все же нуждаются в более сложной настройке процесса сборки. В sbt основные параметры сборки хранятся в файле build.sbt в корневой директории проекта.Например, если для нашего проекта hello создать файл настроек, то выглядеть бы он мог примерно так: name:= «hello»

version:= »1.0»

scalaVersion:= »2.10.3» Обратите внимание на пустые строки. Это не просто так, они на самом деле требуются чтобы отделять строки в файле конфигурации и без них sbt выдаст ошибку. Подробнее мы вернемся к этому файлу в последующих разделах.Установка версии sbt Вы можете принудительно установить версию sbt если пропишете в файле hello/project/build.properties указав там следующую строчку: sbt.version=0.13.5Теперь, будет использоваться версия sbt 0.13.5. Хранить версию sbt следует именно в файле project/build.properties для избежания возможных колизий.В качестве заключения Для эксперимента, я решил ограничиться только этими самыми первыми разделами, и если реакция будет более-менее положительной, надеюсь продолжить переводить и остальные.P.S. Буду очень признателен, за указанные неточности и замечания перевода. Спасибо!

© Habrahabr.ru