Мы используем 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
Дезинформация – это не мнение,
это оружие.
И пришло время защищаться.
Присоединяйтесь к нам на митинге в защиту достоверной информации!
Россияне против войны Russi Contro La Guerra Italia участвуют в рабочей группе "Stop propaganda russa" и в организации этого протеста.
❗ Поделитесь анонсом, сделайте репост!
#stoppropaganda#stoppropagandarussa#russicontrolaguerra
#russian_antiwar_committee
#freerussiansglobal
📅 Воскресенье, 2 февраля
🔥15:00
📍Piazza VIII Agosto, Болонья
Привет! Вышла программа на Радио Радикали с участием активистки Russi Contro la Guerra Виктории.
Вы можете послушать запись передачи.
Мы рекомендуем фрагмент с 9-й по 27-ю минуту, где обсуждается тема пропаганды и участия России в Венецианской биеннале.
Вы сможете узнать, как пропаганда законодательно закреплена в РФ. Ссылка
Продолжаем собирать подписи в петиции против участия России в Биеннале: ссылка. (На итальянском и английском)
Подпишите и поделитесь!
È uscita una puntata su Radio Radicale con la partecipazione dell’attivista di Russi Contro la Guerra, Victoriya.
Potete ascoltare la registrazione della trasmissione. Consigliamo in particolare il frammento dal minuto 9 al minuto 27, dove si discute del tema della propaganda e della partecipazione della Russia alla Biennale di Venezia. In questa parte si spiega anche come la propaganda sia stata formalmente sancita a livello legislativo nella Federazione Russa. Il link.
Continuiamo a raccogliere firme per la petizione: link. (In italiano e l'inglese)
Firmate e condividete!
#BiennaleDiVenezia#RussiControLaGuerra#StopPropaganda#radioradicale#StandWithUkraine#ArtAndPolitics#NoWar
23 февраля, накануне третьей годовщины полномасштабной войны России против Украины, в центре Рима прошла антивоенная акция THREE YEARS OF TERROR.
Акцию организовали активисты Russi Contro la Guerra совместно с объединением демократических диаспор Free Russians Global Свободные россияне / Free Russians Global . В своих выступлениях участники говорили о проблемах и трагедиях, которые уже три года не теряют актуальность: нечеловеческие условия содержания украинских военнопленных в российских тюрьмах, огромные тюремные сроки за инакомыслие в России, депортация детей с оккупированных украинских территорий, тотальная прокремлевская пропаганда, бомбардирующая граждан как внутри России, так и в других странах.
Активисты зачитали письма и обращения российских политических заключенных. Вот отрывок из последнего слова Алексея Горинова: «Насилие, агрессия, порождают только ответное насилие и ничего более. Вот истинная причина наших бед, страданий, наших бессмысленных жертв, разрушений объектов гражданской и промышленного инфраструктуры, наших жилищ. Давайте прекратим эту кровавую, никому не нужную бойню — ни нам, ни жителям Украины. Не пора ли оставить в покое наших соседей и заняться своими внутренними проблемами, которые нарастают, как снежный ком».
Через три года войны, когда резко меняется мировая политическая ситуация, эта акция около Римских форумов, в историческом центре европейской цивилизации, напомнила: белое – это белое, а черное – это черное. Агрессор остается агрессором, военных преступников необходимо судить, а христианская религия и церковь – это не рупор тезисов государственной власти.
В ходе акции собирали средства на закупку портативных электростанций для больниц и школ Украины (благотворительный проект «Энергия для жизни» Антивоенный Комитет России ),
После окончания акции желающие присоединились к большому шествию, организованному украинской диаспорой.
#3yearsofterror#rawitaly#russiagainstwar#WeStandwithUcraine
#russicontrolaguerra
#People1st#stoppropaganda#SaveUkraine