Мы используем 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
#Fransiya
Parij shahrida politsiya 17 yoshli o'smirni otib tashlagandan keyin butun Fransiya bo'ylab politsiyaga qarshi namoyishlar bo'lib o'tmoqda.
Parijga borishni reja qilib turganlar safarni keyinroqqa qoldirgani ma'qul!
Oʻzbekiston Respublikasi Prezidenti Shavkat Mirziyoyev Fransiya Respublikasi transport vaziri Filipp Tabaroni qabul qildi.
—
Президент Республики Узбекистан Шавкат Мирзиёев принял министра транспорта Французской Республики Филиппа Табаро.
#Mirziyoyev#qabul#Fransiya#hamkorlik
Prezident.uz|Facebook|Instagram|YouTube|X
Fransiyaga davlat tashrifi bilan kelgan Prezident Shavkat Mirziyoyev Parijda tantanali kutib olindi.
____
В Париже торжественно встретили Президента Шавката Мирзиёева, прибывшего во Францию с государственным визитом.
#Mirziyoyev#tashrif#Fransiya
🌐UTG.UZ|
💬Facebok|
📷Instagram|
▶️YouTube|
👉Telegram
Самарқанд шаҳридаги самарали Ўзбекистон-Франция саммити якунига етди. Аэропортда Президент Эммануэль Макронни Президентимиз Шавкат Мирзиёев кузатиб қўйди. Давлат раҳбарлари самимий хайрлашдилар.
—
Плодотворный узбекско-французский саммит в Самарканде завершился. В аэропорту Президента Эммануэля Макрона проводил Президент Шавкат Мирзиёев. Главы государства тепло попрощались друг с другом.
#Mirziyoyev#tashrif#Fransiya#hamkorlik
Prezident.uz|Facebook|Instagram|YouTube|Twitter
Президент Шавкат Мирзиёев Ўзбекистон-Франция саммитида иштирок этиш учун Самарқанд шаҳрига келди.
—
Президент Шавкат Мирзиёев прибыл в город Самарканд для участия в узбекско-французском саммите.
#Mirziyoyev#tashrif#Fransiya#hamkorlik
Prezident.uz|Facebook|Instagram|YouTube|Twitter
Ўзбекистон Республикаси Президенти Шавкат Мирзиёев Франция Республикаси Президенти Эммануэль Макроннинг таклифига биноан давлат ташрифи билан ушбу мамлакатга жўнаб кетди.
—
Президент Республики Узбекистан Шавкат Мирзиёев по приглашению Президента Французской Республики Эммануэля Макрона отбыл в эту страну с государственным визитом.
#Mirziyoyev#tashrif#Fransiya
Prezident.uz|Facebook|Instagram|YouTube|X
Ўзбекистон Республикаси Президенти Шавкат Мирзиёев Франция Президентининг маслаҳатчиси Изабель Дюмонни қабул қилди. Учрашувда олий даражадаги келишувларни амалга ошириш масалалари ва икки мамлакатнинг ҳар томонлама шериклигини кенгайтириш истиқболлари кўриб чиқилди.
—
Президент Республики Узбекистан Шавкат Мирзиёев принял советника Президента Франции Изабель Дюмон. Были рассмотрены вопросы практической реализации договоренностей на высшем уровне и перспективы расширения всестороннего партнерства двух стран.
#Mirziyoyev#qabul#Fransiya#hamkorlik
Prezident.uz|Facebook|Instagram|YouTube|Twitter
Самарқанд шаҳридаги Конгресс марказида Франция Республикаси Президенти Эммануэль Макронни тантанали кутиб олиш маросими бўлди.
—
В Конгресс-центре города Самарканда состоялась церемония торжественной встречи Президента Французской Республики Эммануэля Макрона.
#Mirziyoyev#tashrif#Fransiya#marosim
Prezident.uz|Facebook|Instagram|YouTube|Twitter
Ўзбекистон Республикаси Президенти Шавкат Мирзиёев ва Франция Республикаси Президенти Эммануэль Макроннинг музокаралари икки мамлакат расмий делегациялари иштирокида кенгайтирилган таркибда давом этди.
—
Переговоры Президента Узбекистана Шавката Мирзиёева и Президента Франции Эммануэля Макрона продолжились в расширенном составе с участием официальных делегаций двух стран.
#Mirziyoyev#tashrif#Fransiya#muzokara
Prezident.uz|Facebook|Instagram|YouTube|Twitter
Франция Республикаси Президенти Эммануэль Макроннинг Ўзбекистонга расмий ташрифининг ишбилармонлик дастури доирасида Самарқанд шаҳрида қўшма бизнес форуми бўлиб ўтди. Унинг ишида икки давлат раҳбарлари иштирок этди.
—
В рамках деловой программы официального визита Президента Французской Республики Эммануэля Макрона в Узбекистан в городе Самарканде состоялся совместный бизнес-форум. В его работе приняли участие главы двух государств.
#Mirziyoyev#tashrif#Fransiya#ishbilarmonlar
Prezident.uz|Facebook|Instagram|YouTube|Twitter
Самарқанд шаҳрида бўлиб ўтган музокаралар якунида Ўзбекистон Республикаси Президенти Шавкат Мирзиёев ва Франция Республикаси Президенти Эммануэль Макрон Қўшма баёнот қабул қилдилар. Президентлар ҳузурида 8 та икки томонлама ҳужжат имзоланди.
—
По итогам состоявшихся в городе Самарканде переговоров Президент Республики Узбекистан Шавкат Мирзиёев и Президент Французской Республики Эммануэль Макрон приняли Совместное заявление. В присутствии Президентов подписаны 8 двусторонних документов.
#Mirziyoyev#tashrif#Fransiya#hujjatlar
Prezident.uz|Facebook|Instagram|YouTube|Twitter
Ўзбекистон Республикаси Президенти Шавкат Мирзиёев Франция Республикаси Президенти Эммануэль Макроннинг таклифига биноан 11-13 март кунлари давлат ташрифи билан ушбу мамлакатда бўлади.
—
Президент Республики Узбекистан Шавкат Мирзиёев по приглашению Президента Французской Республики Эммануэля Макрона 11-13 марта посетит эту страну с государственным визитом.
#Mirziyoyev#tashrif#Fransiya#hamkorlik
Prezident.uz|Facebook|Instagram|YouTube|X