README.md

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

    Введение

    Данный шаблон предназначен для создания типового проекта приложения на языке 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:
    
    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.4.0" :git/sha "e7a2b69" :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.12.0.1517.bb
    sudo bb /opt/rssys/bin/clj-1.12.0.1517.bb -l `whoami` -s -i
    

    Установка инструмента управления шаблонами

    Установка инструмента работы с шаблонами Leiningen/Boot/clj-template deps-new

    clojure -Ttools install io.github.seancorfield/deps-new '{:git/tag "v0.8.0"}' :as new
    

    Данный инструмент будет установлен в каталог ~/.gitlibs/libs/

    Лицензия

    Автор: Михаил Ананьев.

    Данный проект распространяется под Открытой лицензией на программное обеспечение “Рэд старс системс”, версия 1.0.
    Текст лицензии находится в файле LICENSE или по ссылке.

    Описание

    Шаблон проекта для приложения на языке Clojure

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