Мы используем 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
Protect yourself and your loved ones from #Cholera by practicing good hygiene and safe food habits.
💧 Drink only safe, treated water
🧼 Wash hands regularly with soap under clean running water
🍲 Cook food thoroughly
🏡 Keep your surroundings clean
Stay safe, Stay healthy! 💪
#StopCholera#HealthyLiving#NCDCNigeria#CleanWater#HygieneMatters
Filtered water is home filtered tap water, removing harmful things. Bottled water often comes from tap water or has the exact same source (depending on the area) and costs about $500–$800 a year for a family. Tap water for drinking costs only a few dollars a year. Plastic bottles create waste and hurt the environment. Filtered water is cheaper, better for the planet and if you don't care about the planet, its also good for your wallet. 🌍🚰
[Read more]
@googlefactss
#FilteredWater#BottledWater#EcoFriendly#SaveMoney#CleanWater
💧SDG 6 – Clean Water and Sanitation
SDG 6 aims to ensure safe drinking water, sanitation, and hygiene systems for every person. Poor water quality or limited access to water directly impacts public health, workforce productivity, and food security.
Water security is a key priority for sustainable development!
#SDG6#CleanWater#Sanitation _____________________
💧SDG 6 – Toza Suv va Sanitariya
SDG 6 — har bir inson uchun xavfsiz ichimlik suvi, sanitariya va gigiyena tizimlarini ta’minlash. Suv sifati yomonlashsa yoki tanqis bo‘lsa, bu sog‘liq, ish unumdorligi va oziq-ovqat xavfsizligiga bevosita ta’sir qiladi.
Barqaror rivojlanish uchun suv xavfsizligi — asosiy masala!
#SDG6#TozaSuv#Sanitariya
✉️[email protected]
☎️ +998 55 512 00 77
📍Location
🌐Website | 📱Telegram | 📱Instagram | 📱LinkedIn | 🟥YouTubeо
Чистая вода для 70 000 человек по цене двух бутылок воды.
Цена вопроса — 485,6 тенге один раз с каждого жителя. Именно столько стоило внедрение системы DIOXEL, чтобы обеспечить целый город безопасной водой без бактерий, вирусов, железа и сероводорода.
Что это дает городу:
Экономия: Ежемесячные затраты на обслуживание — всего 9,2 тенге на человека.
Надежность: Гарантия на оборудование 10 лет.
Сделано в Казахстане: Полностью отечественное производство от ISTOCK Solutions.
Экологичность: Минимальное потребление электроэнергии и отказ от устаревших, опасных технологий.
Две бутылки воды решили вопрос безопасности целого города на десятилетие вперед.
📍 Я горжусь тем, что мы делаем.
#CleanWater#DIOXEL#Innovation#WaterTreatment#MadeInKZ#Экология