Мы используем 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
🟣 | Swamp Thing: James Mangold podría dirigir la película más terrorífica de #DCStudios
Mangold es un veterano del cine basado en cómics después de escribir, dirigir y ser productor ejecutivo de una de las piezas más celebres del género, Logan, la tercera película de la saga de Lobezno protagonizada por Hugh Jackman, así como de otras entregas relacionadas con el mutante. Pronto estrenará 'Indiana Jones y el Dial del Destino', que llegará a los cines en mayo
Swamp Thing sería su nuevo proyecto, algo que sucede apenas 24 horas después del reinicio de DC Studios y su universo,
James Gunn habla sobre el futuro de Gal Gadot y Ezra Miller en #DCStudios
Aunque conozcamos ya las primeras películas y series que veremos en ese arranque de la nueva DC de Warner Bros. Discovery, de momento no conocemos quiénes serán los actores que den vida a los nuevos protagonistas, es decir:
quién será el nuevo Superman, quién se meterá en el traje del nuevo Batman, etc.
James Gunn aseguró que la anterior historia del universo DC "había sido una mierda", puesto que era inconexo y confuso.
El cineasta ha ido despejando dudas de los fans poco a poco con respecto a este reboot, y ha abordado también qué pasará con Gal Gadot y Ezra Miller después de hablar sobre que paso con Henry Cavill y que papel jugará Jason Momoa
Gal Gadot tiene la puerta abierta a continuar como #WonderWoman y Ezra Miller está pendiente de estrenar #TheFlash
"Espero con ansias los nuevos proyectos, pero estoy decepcionado con que hayáis perdido a Henry Cavill y Gal Gadot y todavía tengáis a Ezra cerca. Es un cabeza hueca, y Henry y Gal lo han hecho todo bien. Simplemente no tiene sentido", comentaba un seguidor a James Gunn en Instagram
A lo que el cineasta respondió: "No hemos perdido a Gal. La película de Ezra ya está hecha. Y Henry no encaja con mi Superman".
¿Qué quiere decir exactamente esto? Que Gal Gadot tiene la puerta abierta de par en par a continuar siendo Wonder Woman en el reboot y que Ezra Miller tiene que seguir, de momento, en #DCStudios debido a que tiene pendiente el estreno de The Flash, filme que reiniciará el DC cinematográfico por completo y dará paso a Dioses y Monstruos.