Мы используем 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
🪐 On June 30, 1908, a small asteroid or comet exploded over Tunguska, Siberia, flattening 2,000 square kilometers of forest in an instant. Known as the Tunguska event, this airburst was caused by an object about 50–60 meters wide—large enough to release energy more powerful than the largest nuclear bomb ever detonated, yet leaving no impact crater. ✨
#asteroids⚡#danger⚡#Tunguska⚡#nasa⚡#galaxy⚡#stars⚡#astronomy⚡#universe⚡#cosmos⚡#space
👉subscribe Universe Mysteries
☄️ ¿Qué cayó del cielo en Tunguska? El misterio que aún intriga a la ciencia
Un día como hoy, el 30 de junio de 1908, el cielo sobre la remota taiga siberiana se iluminó con un destello cegador. A las 7:17 de la mañana, un objeto desconocido atravesó la atmósfera y explotó sobre el río Podkámennaya Tunguska, en la actual región de Krasnoyarsk, Rusia. La explosión fue tan potente que arrasó más de 2.150 km² de bosque, derribando cerca de 80 millones de árboles como si fueran palillos de fósforo.
Lo más desconcertante del llamado evento de Tunguska es que, a pesar de su fuerza (equivalente a entre 3 y 15 megatones de TNT, unas mil veces más potente que la bomba de Hiroshima), no dejó cráter. Hoy se sabe que el objeto, probablemente un asteroide de unos 50-60 metros de diámetro, explotó a unos 5-10 km de altura, liberando su energía en el aire.
La onda sísmica fue registrada por estaciones en toda Eurasia, y la onda de choque dio la vuelta al planeta dos veces. En Europa y Asia, las noches siguientes fueron muy brillantes, incluso en Londres y Estocolmo se reportaron cielos iluminados por nubes noctilucentes, formadas por partículas en suspensión tras la explosión.
Debido a la lejanía del lugar y a las dificultades logísticas, la primera expedición científica no llegó hasta 1927, liderada por el geólogo soviético Leonid Kulik. Su equipo encontró árboles calcinados y tumbados radialmente desde un epicentro invisible. No hallaron fragmentos del meteorito, lo que alimentó teorías de lo más variopintas: desde ovnis hasta armas secretas. Sin embargo, la ciencia moderna ha confirmado que se trató de un airburst, una explosión aérea causada por un cuerpo celeste.
¿Podría repetirse? Sí. De hecho, en 2013, un meteorito explotó sobre Cheliábinsk, también en Rusia, causando más de mil heridos por vidrios rotos.
#Tunguska#HistoriaRusa#MisteriosDelEspacio#Meteoritos#CienciaYCuriosidades
¡Comparte nuestro contenido!❤️
🖥https://vamosarusia.com
💬@vamosarusia