Мы используем 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
Первый случай за всё существование канала — рубрика «Дуга ебейшая» в… хоккее? 🏒
Что это было?! Это Уайтт Джонстон из «Даллас Старз» ставит точку в матче с «Миннесотой», отправляя шайбу в пустые. Но посмотрите на траекторию…
Шайба уже уходила мимо и защитник «Уайлд» Куинн Хьюз даже перестал бежать и решил, что будет проброс — но… шайба взяла и завернула в створ по идеальной дуге.
Магнит? Магия? Чистая физика!
😎Ozzy в MAX | #Хоккей#NHL
«Нашёл щёлочку» — снайперский выстрел Капризова в самую девять 🎯
Кирилл Зэ Трилл набрал 1+2 с победным голом в первом матче серии с «Далласом» и был признан второй звездой матча — теперь на счету 28-летнего россиянина стало 24 (16+8) очка в 26 играх в плей-офф НХЛ за карьеру и это повторение рекорда «Миннесоты».
😎Ozzy в MAX | #Хоккей#NHL
Давно не было этого парня в ленте 🛩
Матвей Мичков набрал 1+2 с победным голом в матче против «Монреаля» и был признан первой звездой матча и второй звездой дня в НХЛ — теперь на его счету 20+31 в 81 игре сезона.
Подведём итоги сезона для 21-летнего русского из «Филадельфии» — второй сезон подряд подряд 20+ голов и 50+ очков, он четвертый снайпер и четвертый же бомбардир клуба.
👏 — красавчик
🤓 — я ожидал большего
😎Ozzy в MAX | #Хоккей#NHL
Красота дня в НХЛ — Джек Айкел и его глаза на затылке 👀
Это парни из «Вегас Голден Найтс» разыграли идеальную комбинацию — Джек Айкел, проезжая за воротами, отдал роскошный ноулук-ассист на Барбашева.
Ивану оставалось просто не промахнуться в пустой угол — у него 1+1 в матче и 23+38 в 81 игре в сезоне при полезности «+20». Достойно!
PS. С вратарём «Виннипега» после гола случился эталонный мем «АЧО ВСМЫСЛЕ?» — кажется, он так и не понял, что с ним произошло 😁
😎Ozzy в MAX | #Хоккей#NHL
Русская красота дня в НХЛ — шедевр от Биг Вэла 🧨
Это Валерий Ничушкин из «Колорадо Эвеланш» сделал дубль с «Сент-Луисом» и был признан первой звездой матча — теперь на его счету 17+30 очков в 67 играх в сезоне при полезности «+8».
Второй гол получился особенно кайфовым — Вэл забил в меньшинстве броском из-под ноги.
😎Ozzy в MAX | #Хоккей#NHL
Роскошная комбинация «Тампы» и гол номер 400 от Никиты Кучерова 😍
Куч забил «Баффало» свой 400-й гол в регулярных чемпионатах НХЛ — всего на его счету 1120 (400+720) очков в 874 матчах за карьеру.
Что же касается текущего сезона, то теперь у русского могучего форварда 126 (43+83) очков в текущем сезоне в 71 игре и он догнал Коннора Макдэвида в гонке бомбардиров — у того те же (43+83), но в 77 матчах сезона.
А ещё:
⏺Кучеров — второй игрок с 400+ голами за «Тампу» в НХЛ. У Стэмкоса — 555.
⏺Кучеров — восьмой россиянин в истории НХЛ с 400+ шайбами в регулярках, а среди начавших карьеру в XXI веке — четвертый. Ранее такое достижение покорилось — Овечкину (928 голов в 1569 играх), Малкину (532 в 1267), Федорову (483 в 1248), Могильному (473 в 990), Ковальчуку (443 в 926), Буре (437 в 702) и Ковалеву (430 в 1316).
😎Ozzy в MAX | #Хоккей#NHL
«Kid Line» «Детское звено Шаркс» решает 🦈
Это тройка «Сан-Хосе» Селебрини — Смит — Чернышов организовала победный гол в ворота «Коламбуса» — суммарный возраст этого звена всего 60 лет (19+21+20).
Игорь Чернышов оформил первый дубль в НХЛ — у 20-летнего русского форварда «Сан-Хосе» 5+9 в 19 играх в сезоне.
«Акулёнок ту-ру-ру-ру»
😎Ozzy в MAX | #Хоккей#NHL
🦅
1️⃣
1️⃣
1️⃣ Великий внезапно пульнул в «Юту» хет-триком
3 — гола в матче
34 — хет-триков в лиге в рамках регулярок и это четвертое место в истории НХЛ по этому показателю
29+27 — 56 очков в 73 матчах чемпионата
926 — голов в карьере в регулярках
1003 — гола в карьере с учетом плей-офф
9 — матчей осталось сыграть в чемпионате
13 — до Гретцки
😎Ozzy в MAX | #Хоккей#NHL
Немного хоккейного волшебства вам в утреннюю ленту — что-то на Дацюкском 🪄
Это Артемий Панарин из «ЭлЭй Кингз» в серии буллитов исполнил что-то ультрастильное — вначале Хлебушек обманными движениями уложил вратаря соперника на живот как пингвина, а потом запустил ему за шиворот парашютик в стиле Павла Дацюка.
😎Ozzy в MAX | #Хоккей#NHL