Шаблон проекта для библиотеки
Введение
Данный шаблон предназначен для создания типового проекта библиотеки на языке Clojure на базе операционной системы Alt Linux p10.
Шаблон обеспечивает:
-
Управление зависимостями с помощью утилиты 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:
clean Очистить содержимое папки target
build Собрать дистрибутив библиотеки в виде jar файла
install Установить локально jar файл (требуется pom.xml файл)
deploy Опубликовать jar файл в публичный репозиторий
release Сделать выпуск: присвоить тэг выпуска, сделать сборку, опубликовать в репозиторий
test Запустить тесты
repl Запустить Clojure REPL
outdated Проверить устаревшие зависимости
outdated:fix Проверить устаревшие зависимости и обновить
format Форматировать исходный код
lint Проверить исходный код линтером
requirements Установить зависимости необходимые проекту
Также доступен Шаблон для приложения
Использование шаблона
Прежде чем воспользоваться данным шаблоном убедитесь, что в ОС установлены зависимости (см. раздел Установка зависимостей).
Для генерации нового проекта библиотеки для артефакта, например ru.example/mylib01
, необходимо запустить команду:
clojure -Sdeps '{:deps {org.rssys/libtemplate {:git/tag "v0.6.3" :git/sha "9c80557" :git/url "https://gitflic.ru/project/red-stars-systems/libtemplate.git"}}}' -Tnew create :template org.rssys/libtemplate :name ru.example/mylib01
или клонируйте локально этот проект и запустите из корня проекта следующую команду:
clojure -Sdeps '{:deps {org.rssys/libtemplate {:local/root "."}}}' -Tnew create :template org.rssys/libtemplate :name ru.example/mylib01 :target-dir ../mylib01
После генерации проекта смотри файл README.adoc
в корневой папке проекта.
Раздел для разработчиков
Необходимо произвести настройку окружения Red Stars Systems с помощью скрипта osinit
.
Установка JDK
Установка OpenJDK 21 в ОС Alt Linux.
jdk21-install.sh
apt-get install java-21-openjdk -y
Установка bb как утилиты clojure
Скрипт установки автоматизирует установку babashka
в качестве утилиты clojure
и clj
в окружении Red Stars Systems.
install-deps.sh
rsi clj-1.11.1.1413.bb
sudo bb /opt/rssys/bin/clj-1.11.1.1413.bb -l `whoami` -s -i
Установка инструмента управления шаблонами
Установка инструмента работы с шаблонами Leiningen/Boot/clj-template deps-new
clojure -Ttools install io.github.seancorfield/deps-new '{:git/tag "v0.5.2"}' :as new
Данный инструмент будет установлен в каталог ~/.gitlibs/libs/
Лицензия
Автор: Михаил Ананьев.
Данный проект распространяется под Открытой лицензией на программное обеспечение РЭД СТАРС СИСТЕМС 1.0
Текст лицензии находится в файле LICENSE или по ссылке.
Описание
Шаблон проекта для библиотеки на языке Clojure