Мы используем 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
🔧Представь: ты создаёшь алгоритмы для автономных автомобилей...
Звучит как фантастика? Не для Московского Политеха.
Продолжаем рассказывать о магистерских программах Передовой инженерной школы технологического лидерства «FDR». Сегодня — заключительная часть нашей серии.
На программе «Программная инженерия в автомобилестроении» ты освоишь полный цикл разработки ПО для умных автомобилей: от программирования на Python, C++ и Java до работы с искусственным интеллектом, машинным обучением и системами автономного вождения.
→ Предыдущие части ищи по хештегу #FDR
Проголосовать | @mospolytech
✈️Будущее транспорта — за тобой!
Рассказываем о магистерских программах Передовой инженерной школы технологического лидерства «FDR» Московского Политеха.
Хочешь создавать электромобили и умные системы для них? Тогда программа «Электрифицированные транспортные средства» — твой правильный выбор!
Почему мы?
- Эксперты и преподаватели — специалисты из индустрии
- Работа в современных лабораториях
- Реальные проекты с первого курса
- Практический опыт и конкурентное преимущество
→ P.S. Предыдущие части ищите по хештегу #FDR
Проголосовать | @mospolytech
🏎Где можно работать с настоящими гоночными автомобилями?
В магистратуре Московского Политеха!
Продолжаем рассказывать про магистерские программы Передовой инженерной школы технологического лидерства «FDR».
Например, в программе «Гоночный инжиниринг» собраны все актуальные особенности современного гоночного мира. Подробнее читайте в карточках.
→ Предыдущую часть ищите по хештегу #FDR
Проголосовать | @mospolytech
🔩Рассказываем о магистратуре ПИШ технологического лидерства «FDR»
В течение недели мы будем публиковать карточки с подробной информацией о магистерских программах Передовой инженерной школы технологического лидерства «FDR».
В первый день рассказываем о программе «Инженерный дизайн и стилистика транспортных средств»
P.S. Дальше найти информацию вы сможете по хештегу #FDR
Проголосовать | @mospolytech
Franklin D. Roosevelt was the 32nd U.S. President. He led the country through the Great Depression by creating jobs and helping people with new programs. He also guided the U.S. during World War II. FDR was the only president elected four times—last elected on November 7, 1944, and started his fourth term on January 20, 1945. After his presidency, the 22nd Amendment was passed, limiting presidents to two terms. 🇺🇸🗳️
[Read more]
@googlefactss
#FDR#USPresident#History#GreatDepression#WWII#22ndAmendment