Мы используем 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
News: Following months of mutual accusations, #Eritrean President Isaias Afwerki accuses #Ethiopia of declaring war, dismisses Red Sea narrative
Eritrean President #Isaias Afwerki on Monday accused Ethiopia of declaring war on Eritrea and rejected narratives framing the tensions as a dispute over #Red_Sea access, in comments aired on Eritrean state television.
Following an extended discussion on United States foreign policy, President Isaias turned to his deteriorating relations with Ethiopia’s ruling party.
He rejected claims that tensions between the two countries are linked to access to the Red Sea, insisting that Eritrea harbors no such ambition. “For us, it is not directly about the Red Sea,” he said.
The Eritrean leader accused Ethiopia’s ruling Prosperity Party of advancing a broader militarized agenda, claiming that armed conflicts have persisted across the country despite the signing of the Pretoria peace agreement.
Isaias further alleged that ...
Read more: https://addisstandard.com/?p=54519
News: #Saudi deputy foreign minister meets #Ethiopian FM week after Isaias talks in Asmara
Saudi Arabia’s Vice Minister of Foreign Affairs, Waleed A. M. Elkhereiji, met with Ethiopia’s Minister of Foreign Affairs, Gedion Timothewos, in Addis Abeba, a week after holding talks with #Eritrean President #Isaias Afwerki in #Asmara.
According to a statement from the Ethiopian Ministry of Foreign Affairs, the two officials discussed the “strong and longstanding bilateral relations” between Ethiopia and the Kingdom of Saudi Arabia, underscoring the importance of elevating ties to “a new high.” They also exchanged views on regional peace & security issues of mutual interest.
Ethiopia’s Minister of Foreign Affairs offered no additional information in the statement.
The meeting comes a week after Saudi Vice Foreign Minister Waleed A. M. Elkhereiji held talks in Asmara with Eritrean President...
Read more: https://addisstandard.com/saudi-deputy-foreign-minister-meets-ethiopian-fm-week-after-isaias-talks-in-asmara/
🚀✨ ¡Comenzamos una nueva etapa en nuestra serie de las Sagradas Escrituras!
Hoy nos adentramos en los Libros Proféticos con uno de sus gigantes: Isaías.
Junto a Daniel Osorio, descubriremos su mensaje lleno de esperanza y promesa mesiánica.
📅 Hoy | 🕑 2:00 p.m.
📻 Tu Emisora Minuto de Dios
🎙#LaCatequesis
📖 “El pueblo que caminaba en tinieblas vio una gran luz” (Is 9,1).
#fesencillavidailuminada#minutodediosmed#trilocosxjesus#Biblia#Isaias#Profeticos#PalabraQueTransforma