Мы используем 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
🌸Beta Test Closing Announcement🌸
The Mystic Garden Beta Test has officially ended!
💎 Thank you to all the players who participated and helped shape the game. 🌱
🏆Winners List and rewards will be announced soon. Stay tuned for updates! 🚀
#MysticGarden#BetaTest#Web3Gaming
🚨 Mystic Garden Beta Test Reward Alert! 🚨
🌿 Dive into the enchanting world of Mystic Garden and claim your share of $500 AURA in rewards! 🌟
🎮 Beta Testers Wanted
💎 Exclusive prizes await 🌌
⏳ Don't miss the magic—beta testing opens soon!
#MysticGarden#BetaTest#Rewards
🌟How to Earn Crystals and Share $500 AURA in Mystic Garden?🌟
Beta Testers, this is your moment to shine! 🚀
🔹How to Share $500 AURA
• Harvest Crystals and sell them to earn GOLD.
• Rewards depend on the percentage of GOLD you contribute to the total GOLD from all players. 🏆
🔹Crystal Breakdown:
👉Tier 1 Elements🌱💧🔥🌬
• Earth, Water, Fire, Air
⏳ Growth Time: 1h - 1.5h
💎 Yield: 5-11 Crystals
🎁 Bonus Drop: 15-20% chance
👉Tier 2 Elements🪨⚙️🏖⚡️
• Combine Tier 1 to unlock:
Mud, Sand, Metal, Steam, Mist, Lightning
⏳ Growth Time: 2.5h - 8h
💎 Yield: 7-11 Crystals
👉Tier 3 Elements Coming Soon🌌
• Unlock combos like Light ☀️, Dark 🌑, Twilight!
🔔Leaderboard Mechanics:
• GOLD from selling Crystals determines your rank.
• Rewards are based on your GOLD percentage compared to all players. 🏅
Note: The parameters are not fixed, they will still be adjusted to always ensure suitability for the game!
The garden awaits. Grow and compete! 🌸
#MysticGarden#BetaTest#EarnRewards#CrystalLeaderboard
🎉 Our partner @chickizenTON is opening the Closed Beta Test phase to celebrate our partnership!
- Timeline: Now - 17:00 UTC , Jul 31, 2024.
- Whitelist: link
- Benefits: Exclusive Reward
#SingSing#Chickizen#BetaTest#Whitelist#GameRewards
📢 BETA TEST is coming soon!
We know you're itching to have a go and acquire your first CAThlete 🐷 Great news: gameplay development is progressing, and we're preparing a 💥playable beta💥!
We are grateful for your patience and will announce the start of beta testing in advance⏰ Stay tuned and don't miss out on the fun!
🐦 twitter: https://twitter.com/walken_io
🧨 medium https://medium.com/@walken.io
🕹️ discord https://discord.gg/QJDnFt6S4J
#nft#walken#walkandearn#NFTGaming#blockchaingame#betatest#betatester