Мы используем 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
🇰🇵Le président de la Douma russe, Viatcheslav Volodine, a rencontré samedi à #Pyongyang Cho Yong Won, président du Présidium de l'Assemblée populaire suprême de la République populaire démocratique de Corée.
Des images montrent les deux hommes politiques se serrant la main et s'entretenant.
Selon la Douma russe, ils ont discuté du développement du dialogue interparlementaire et de nouveaux formats de coopération. Volodine a également félicité Cho Yong Won pour sa nomination et l'a invité à se rendre en #Russie.
RT en français • Osez questionner !
⚡️Rencontre entre le ministre russe de la Défense et Kim Jong-un
Le 26 avril le dirigeant nord-coréen Kim Jong-un a reçu à #Pyongyang le ministre russe de la Défense, Andreï #Biélooussov. L’entretien a porté sur l'état et les perspectives de la coopération militaire entre #Moscou et Pyongyang. Selon Andreï Biélooussov, « les relations entre les États russe et nord-coréen ont atteint un niveau exceptionnellement élevé ».
Le ministère russe de la Défense a apprécié l’invitation d’une délégation militaire russe par le dirigeant nord-coréen à l'inauguration d'un musée et d’un mémorial commémorant les exploits des soldats coréens ayant participé à l'opération militaire spéciale sur le sol russe.
RT en français • Osez questionner !
🇰🇵 La construction de la rue Saebyeol en l'honneur des soldats nord-coréens qui ont participé à la libération de la région de Koursk s’est achevée à Pyongyang, informe l’Agence centrale de presse coréenne (KCNA).
#pyongyang#rue#koursk
⏺Le président de la Douma, chambre basse du Parlement russe, Viatcheslav #Volodine, a rendu hommage à #Pyongyang à la mémoire des soldats soviétiques qui ont combattu pour la libération de la Corée du joug colonial japonais en 1945.
Les images montrent le responsable politique descendant de son avion et serrant la main de Cho Yong-won, président du Présidium de l'Assemblée populaire suprême de la #RPDC. La vidéo montre également le président de la Douma ajustant les rubans d'une couronne de fleurs au monument de la Libération.
RT en français • Osez questionner !