Мы используем 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
Only 3 Days Until FRUIT CIRCUS PARTY! 🍉🎪
Why wait for the fun? The Buy Bonus feature lets you jump straight into the bonus round, where multiplicative multipliers never reset between spins. More spins, more multipliers, more mayhem! 🎢
Tick-tock, the madness begins in just 3 days. June 27th – mark the date!
➡️DEMO: https://bit.ly/demo-fcp
#FruitCircusParty#MultiplicativeMultipliers#BuyBonus#TrueLab#TrueGames#TrueSlots
Step Right Up! Step right up! There's a new circus hitting town!
Tired of bland fruits? Us too. Meet FRUIT CIRCUS PARTY – where cascading wins, high volatility, and multipliers up to x10,000 make your average fruit game look like a snooze fest. 😴💣
Why? CASCADING MULTIPLICATIVE MULTIPLIERS, that's why. 🔥
We're talking 243 Ways to Win, Cascading multipliers and a bonus buy to get you right into the action.
This isn't your average circus. Launching 27th June. 🗓️
#CircusFruitParty#MultiplicativeMultipliers#BuyBonus#ComingSoon#TrueLab#TrueSlots#TrueLab
BOOM! The Fruit Circus Party is in town tonight! 💥
The wait is over, so It's finally time to unleash those unlimited multiplicative multipliers and kick off the mayhem!
Use the Buy Bonus to plunge straight into the bonus round, where multipliers only head in one direction - UPWARDS. Because who needs limits, right?
Fruit Circus Party is OUT NOW! 🚀
➡️ SPIN IT: https://bit.ly/demo-fcp
#FruitCircusParty#OUTNOW#MultiplicativeMultipliers#BuyBonus#TrueLab#TrueGames#TrueSlots
Tired of boring fruit games? We’ve got you covered. Our latest game, FRUIT CIRCUS PARTY, features multiplicative multipliers with no limits! That’s right, endless chaos and infinite potential!
🎢 Charge the multipliers by landing wins and triggering cascades. The more you win, the crazier it gets, and we mean CRAZIER! You can even use the Buy Bonus to head straight into the bonus round, where multipliers don't reset and only head upwards. Because who needs stability, right? 🎪💥
We’re just 10 days away from launching this fruity frenzy. Mark your calendars for June 27th!
Can't wait? Hit up the demo right here!
➡️https://bit.ly/demo-fcp
#FruitCircusParty#MultiplicativeMultipliers#CascadingWins#BuyBonus#TrueLab#TrueGames#TrueSlots