В этой статье я расскажу зачем и как нужно использовать менеджер пакетов DUB при разработке приложений на языке D.
В целом на сегодня для сборки разрабатываемых приложений на языке D мы имеем три основных инструмента:
- DMD / GDC / LDC - для непосредственной сборки компиляторами (DMD - рекомендуется для разработки как самый быстрый в компиляции, GDC/LDC - рекомендуется для оптимизации сборки при релизе);
- DUB - для сборки приложений с солидными внешними зависимостями, менеджер модулей и по совместительству помощник по сборке (для примера близкая аналогия из мира Ruby, dub = gem + bundle);
- RDMD - для использования модулей D в качестве shell-скриптов, собирает скрипт в первый запуск на лету и далее использует кэш (любой скрипт превращается в shell-скрипт добавлением в первой строке файла shebang вида "#!/usr/bin/env rdmd").
Подготовительный этап
- Установите компилятор с языка D. Для этого пройдите по ссылке на официальный сайт , выберите необходимый вариант, скачайте и установите его. На текущий момент доступны компиляторы серии DMD для следующих ОС: Debian/Ubuntu, Fedora/CentOS, FreeBSD, OpenSuse, OS X, Windows.
- Установите менеджер пакетов DUB. Для установки перейдите по ссылке на официальный сайт , выберите необходимый вариант, скачайте и установите его. На текущий момент DUB доступен как в виде исходных текстов так и в сборке для ОС: Linux, OS X, Windows.
Создание и настройка сборки приложения
- Откройте терминал и перейдите в папку ваших проектов.
- Инициализируйте приложение с помощью команды
dub init my_project
- Перейдите в каталог вашего проекта, в нём вы увидите свежесозданные манифест-файл "dub.json", каталог для исходных текстов "source" содержащий базовый файл исходных текстов "app.d";
- Заполните все поля файла dub.json и по необходимости дополните своими настройками. Материалы по формату представления данных JSON вы можете найти здесь , а информацию по всевозможным настройкам манифест-файла здесь . Например, вы можете изменить имя базового файла исходных текстов с "app.d" на "application.d", каталог для файлов собранного ПО с текущего на подкаталог "build", а название для результирующего исполняемого файла проекта указать "my_project", для этого в "dub.json" понадобится добавить следующие строки:
{... "configurations": [ {... "mainSourceFile": "source/application.d", "name": "my_project", "targetPath": "build", "workingDirectory": "build" ...}, ...}
- Создайте необходимые исходные тексты и медиа-файлы в каталоге source;
- Для сборки и запуска отладочного варианта приложения выполните консольную команду из каталога проекта:
Для запуска встроенных юнит-тестов выполните:dub run
Для сборки отладочного варианта приложения выполните:dub test
Для сборки релиза приложения выполните:dub build
dub build --build=release
Если вашей целью является создание бесплатного общедоступного приложения или библиотеки, то с помощью DUB вы также можете поделиться вашим проектом через единый репозиторий пакетов.
На этом краткий экскурс в необходимый минимум для создания приложения завершён, желаю вам великих достижений и приятного изучения.