Мы используем Makefile думая, что нет альтернатив, что это стандарт и всё такое.
Но make это не запускалка команд, а система сборки. Мы фактически используем его не по назначению.
И на самом деле альтернатива есть! Некоторое время назад я открыл для себя прекрасный инструмент - just. Он решает все проблемы make.
just - это не система сборки как make, это именно исполнитель команд!
Больше никаких Phony Targets и табуляций, привет нормальный синтаксис и передача аргументов!!! 😎
⭐️Что умеет just:
✅ Автодокументирование команд
Не нужно делать отдельную команду с докой, просто добавь комментарий
# команда сборки
build:
...
$ just --list
Available recipes:
build # команда сборки
Команда с именем default запускается по умолчанию если не указано другое, так что я обычно делаю так:
default:
just --list
Теперь просто выполняем just и получаем доку из текущего файла.
✅ Удобная работа с переменными окружения
# загрузить из .env
set dotenv-load
# глобальная переменная
export PYTHONPATH := "./src"
# переменная для команды
test $TESTUNG="true":
pytest
✅ Передача аргументов
build target:
@echo 'Build {{target}}...'
команда запуска
$ just build dev
# Build dev...
✅ Выбор интерпретатора прямо в команде
Пример с инлайн-скриптом на python:
system:
#!/usr/bin/env python3
import platform
print(platform.system())
Эта же функция позволит выполнить скрипт как одну команду вместо перезапуска шела для каждой строки
foo:
#!/usr/bin/env sh
for file in ls .; do
echo $file
done
✅ Выполнение команды в определенной директории. Можно указать как релятивный путь так и абсолютный
[working-directory: 'backend']
build:
docker compose build
Также можно задать рабочую директорию глобально
Там еще много интересного:
- поддержка функций
- автокомплиты и интеграции
- экспрешены
- алиасы команд
- группировка команд
- альтернативы команды под разные ОС
- импорт других just-файлов
- цветной вывод
- ... и другие штуковины!
Так что вперёд - ➡️ читать доку!
Репозиторий: ➡️https://github.com/casey/just
Статья: ➡️https://www.chicks.net/reference/file_formats/just/
ЗЫ. Кажется, на Makefile я уже не вернусь)
#tools
Various Artists — Ulyap Songs: Beyond Circassian Tradition (Flee, 2024)
#traditional#shychepshyn#apapshyn#accordion#electronic#Russia
«Песни Уляпа» — плод многогранного исследования маленького аула Уляп в Адыгее на севере Кавказа. Лейблы Ored Recordings и Flee вместе с куратором Никитой Рассказовым проделали огромную работу по фиксации местного музыкального наследия, сочетающего в себе древние мотивы, сельские традиции, криминальные песни и влияние постсоветской культуры.
Альбом можно условно разделить на две части. Первая — это аутентичная музыка, записанная в полевых условиях, в домах музыкантов, на праздниках и мероприятиях. Вторая — интерпретации, ремиксы и прочие эксперименты с этнографическим материалом.
Помимо музыки Flee издают книги, поэтому к альбому прилагается богато проиллюстрированный сборник эссе на английском и русском языках. По словам Булата Халилова, сооснователя лейбла Ored Recording, идея книги заключается в том, чтобы заострить внимание на той части черкесской культуры, которая воспринимается как низкая и маргинальная, то есть на застольных и условно «блатных» песнях. Для этого авторы пригласили в проект двух исследовательниц черкесской культуры, Лину Цримову и Мадину Паштову.
Книга получилась идейно неоднородной. Авторы спорят и не соглашаются друг с другом. Для Булата и Лины этот «низкий» жанр музыки — показатель жизнеспособности черкесской культуры. Для Мадины — скорее показатель деградации. Отрывок из книги можно прочитать на сайте EastEast.
🔗Spotify | Bandcamp | VK
Jrpjej — Qorror (Ored Recordings, 2020)
#drone#chanting#shychepshyn#apapshyn#accordion#Russia
Jrpjej — группа из Нальчика, исполняющая черкесскую традиционную музыку в личном прочтении. На их дебютном альбоме Qorror можно услышать песни на разнообразные темы. «Шэ» пели во время врачевания, когда вынимали из раненого пулю. «Iэзэ» — песня про знахаря, проводящего ритуал. «КIорэр» — заговор от оспы. «ФэрэкI» — оплакивание умершего от оспы. «Кхъуаом иорэд» — песня про охотника на кабанов. «Нысэишэ» и «Абдзах нысащэ Орэд» — свадебные песни. «Остыгъае къалэ» — сюжет из истории Кавказской войны про битву под Анапой. «Сэсырыкъуэ мафIэр къехь» — сюжет из нартского эпоса о том, как нарт Сосруко принес огонь богатырям-нартам. «Хъудымыд иорэд» — другой сюжет из нартского эпоса про двух могучих кузнецов. «Анзорыжь и уэрэд» — героическая песня про убийство князя Анзора своим подкупленным оруженосцем.
🔗Spotify | AppleMusic | Bandcamp
Jrpjej — Taboo: Songs of Love & Death (Ored Recordings, 2021)
#traditional#drone#chanting#shychepshyn#apapshyn#accordion#kamyl#bagpipes#Russia
Новый альбом группы Jrpjej на который попали песни из архивных записей прошлого века и фольклорных экспедиций лейбла. Некоторые из них исполняются близко к оригиналу, другие — изменены кардинально. Благодаря новой вокалистке, Дайане Куловой, в репертуар группы вошли не только эпос и героические произведения, но и женские песни: шуточных, сетования и плачь. Заглавной стала песня «тэбу», плач девушки, над которой надругалась группа всадников, а зачинщиком всего был парень, который воспитывался с ней в одной семье. Адыгское «тэбу» можно перевести как «просьба» или восклицания «боже». В остальных песнях девушки выходят за нелюбимых для предотвращения кровопролития, на игрищах красавиц убивает рикошетый выстрел, сказители проклинают царей, а герои войны за независимость умирают от ран, полученных в битве ради любви.
🔗Spotify | AppleMusic | Bandcamp