Мы используем 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
Пилоты подрались в кабине во время рейса. Один даже швырнул в напарника портфелем
Два пилота A320 авиакомпании Air France подрались в кабине вскоре после вылета из Женевы в Париж ✈️
Как пишет газета La Tribune, ссора возникла из-за того, второй пилот отказался выполнить команду КВС, тот дал ему пощёчину, второй пилот швырнул в командира портфелем, далее завязалась потасовка; разнимать пилотов пришлось бортпроводникам, которые услышали шум.
Правда, тут французские журналисты, очевидно, подвирают, поскольку бортпроводник не может самостоятельно открыть дверь в кабину пилотов – её могут открыть только сами пилоты, поэтому очевидно, что они к тому времени уже прекратили драться. Однако после этого один из бортпроводников остался в кабине в кресле инструктора, чтобы конфликт не разгорелся вновь.
Авиакомпания заявила, что инцидент не повлиял на безопасность полёта, однако оба пилота были отстранены от полётов и находятся под следствием.
Лёгкое небо
#aviation#news#ГА#AirFrance
🇶🇦Европейские авиакомпании требуют аннулировать авиасоглашение с Катаром
📌Lufthansa, Air France, KLM и SAS обратились к главе Еврокомиссии с требованием аннулировать авиасоглашение ЕС с Катаром, подписанное в октябре 2021 года
🔵Поводом стало увольнение высокопоставленного чиновника ЕС, обвинённого в коррупции – в том числе в получении бесплатных перелётов Qatar Airways для себя и семьи
🔵По мнению европейских перевозчиков, соглашение предоставляет катарским авиакомпаниям неограниченный доступ к рынку ЕС и создаёт недобросовестную конкуренцию. Заявители настаивают, что документ не может действовать, пока остаются подозрения в коррупции при его заключении
🔵Власти Катара опровергли обвинения, заявив о полном соответствии законам. Qatar Airways ситуацию пока не прокомментировала
🤩Лёгкое небо
#aviation#news#Qatar#Lufthansa#AirFrance
#Updates: #Lufthansa, #TurkishAirlines, #AirFrance cancel Saturday flights to and from Tel Aviv, Middle East capitals
The German airline group Lufthansa said in a statement that it and its subsidiaries were suspending flights to and from #Dubai and #Abu_Dhabi until Sunday, citing the “current situation in the Middle East.”
Air France also cancelled its Saturday flights to and from #Tel_Aviv and #Beirut after the United States and Israel launched strikes on Iran, adding that it would provide further updates on its schedule in the coming days.
“Due to the security situation at the destination, the airline has decided to cancel its flights scheduled for February 28 to/from Tel Aviv and to/from Beirut,” Air France told AFP. “Air France will communicate later on its flight schedule to these destinations for the coming days,” it added.
#Iran, #Iraq, and #Israel have closed their airspace....
https://web.facebook.com/AddisstandardEng/posts/pfbid0EDj1My2WPSW3gr88dM7ioLeeMBhKoSBY7D9anWKrrFGsHXAxBFLG5w1seq733Qk1l