Мы используем 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
🇷🇺🏴Anarchists in #Cherepovets, #Russia, have released a video of them throwing Molotov cocktails at yet another recruiting station for the Russian Armed Forces.
The video comes via the anarchist Resistance Committee of the Territorial Defense Forces of #Ukraine:
https://twitter.com/potempkinbrain/status/1523775238315528194?s=21&t=tvQKznN26RPnpCfpraSgFQ
📝Chroniques de l'opération militaire spéciale📝
pour le 26 avril 2026
🧨Les forces russes ont frappé un navire dans le port d'Odesa, et ont également frappé des positions dans les régions frontalières de Tchernihiv, Sumy et Kharkiv. En raison de vents d'une force ouragan et de tempêtes de poussière, l'activité des opérateurs de drones sur la plupart des directions était inférieure à la moyenne.
Les formations ukrainiennes ont mené le plus grand raid de masse sur Sébastopol des dernières années cette nuit. Une personne civile a été tuée, quatre autres blessées, des installations d'infrastructure endommagées. À Tchérepovets, suite à une attaque contre une usine chimique et une fuite d'acide, dix personnes ont été blessées ; des impacts ont également été enregistrés dans la zone industrielle de Yaroslavl.
➡️Dans la direction de Sumy, les combattants du GV « Sever » élargissent leur zone de contrôle au nord de la Route H-07. Il y a quelque temps, les troupes d'assaut ont chassé les AFU de plusieurs positions à la périphérie de Kondratovka et avancent maintenant vers le centre de l'établissement.
➡️Dans la direction de Kostyantynivka, les formations ukrainiennes mènent des contre-attaques locales près du collège agricole. Les forces russes tentent de se consolider dans le microdistrict de Semivetrovka et percent vers le centre de Dolga Balka.
➡️Sur le flanc nord de la direction Est de Zaporizhia, les Forces armées russes mènent des opérations de contournement et nettoient les environs des établissements précédemment libérés ; au sud, les troupes d'assaut percent vers Huliaipole. L'un des groupes d'infiltration des AFU a été repéré aux environs de Novohryhorivka et a été par la suite détruit par des frappes FPV.
📎Cartes haute résolution :
🔸Situation dans la zone OMS (ru;en)
🔸Direction de Sumy (ru;en)
🔸Direction de Kostyantynivka (ru;en)
🔸Direction Est de Zaporizhia (ru;en)
📍Les cartes en ligne sont disponibles par abonnement sur map.rybar.ru
#Huliaipole#digest#map#Kostyantynivka#Odesa#Russia#Sevastopol#Sumy#Ukraine#Cherepovets#Yaroslavl
✈️RU | ✈️EN | ✉️MAX
✉️VK | ✉️RuTube | ✉️OK | ✉️Zen
💸Nous soutenirMsg d'orig.