README.md

Шаблон проекта для библиотеки

Введение

Данный шаблон предназначен для создания типового проекта библиотеки на языке 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

Конвейеры
0 успешных
0 с ошибкой