Мы используем 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
¡Fin a la polémica! 🌞🦵🏻
🔴 Luego de las versiones que circularon sobre una mujer captada en un balcón en #PalacioNacional, #Sheinbaum explicó lo sucedido 👩🏻📹👀
https://sinlineamx.com/sheinbaum-aclara-polemica-mujer-tomando-sol-palacio-nacional/
¡Tómala! 💣💥
🔴#FlorenciaFranco dijo adiós a su puesto en Hacienda 👋🏻 | Así fue la cronología del escándalo en #PalacioNacional que provocó su salida 🤯👇🏻
https://sinlineamx.com/florencia-franco-renuncia-polemica-palacio-nacional/
"Mucho amor y buenas vacaciones" ❤️🌴
🔴 A través de un video desde #PalacioNacional, #Sheinbaum envió un mensaje a mexicanos por #SemanaSanta e informó cuáles son sus planes para estos días 👩🏻📹
Como cuando sales a asolearte y terminas quemada ☀️🦵🏻
🔴#FlorenciaFranco no solo extrañará el sol en un balcón de #PalacioNacional, también su jugoso sueldo en #Hacienda (@Hacienda_Mexico) 🤯💰
https://sinlineamx.com/cuanto-ganaba-florencia-franco-exfuncionaria-hacienda/
📢 Atención, #ARMY💜
🔴#Sheinbaum anunció que este miércoles #BTS hará una parada especial en #PalacioNacional durante su visita a México 😍🇲🇽
👉🏻 Se abrirá un balcón para que el grupo coreano tenga oportunidad de saludar a sus fans mexicanas 🤩🙌🏻 | La cita es a las 5:00 PM ⏰
¡Importante! 🤚🏻🚨
🔴#MiguelÁngelElorza, coordinador de #Infodemia, se disculpó en la mañanera de #Sheinbaum por la información errónea de la mujer tomando el sol en #PalacioNacional y por hacer alusión a un video de #Campechanendo de forma descontextualizada 📹👀 | ¿Qué opinas? 🤔