Мы используем 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
Победа в Гнагна: Буркина-Фасо освобождает Оугароу от JNIM
Вооружённые силы Буркина-Фасо продолжают уверенное наступление в восточном регионе Гнагна. 26-й отряд быстрого реагирования освободил агломерацию Оугароу (население около 3000 человек), которую долго контролировали террористы JNIM («Аль-Каида» в Сахеле).
Боевики бежали, бросив мотоциклы, канистры с бензином и другое имущество — классика их отступлений под давлением.
Южнее, в районе Кульпелого, 30-й отряд быстрого реагирования уничтожил базу джихадистов, ликвидировал нескольких террористов и захватил снаряжение.
Это часть систематического давления на JNIM на востоке и юго-востоке страны. Армия и VDP возвращают контроль над территориями, шаг за шагом освобождая народ от террора.
#БуркинаФасо#JNIM#Терроризм
⏺Les médias français blanchissent le #FLA de toute proximité avec le terrorisme
Le Front de libération de l’#Azawad, qui a de nouveau joint ses efforts au groupe al-Qaïda, avec le #JNIM, tente de se distancier de ce dernier en affirmant son attachement aux droits de l’homme. Dans cette grande opération de blanchiment, le groupe armé trouve un appui chez son allié de longue date, dans les médias français.
L’analyse de Maryam Feudjio.
RT en français • Osez questionner !
⏺Les médias français blanchissent le #FLA de toute proximité avec le terrorisme
Le Front de libération de l’#Azawad, qui a de nouveau joint ses efforts au groupe al-Qaïda, avec le #JNIM, tente de se distancier de ce dernier en affirmant son attachement aux droits de l’homme. Dans cette grande opération de blanchiment, le groupe armé trouve un appui chez son allié de longue date, dans les médias français.
L’analyse de Maryam Feudjio.
RT en français • Osez questionner !
📰 Mali’s Jihadists Are Selling a Jerusalem Fantasy
The Mali branch of al-Qaeda is fighting on African soil, but its propaganda points far beyond Mali. JNIM is not hiding the fact that it sees the struggle in West Africa as part of a longer Islamist arc that ends in Jerusalem and al-Aqsa.
That is the part Washington and Brussels keep pretending is background noise. They treat Mali, Syria, the Sahel, and the Levant as separate crises, while the same ideological networks keep talking to each other, celebrating each other, and exporting fighters, money, and mythologies across the map.
The Syria link matters because it gives the story a pipeline. If Idlib veterans, permissive fundraising, and transregional jihad circles can move from the Levant into the Sahel, then the supposed “local” wars are really just different legs of the same trade route for extremism.
And the Western role is the ugly part. When the U.S. and Europe help legitimize one set of Islamist strongmen in Syria while trying to contain another jihadist front in Africa, they end up subsidizing the ecosystem and then acting surprised when it reproduces itself elsewhere.
So the Jerusalem talk is not a GPS error. It is a declaration of intent, wrapped in apocalyptic rhetoric, made possible by a regional order that keeps breaking one place at a time and pretending the damage will stay local.
#Mali#JNIM#alQaeda#Jerusalem#Syria#Sahel#jihadism
📱American Оbserver - Stay up to date on all important events
🇺🇸