Мы используем 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 buscan tres pies al gato? 🤔
🔴 Además de la vía penal, el #PAN interpuso una denuncia paralela por posibles faltas administrativas graves 📄 | ¿Qué opinas? 🤔
https://revistaelpolitico.com/nacional/pan-denuncia-ebrard-uso-indebido-recursos-publicos/
¡Mejor nadota! ❌
🔴 Parece que el verdadero deseo del #PAN no es ganar gubernaturas, sino ampliar su lista de militantes indeseables 🤡😂🗳️
https://revistaelpolitico.com/nacional/pan-buscara-gustavo-macalpin-sea-candidato-2027/
#COMIDASALUDABLE#PAN🥖 | El sencillo truco de un médico para hacer saludable el pan blanco reduciendo el azúcar y el almidón https://ift.tt/hcf09Z2 November 11, 2024 at 02:00AM
La oposición anda con todo 💥
🔴 El #PAN señaló que las acusaciones de #EU contra Rubén Rocha solo evidencian algo que el oficialismo estaba tratando de ocultar 🤔‼️🚨
https://sinlineamx.com/pan-pide-desaparicion-de-poderes-sinaloa/
¿La dejan sola? 🤔
🔴 Luego de saltar por #MaruCampos y justificarla, el #PAN decidió "aplazar" una conferencia que tenía programada para este día ❌🗓️
https://sinlineamx.com/pan-cancela-conferencia-maru-campos-caso-cia/
¡Nadie los quiere! 🤮
🔴 El #PAN está tan quemado que hasta #SalinasPliego ya los mandó a volar 🤣 | ¿Será que es una ruptura definitiva? 🤔
https://sinlineamx.com/salinas-pliego-desprecia-pan-reclama-mexico-elige/
Dios los hace y ellos se juntan 🙄
🔴 El #PAN estaría dispuesto a reforzar su discurso de que "el pobre es pobre porque quiere" con el rostro de #SalinasPliego❌🤦🏻♂️🗳️
https://sinlineamx.com/panistas-aprueban-salinas-pliego-sea-su-candidato/