Шаблон проекта для приложения
Введение
Данный шаблон предназначен для создания типового проекта приложения на языке Clojure на базе операционной системы Alt Linux p11.
Шаблон обеспечивает:
-
Управление зависимостями с помощью утилиты clojure и файла
deps.edn; -
Генерацию новых проектов на основе шаблонов с помощью инструмента deps-new;
-
Запуск целей проекта с помощью инструмента babashka и файла
bb.edn; -
Компиляцию исходного кода Clojure и сборку дистрибутива с помощью инструмента tools-build и файла
build.clj; -
Запуск тестов проекта с помощью инструмента kaocha и файла
tests.edn; -
Настройку редактора с помощью файла
.editorconfig; -
Настройку параметров для линтера
clj-kondoв файле.clj-kondo/config.edn; -
Настройку параметров для инструмента форматирования
cljstyleв файле .cljstyle;
Ниже перечислены базовые цели проекта:
mike@alt01 ~ bb tasks
The following tasks are available:
prep Подготовить зависимости к работе (например компиляция java-файлов в зависимостях)
clean Очистить содержимое сборочного каталога
javac Компиляция Java классов
build Собрать дистрибутив библиотеки в виде uberjar-файла
run Запуск программы через функцию -main
standalone Создать самодостаточный пакет: программа + JRE (используя jlink, JDK 9+)
release Сделать выпуск: присвоить тэг, сделать сборку, опубликовать в репозиторий
native Создать нативное приложение
test Запустить тесты
repl Запустить Clojure REPL
outdated Проверить устаревшие зависимости
outdated:fix Проверить устаревшие зависимости и обновить
format Форматировать исходный код
lint Проверить исходный код линтером
requirements Установить зависимости необходимые проекту
Также доступен Шаблон для библиотеки
Использование шаблона
Прежде чем воспользоваться данным шаблоном убедитесь, что в ОС установлены зависимости (см. раздел Установка зависимостей).
Для генерации нового проекта для приложения, например ru.example/myapp01, необходимо запустить команду:
clojure -Sdeps '{:deps {org.rssys/apptemplate {:git/tag "v0.6.0" :git/sha "1e379a97" :git/url "https://gitflic.ru/project/red-stars-systems/apptemplate.git"}}}' -Tnew create :template org.rssys/apptemplate :name ru.example/myapp01
или клонируйте локально этот проект и запустите из корня проекта следующую команду:
clojure -Sdeps '{:deps {org.rssys/apptemplate {:local/root "."}}}' -Tnew create :template org.rssys/apptemplate :name ru.example/myapp01 :target-dir ../myapp01
После генерации проекта смотри файл README.adoc в корневой папке проекта.
Раздел для разработчиков
Установка языка Clojure
Под учетной записью root нужно установить ряд программ:
-
Установка базовых программ.
apt-get update apt-get install java-21-openjdk apt-get install git apt-get install curl rlwrap unzip bash -
Установка языка Clojure.
Linux
curl -L -O https://github.com/clojure/brew-install/releases/latest/download/linux-install.sh chmod +x linux-install.sh ./linux-install.shMacOS
brew install clojure/tools/clojure -
Установка Babashka (язык Clojure для разработки скриптов).
Linux
bash < <(curl -s https://raw.githubusercontent.com/babashka/babashka/master/install)MacOS
brew install borkdude/brew/babashka
Установка инструмента управления шаблонами
Установка инструмента работы с шаблонами Leiningen/Boot/clj-template deps-new
clojure -Ttools install-latest :lib io.github.seancorfield/deps-new :as new
Данный инструмент будет установлен в каталог ~/.gitlibs/libs/
Лицензия
© 2025 Михаил Ананьев.
Данный проект распространяется под Открытой лицензией на программное обеспечение “Рэд старс системс”, версия 1.0.
Текст лицензии находится в файле LICENSE или по ссылке.