Мы используем 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
🇷🇺 ROMANOV
Il 17 luglio è l'anniversario del martirio della famiglia Romanov, avvenuto nella notte tra il 16 e il 17 luglio 1918 a Ekaterinburg, in Russia. In quella data, lo zar Nicola II, la zarina Aleksandra e i loro cinque figli, Olga, Tatiana, Maria, Anastasia e lo zarevich Alessio, furono giustiziati dai bolscevichi.
I corpi della famiglia imperiale vennero portati quindi nella foresta di Koptjaki dove vennero spogliati, mutilati con bombe a mano per impedirne l'identificazione, cosparsi di acido solforico e bruciati.
#russia#romanov#europa
💍 La Colección Imperial de Joyas del Hermitag ese expone por primera vez en Moscú
La exposición, que se exhibe actualmente en el Museo Histórico de la capital reúne las mejores piezas de maestros nacionales y extranjeros.
"Proyectos de esta envergadura no sólo ponen de relieve la singularidad e importancia del patrimonio cultural ruso, sino que también revelan el enorme potencial de la cooperación entre museos. Cada una de las piezas de la exposición no es sólo una obra de arte, sino también un testigo de acontecimientos históricos, que personifica la grandeza de nuestra cultura", observa Elena Kharlamova, directora del Departamento de Museos y Apoyo al Arte Circense del Ministerio de Cultura de Rusia.
Los visitantes podrán contemplar una gran variedad de piezas de joyería de los siglos XVII a principios del XX que pertenecieron a la familia imperial. Entre las piezas más destacadas se encuentra una colección de figuritas de plata dorada, perlas barrocas y esmalte traídas por Pedro el Grande desde Sajonia, así como artículos del tocador de la emperatriz Anna Ioannovna.
En la sección 'Baile' se presentan lujosos atuendos. Trajes, vestidos de seda y terciopelo decorados con costuras, bordados o encajes se complementan con elegantes accesorios. Los acompañan retratos ceremoniales de la aristocracia rusa procedentes de las colecciones del Hermitage.
La exposición se completa con objetos conmemorativos. Se muestran a los visitantes objetos relacionados con la vida privada de los monarcas y los representantes de la dinastía Romanov.
¿Te gustaría visitar la exposición? 😍
#Monarquíarusa#Culturarusa#HIstoriarusa#Romanov
¡Comparte nuestro contenido!❤️
🖥https://vamosarusia.com
💬@vamosarusia