Мы используем 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
🇬🇧 Un homme a blessé deux personnes au couteau dans un quartier à forte population juive du nord de Londres, indique un communiqué de l'organisation caritative Community Security Trust, qui assure la sécurité supplémentaire de la communauté juive.
Selon l'organisation, les faits se sont produits dans le quartier de Golders Green. Un homme armé d'un couteau a couru dans la rue, attaquant des passants. Il a été arrêté par la police, qui a utilisé des pistolets à impulsion électrique.
#royaumeuni#capitale#attaque
https://x.com/SavinoBalzano/status/1869824403438972988?t=SlRhWhvtMS__pKbKfi0MjQ&s=19
Qual è il nome del peggior #Sindaco nella storia di #Roma? Si chiama #RobertoGualtieri.
Per carità, anche da #Ministro non è stato memorabile: in pochi lo ricordano, più che altro per una strimpellata in tv piuttosto deprimente.
Ciò detto, in pochi giorni si è superato: a proposito della sua amministrazione ha parlato di "miracoli di rapidità" e, a poche ore di distanza, pubblica un video nel quale inaugura una nuova grande opera, una ciclabile di meno di un chilometro (lo dice lui stesso) che collega Termini a La Sapienza, un tratto di strada che a piedi avrò percoso centinaia di volte in meno di dieci minuti. Una roba poco più che inutile.
Di contro, lunedì, per una commissione, ho dovuto percorrere in auto 13 km e, tra andare e tornare, sono stato alla guida la bellezza di tre ore.
La #Capitale cade a pezzi, letteralmente, e noi che la viviamo (e l'amiamo) abbiamo la merda fino al collo: ovvio che quando vedi certe pagliacciate ti incazzi e non poco.
Ancora però mi domando: tutti quelli che mettevano in croce Virginia Raggi dove minchia sono finiti? Giornali di #destra e di #sinistra, telegiornali che hanno aperto per mesi i titoli coi disastri capitolini del tempo, non avete proprio nulla da dire su Gualtieri? Niente niente?
La #democrazia, quanto ci piace.
Il #BattitoreLibero a #5Notizie, #RadioCusanoCampus