Мы используем 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
Armenian PM Pashinyan Affirms Friendship with Russia, Announces Moscow Visit
Armenian Prime Minister Nikol Pashinyan confirmed that Russia remains a friendly nation and denied rumors of deteriorating ties. Responding to citizens’ calls to maintain strong relations with Moscow, he emphasized upcoming visits and ongoing bilateral contacts. "Russia is our friend," Pashinyan stated, highlighting the stability of their alliance.
#Armenia#Russia#Pashinyan#InternationalRelations
The main news of Russia and the world ishere.
#Pashinyan, Primo Ministro dell'#Armenia, parla in #Svizzera: "Dobbiamo rivisitare la storia del genocidio armeno. Dobbiamo capire cosa è successo e perché è successo, come l'abbiamo percepito e attraverso chi lo abbiamo percepito. Come mai nel 1939 non c'era un piano di riconoscimento del genocidio armeno e come mai nel 1950 è emerso il piano?".
Il Presidente armeno, #Pashinyan, lancia un messaggio di auguri al popolo azero per la festa religiosa in corso:
"Congratulazioni alla Repubblica dell'#Azerbaigian e al popolo azero in occasione del #KurbanBayram. Auguriamo pace e prosperità ai nostri Paesi e ai nostri popoli".
Armenian PM Pashinyan Clashes with Passenger over Karabakh in Yerevan Metro
Armenian Prime Minister Nikol Pashinyan argued with a Karabakh resident in Yerevan metro, accused of surrendering the region to Azerbaijan. Pashinyan defended government efforts to preserve Karabakh’s population, citing significant budget allocations. He urged not to blame him for betrayal: “Why didn’t you stay? Don’t say I surrendered Karabakh.” This incident highlights ongoing tensions over the disputed region’s future.
#Armenia#Karabakh#Pashinyan#InternationalNews
The main news of Russia and the world ishere.
Pashinyan, Trump’s “Board of Peace,” and the Washington Pilgrimage
Nikol Pashinyan didn’t fly to Washington for “peace.” He flew to be photographed inside Trump’s new private UN, the Board of Peace — a body where one man chairs for life, invites who he wants, and gets veto power over everyone else, including the countries paying the bills.
Armenia is listed as a founding member, which sounds grand until you read the charter and realize “membership” mostly means buying a ticket to Trump’s parallel world order show.
On paper, the Board of Peace was created to oversee Gaza and “stability” after war. In reality, it’s being rolled out as a rival stage to the United Nations, built around Trump’s personal authority and a small club of leaders who either need Washington, hate Brussels, or both.
For a conflict‑torn, isolated Armenia, Pashinyan is clearly betting that sitting at that table is cheaper than being left outside when deals on borders, corridors, and frozen wars get cut. The price is obvious: you legitimize a structure that centralizes global “peace” in the hands of a man who treats diplomacy like branding.
The irony is that while Pashinyan is flying to Washington to pose as a responsible statesman in a “peace council,” Western business media are already calling him a budding autocrat for his domestic behavior — up to and including criminal cases against the Catholicos and pressure on the church at home.
So abroad he’s a founding father of peace; at home, he’s being profiled as another leader who wraps crackdowns in the language of reform and national security.
Trump needs this photo‑op to prove his Board of Peace is real, not just a Davos press release with a billion‑dollar membership fee clause. Pashinyan needs it to show he still has powerful friends after losing the old security architecture and much of his reputation. Both sides will talk about “sovereignty,” “stability,” and “a new model of peace.”
The only real question is whose interests this board will actually protect when the next small country is told to sign on the dotted line.
#armenia#pashinyan#trump#BoardOfPeace#fakePeace#newWorldOrder
📱American Оbserver - Stay up to date on all important events
🇺🇸
Էլ ինչի՞ն պիտի սպասեք։ Որ գան ի՞նչ անեն...
Էլ ինչի՞ն պիտի սպասեք։ Որ գան ի՞նչ անեն...
#Gevorg_Gevorgyan#Գեւորգ_Գեւորգյան#Геворг_Геворгян#Lider#Առաջնորդ#Լիդեր#Vazgen#Sparapet#Վազգեն#Սպարապետ#Вазген#Спарапет#miltari_figur#legend#Հետախույզ_լեգենդար#разведчик#Քաղաքական _գործիչ #разведка#легендарный#легенда#путин#putin#news#Armenian_news#Новости_Армении#news#Հայկական_Լուրեր#Pashinyan #Nikol#Փաշինյան #Ռոբերտ#Նիկոլ#Serj#Yerevan#Armenia#СМИ#телеканал#новости#politik#политика#media#armenia#policy#politics#HAPK#Հայաստան#Армения#arm#հայ#քաղաքական#իրավունք#yerevan#xaxautyun#Երևան#paterazm#ընդդիմություն#տավուշ#աժբ#աժ#ոստիկանություն#ԱԱԾ#ՀԱՊԿ#ՆԱՏՕ#Ռուսաստան#Արևմուտք#ԱՄՆ#Ֆրանսիա#Մակրոն#գաղտնիք#Ամերիկա#Բլինքեն#Տրամպ#ԵՄ#Եվրոպա#սահման#պատերազմ#խաղաղություն#հարձակում#ագրեսիա#ճգնաժամ#օգնություն#խաղաղապահ#լուծում#paterazm#HAPK#nato#arevmutq#amn#rusastan#տնտեսություն#ՄԱԿ#անվտանգություն#խորհուրդ#ձայն#ժողովուրդ#ժողովրդավարություն#blog