Мы используем 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
╔══════ ∘◦ ✧ ◦∘ ══════╗
#arknights_Enfield / #Rossi
(ПОСТ ДЛЯ ВП С КАНАЛАМИ)
Вас встречает тгк канал
✩Ꮇиᴧыᴇ ᴀᴩᴛиᴋи𝄞✩! Здесь
вы увидите много милых
артов/ немного эро/ видео/
странички комиксов/
косплеи и многое другое! И кнш темат дни! Присутствует хентай но он за звезды. Посты делаются раз в час или два
✦ ─────────────── ✦
⋆。°✩ Ссылка на канал ✩°。⋆
✦ ─────────────── ✦
⋆。°✩ Ссылка на чатик ✩°。⋆
╚══════ ∘◦ ❀ ◦∘ ══════╝
#Italia#Liguria#Genova
Davide #Rossi (#Lega|ID): "Io sono passato sul ponte Morandi 15 minuti prima del crollo, mi ritengo un miracolato."
@UltimoraPolitics
#Italia#Liguria#Genova
Davide #Rossi (#Lega|ID): "Bisogna mettere al centro il valore della famiglia, integrandola nel settore cittadino."
@UltimoraPolitics
#Italia#Liguria#Genova
Davide #Rossi (#Lega|ID): "Genova è una città più tranquilla rispetto a 5 anni fa. C'è molto da fare, soprattutto nelle zone collinari."
@UltimoraPolitics
#Italia#Liguria#Genova
Davide #Rossi (#Lega|ID): "Vivo in un quartiere periferico, con la comunità sudamericana più grande di Europa. È un lavratorio, abbiamo creato una situazione di diritti e doveri, come il divieto di somministrazione di alcolici in orari notturni."
@UltimoraPolitics
#Italia#Liguria#Genova
Davide #Rossi (#Lega|ID): "Abbiamo avviato molti progetti pubblici, penso al rifacimento della passeggiata, ai lavori per la riqualificazione di Pra. Tanti lavori, da levante al futuro, per costruire una visione nei prossimi 50 anni.'
@UltimoraPolitics
#Italia#Lombardia#Monza
Valeria #Rossi, la cantante di «Tre parole», successo dell’estate del 2001, e oggi dipendente dell’Ufficio anagrafe del capoluogo brianzolo, è candidata nella lista «Monzattiva» a sostegno del candidato sindaco di centrosinistra Paolo #Pilotto.
@UltimoraPolitics