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
javac        Компиляция Java классов
build        Собрать дистрибутив программы в виде uberjar файла
run          Запуск программы через функцию -main
standalone   Создать самодостаточный пакет: программа + JRE (используя jlink, JDK 9+)
deploy       Опубликовать uberjar файл в публичный репозиторий
release      Сделать выпуск: присвоить тэг выпуска, сделать сборку, опубликовать в репозиторий
test         Запустить тесты
repl         Запустить Clojure REPL
outdated     Проверить устаревшие зависимости
outdated:fix Проверить устаревшие зависимости и обновить
format       Форматировать исходный код
lint         Проверить исходный код линтером
requirements Установить зависимости необходимые проекту

Также доступен Шаблон для библиотеки

Использование шаблона

Прежде чем воспользоваться данным шаблоном убедитесь, что в ОС установлены зависимости (см. раздел Установка зависимостей).

Для генерации нового проекта для приложения, например ru.example/myapp01, необходимо запустить команду:

clojure -Sdeps '{:deps {org.rssys/apptemplate {:git/tag "v0.3.2" :git/sha "0fee807" :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 в корневой папке проекта.

Раздел для разработчиков

Необходимо произвести настройку окружения Red Stars Systems с помощью скрипта osinit.

Установка JDK

Установка OpenJDK 21 в ОС Alt Linux.

jdk21-install.sh

apt-get install java-21-openjdk -y

Установка bb как утилиты clojure

Скрипт установки автоматизирует установку babashka в качестве утилиты clojure и clj

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 с ошибкой