Мы используем 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
🌊 Абстрактные минималистичные животные моря — акула, кит, дельфин и черепаха
Набор ярких морских обитателей в стиле low poly станет отличным украшением интерьера, декораций или идеальным дополнением арт-проекта!
🔗Скачать:Printables
#️⃣ Категория:#Sculptures@anzar3d
🖨3D модели | Max
🦅 Абстрактные минималистичные птицы (Low Poly)
Набор геометрически упрощённых птиц, выполненный в стиле low poly. Отличное решение для творческих проектов, анимации или печати фигурок.
🔗Скачать:Printables
#️⃣ Категория:#Sculptures@anzar3d
🖨3D модели | Max
🕯️ СОЗДАЙ ИДЕАЛЬНЫЕ СВЕЧИ
Создай уникальные свечи с помощью реалистичной трехмерной формы! Создавай дизайнерские изделия ручной работы — идеальны для подарков и декора интерьера.
🔗Скачать:Printables
#️⃣ Категория:#Sculptures@anzar3d
🖨3D модели | 3D Маркетплейс | Max
🎨 Низкополигональный волк воющего дизайна Low Poly Howling Wolf 2.0 (FIX)
Уникальная декорация без поддержек — идеальный выбор для начинающих любителей 3D-печати! Отличное качество печати и стильный дизайн обеспечат восторг от результата.
🔗Скачать:Printables
#️⃣ Категория:#Sculptures@anzar3d
🖨3D модели | 3D Маркетплейс | Max
🌿 Абстрактный минимализм животных — Лесной набор (Low Poly, 4 модели)
Минималистичные животные леса в стиле Low Poly — идеальный выбор для дизайна интерьеров, визуализации природы и креативных проектов.
🔗Скачать:Printables
#️⃣ Категория:#Sculptures@anzar3d
🖨3D модели | 3D Маркетплейс | Max
If you don't create family and raise children, then you are cheating nature. Life is recycling.
You have to reincarnate your ancestors the way you were reincarnated from them.
This great high relief Sculpture won best entry of Uyo/Calabar zone in 2018 Life in my City Art Festival (LIMCAF) in Enugu State, Nig.🇳🇬
Is still one of my best in Sculptural art.
#AfricanArt#contemporaryArt#Sculptures#HighRelief#Art#Histories
#ARTisLIFE#Culture#Nature#LIMCAF2018
@Usoro'sArtGallery/Studio. Follow Usoro Otobong on #Facebook for more..