Мы используем 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
🗽 Los jugadores de los Yankees quieren usar uniformes alternativos en partidos de visitante. ¿Deberían los Yankees comenzar a usar jerseys alternativos por primera vez en la historia de la franquicia?
#Yankees
🗞 | t.me/MLB_Daily
🗽 La camiseta de práctica de bateo azul marino de los Yankees ha sido aprobada por la MLB para ser usada en partidos, ya que forma parte de su conjunto de uniformes oficiales. Aún está por determinar si realmente la usarán en un partido.
#Yankees
🗞 | t.me/MLB_Daily
🧢🗽 Una mirada a la nueva rotación proyectada para los Yankees en el Día de Apertura después de que, según se informa, adquirieran a Ryan Weathers de los Marlins.
📊 Proyecciones a través de FanGraphs
#️⃣#Yankees
🗞 | t.me/MLB_Daily
📊 Los dos mejores jugadores de posición y los dos mejores lanzadores por fWAR esta temporada son TODOS de los New York Yankees 🤯
#Stats#Yankees
🗞 | t.me/MLB_Daily
💥 Lourdes Gurriel Jr será el primer cubano en ver acción en el #OpeningDay.
👉 Enfrentará a los #Yankees y partirá en el 6to turno y LF.
@CirculodeEspera
🏴☠️🗽 Paul Skenes quiere jugar para los Yankees, le dijo uno de sus compañeros de los Pirates a @randarino. Según se informa, Skenes no tiene confianza en que los Pirates alguna vez ganen, y quiere ser cambiado mucho antes de que comience su agencia libre después de la temporada 2029.
🗞 Vía Tal'kin Baseball
#️⃣#Skenes#Yankees
🗞 | t.me/MLB_Daily
🗽🗽 Aaron Judge continúa grabando su nombre en la historia de los Yankees empatando a Derek Jeter, Robinson Canó, Jorge Posada y a Dave Winfield como los máximos ganadores de Bates de plata en la historia de la franquicia.
#️⃣#Yankees#Judge
🗞 | t.me/MLB_Daily
🗽🩸 Aroldis Chapman dice que se sintió irrespetado por los Yankees y que se retiraría antes de volver a jugar para ellos.
#️⃣#Yankees#Chapman
🗞 | t.me/MLB_Daily
🗽🗽 Los Yankees y Cody Bellinger llegaron a un acuerdo por cinco años y $162.5 millones, según fuentes de ESPN. Hay cláusulas de rescisión después de la segunda y tercera temporada, un bono de firma de $20 millones y una cláusula de no intercambio completa.
#️⃣#Yankees#Bellinger
🗞 | t.me/MLB_Daily
❌🗽 Según Jorge Castillo, se espera que Cody Bellinger opte por no continuar con su contrato con los Yankees y se convierta en agente libre.
#️⃣#Yankees#Bellinger
🗞 | t.me/MLB_Daily