Мы используем 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
Загляните за кулисы выставки #DesignYouCanFeel в Стамбуле! 💫
Узнайте, как ASUS объединяет передовые технологии, инновации и безупречный дизайн в единое целое! ✨
Погрузитесь в мир, где каждое устройство создано для того, чтобы его хотелось касаться и исследовать 🙌
✨ Делимся с вами небольшим репортажем с Недели дизайна в Милане! На выставке #DesignYouCanFeel наши новейшие ноутбуки серии Zenbook органично вписались в эстетику пространства, демонстрируя гармонию технологий и дизайна.
🔍 Каждая инсталляция подчеркивает преимущества инновационного материала Ceraluminum®, используемого в корпусах устройств — сочетание премиальной элегантности, лёгкости и прочности.
💡 Хотите узнать больше о технологиях ASUS? Следите за нашими обновлениями!
☁️ Совсем скоро мы покажем один из самых легких в мире компьютеров категории Copilot+! 🤩
🎞 Присоединяйтесь к прямой трансляции презентации ASUS с выставки CES 2025 🗓️ 7 января, 20:00 (UTC +3)!
#Zenbook#DesignYouCanFeel
🤩 32 часа безграничных возможностей.
📅 Не пропустите:
7 января, 20:00 (UTC +03:00)
▶ Присоединяйтесь к прямой трансляции презентации ASUS на CES 2025!
#AlwaysIncredible#Zenbook#DesignYouCanFeel
Дизайн — это не просто то, что ты видишь. Это то, что ты чувствуешь.✨
Мировой тур #DesignYouCanFeel добрался до главного дизайнерского события года. Присоединяйся к ASUS на Milan Design Week 2025!
📍 Galleria Meravigli, Милан
📅 8–13 апреля 2025.
#MDW2025#ASUSZenbook#DesignYouCanFeel