Мы используем 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
Antonio #Guterres ha avvertito gli Stati membri dell'#Onu di un "imminente collasso finanziario" in una lettera nella quale chiede di "onorare pienamente e tempestivamente i propri obblighi di pagamento" o di "rivedere approfonditamente le regole finanziarie dell'#Onu"; #Guterres sottolinea che "le decisioni di non onorare i contributi obbligatori che finanziano una parte significativa del bilancio ordinario approvato sono state ora annunciate ufficialmente" e afferma che "l'attuale traiettoria è insostenibile. Espone l'organizzazione a un rischio finanziario strutturale e impone una scelta netta: o gli Stati membri accettano una revisione radicale delle nostre regole finanziarie, oppure devono accettare la prospettiva concreta di un collasso".
@UltimoraPolitics24
❗️#Afrique : déficit massif
L’Afrique fait face à un déficit annuel de financement du développement pouvant atteindre 1,6 trillion de dollars, a déclaré le secrétaire général de l’#ONU António #Guterres lors du forum régional sur le développement durable à Addis-Abeba.
Parmi les freins cités : les conflits, la crise de la dette, les taux d’emprunt élevés, les difficultés climatiques et infrastructurelles, la rapide urbanisation et les barrières commerciales. Guterres rappelle aussi les atouts du continent : la zone de libre-échange africaine, les énergies renouvelables, le numérique et une main-d’œuvre jeune.
RT en français • Osez questionner !
#Italia#CongressoA1MDP
Luigi #DiMaio (#M5S|NI): "Sul piano economico è già una guerra mondiale. Siamo impegnati per ridurre ed eliminare la nostra dipendenza dal gas russo. Dobbiamo promuovere cessate il fuoco. Sosteniamo l'iniziativa del segretario ONU #Guterres."
@UltimoraPolitics
News: #UN, #EU raise alarm over escalating tensions in #Tigray, call for de-escalation and dialogue
International actors have voiced serious concern over reported military confrontations and rising tensions in Tigray urging all parties to exercise restraint, uphold peace agreements, and resolve differences through dialogue to avoid a return to broader conflict.
The United Nations Secretary-General, António #Guterres, said he is closely following developments in northern Ethiopia, where renewed clashes have contributed to a worsening security environment.
In a statement delivered by the Deputy Spokesperson for the Secretary-General, Farhan Haq, the UN chief warned that the situation threatens to reverse the gains made since the Permanent Cessation of Hostilities Agreement was signed in November 2022 and called on all sides to pursue peaceful resolution and rebuild trust.
In a parallel statement, earlier on Saturday, the European Union, through its....
Read more: https://addisstandard.com/?p=54881
❗️#Afrique : déficit massif
L’Afrique fait face à un déficit annuel de financement du développement pouvant atteindre 1,6 trillion de dollars, a déclaré le secrétaire général de l’#ONU António #Guterres lors du forum régional sur le développement durable à Addis-Abeba.
Parmi les freins cités : les conflits, la crise de la dette, les taux d’emprunt élevés, les difficultés climatiques et infrastructurelles, la rapide urbanisation et les barrières commerciales. Guterres rappelle aussi les atouts du continent : la zone de libre-échange africaine, les énergies renouvelables, le numérique et une main-d’œuvre jeune.
RT en français • Osez questionner !
#ONU#Gaza#Israele
Segretario Generale ONU António #Guterres (#PS|S&D): "Il Consiglio di Sicurezza ha appena approvato una risoluzione tanto attesa su Gaza, chiedendo un cessate il fuoco immediato e il rilascio immediato e incondizionato di tutti gli ostaggi. Questa risoluzione deve essere attuata. Il fallimento sarebbe imperdonabile."
@OsservatorioEsteri
#Elezioni#Portogallo#Presidenziali
António José #Seguro (#PS|S&D) eletto nuovo Presidente del Portogallo. Assistente del Primo Ministro durante il governo di António #Guterres, Seguro guidò il Partito Socialista tra il 2011 e il 2014.
@OsservatorioEsteri
#Israele#ONU
Ministro degli Esteri Israel #Katz (#Likud|ECR): "Oggi ho deciso di dichiarare il Segretario generale dell'ONU Antonio #Guterres una persona non desiderata in Israele e di vietargli l'ingresso in Israele. Coloro che non sono in grado di condannare senza ambiguità l'attacco criminale dell'Iran contro Israele, come hanno fatto quasi tutti i paesi del mondo, non sono degni di calpestare il suolo israeliano. Si tratta di un segretario generale che non ha denunciato il massacro e i crimini sessuali perpetrati dagli assassini di Hamas il 7 ottobre, e non ha portato a decisioni che li dichiareranno organizzazione terroristica. Un segretario generale che dà una spinta ai terroristi, stupratori e assassini di Hamas, Hezbollah, gli Houthis, e ora la nave madre del terrorismo globale, l'Iran, sarà ricordato come una macchia nella storia dell'ONU. Israele continuerà a proteggere i suoi cittadini e manterrà il suo status nazionale e la sua dignità con o senza Antonio Guterres."
@OsservatorioEsteri
#Guterres, Seg Gen dell'#ONU: "E' possibile uno scontro armato tra #Turchia e #YPG, in corso un momento di dialogo tra #Ankara e #Qatar su questo tema. E' necessaria una soluzione per il carcere di #AlHol, dove sono trattenuti i militanti #ISIS".