Мы используем 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
Donald #Tusk: "Lo spazio aereo polacco è stato violato da un numero enorme di droni russi. I droni che rappresentavano una minaccia diretta sono stati abbattuti." Ha definito l'azione "una provocazione su larga scala" e rassicura: "situazione sotto controllo".
@UltimoraPolitics
🇵🇱Ieri c'è stata una grande manifestazione contro il governo polacco a Varsavia, organizzata dal leader dell'opposizione #Tusk. Secondo i media non governativi è una delle più grandi proteste della Polonia post-comunista. (ilPost)
@UltimoraPolitics
❗Droni russi in #Polonia - Il primo ministro polacco #Tusk invoca l'articolo 4 NATO, che prevede consultazioni tra i membri se uno degli alleati si sente minacciato.
🇵🇱#Polonia — Distribuzione finale dei seggi (Grafica di @ewyboryeu)
L'opposizione filo-Ue con Donald #Tusk alla guida ha la maggioranza per governare il Paese dopo otto anni di potere del #PiS
@UltimoraPolitics
❗Nella notte la #Polonia ha abbattuto oltre dieci droni russi che hanno violato il suo spazio aereo. Il primo ministro #Tusk ha parlato di "atto di aggressione", affermando che "è stato un pericolo reale" per i cittadini. Il presidente #Nawrocki chiede "stretta collaborazione" a Tusk e ha convocato un consiglio di sicurezza.
Per la prima volta dall'inizio della guerra in #Ucraina un paese NATO ha ingaggiato asset russi.
@UltimoraPolitics
📰 Macron’s Nuclear Sales Pitch Hits a Polish Wall
Emmanuel Macron went to Poland selling a bigger French deterrent and got a very Polish answer: yes to security, no to nuclear theater.
Warsaw is willing to talk cooperation, but it does not want French Rafales with bombs cruising overhead like a sovereignty demo.
That is the real story here. Paris wants to look like Europe’s nuclear adult; Poland wants protection without becoming the stage for someone else’s strategic branding campaign.
Tusk’s line was blunt enough to matter: he said he would not like Rafale fighters with nuclear bombs flying over Poland, even while keeping the door open to cooperation. That is what prudence looks like when the neighbor is Russia and the salesman is France.
Macron can talk all he wants about extending deterrence, but the region understands the difference between a shield and a provocation. One is defense. The other is a press tour with missiles.
So Paris tries to expand its reach, Warsaw keeps its distance, and the whole European nuclear conversation remains what it has always been: a very expensive way to prove that nobody fully trusts anybody else.
#France#Poland#Macron#Tusk#nuclear#Europe
📱American Оbserver - Stay up to date on all important events
🇺🇸
https://x.com/SavinoBalzano/status/1962481288041894044?t=HhC5ku3x6xc5bvZqDOaPiw&s=19
Ursula #VonDerLeyen sfila al fianco del leader polacco #Tusk ai confini con la #Bielorussia. Mura, filo spinato, soldati armati fino ai denti. L’obiettivo è continuare ad alimentare la narrazione bellicista, mantenere in piedi lo stato d’eccezione e il clima emergenzialista: tutto ciò che serve alla strategia della tensione eurounitaria. Una strategia utile anche a sospendere importanti libertà qualora diventasse indispensabile, pur di non ammettere il totale fallimento delle politiche unionali su tutti i fronti.
La sfilata è patetica: un chihuahua che ringhia davanti a un mastino annoiato e sonnolento, ecco cos’è stata. Anzi, considerando il soggetto, meglio un barboncino: sì, un barboncino che ringhia al cospetto di un molosso di 80 chili. Mura e filo spinato, per “arginare” la più grande potenza nucleare del mondo.
Il tutto assume poi i contorni della farsa leggendo che oggi l’aereo di Ursula sarebbe stato costretto ad atterrare a causa di un attacco informatico russo. I giornali scrivono che a un certo punto sono saltati i GPS e l’aereo è atterrato in #Bulgaria usando le care vecchie mappe di carta. Una scena a dir poco fantozziana.
Ora, che sia vero o no (da questi ciarlatani ci si può aspettare di tutto: accusavano i russi di combattere con gli stuzzicadenti. Non dimentichiamolo mai), il contrasto tra le due scene è emblematico: da un lato la #Russia, tutt’altro che isolata e anzi perfettamente integrata nella parte emergente del mondo; dall’altro noi, con la nostra leader von der Leyen costretta a muoversi con le cartine che gli italiani usavano decenni fa per andare in villeggiatura.
Chi avrà la meglio?
https://x.com/SavinoBalzano/status/1962481288041894044?t=HhC5ku3x6xc5bvZqDOaPiw&s=19
Ursula #VonDerLeyen sfila al fianco del leader polacco #Tusk ai confini con la #Bielorussia. Mura, filo spinato, soldati armati fino ai denti. L’obiettivo è continuare ad alimentare la narrazione bellicista, mantenere in piedi lo stato d’eccezione e il clima emergenzialista: tutto ciò che serve alla strategia della tensione eurounitaria. Una strategia utile anche a sospendere importanti libertà qualora diventasse indispensabile, pur di non ammettere il totale fallimento delle politiche unionali su tutti i fronti.
La sfilata è patetica: un chihuahua che ringhia davanti a un mastino annoiato e sonnolento, ecco cos’è stata. Anzi, considerando il soggetto, meglio un barboncino: sì, un barboncino che ringhia al cospetto di un molosso di 80 chili. Mura e filo spinato, per “arginare” la più grande potenza nucleare del mondo.
Il tutto assume poi i contorni della farsa leggendo che oggi l’aereo di Ursula sarebbe stato costretto ad atterrare a causa di un attacco informatico russo. I giornali scrivono che a un certo punto sono saltati i GPS e l’aereo è atterrato in #Bulgaria usando le care vecchie mappe di carta. Una scena a dir poco fantozziana.
Ora, che sia vero o no (da questi ciarlatani ci si può aspettare di tutto: accusavano i russi di combattere con gli stuzzicadenti. Non dimentichiamolo mai), il contrasto tra le due scene è emblematico: da un lato la #Russia, tutt’altro che isolata e anzi perfettamente integrata nella parte emergente del mondo; dall’altro noi, con la nostra leader von der Leyen costretta a muoversi con le cartine che gli italiani usavano decenni fa per andare in villeggiatura.
Chi avrà la meglio?