Мы используем 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
#elezioniPolitiche2022
Alessandra #Mussolini torna nelle istituzioni: sarà una dei tre europarlamentari non eletti che sostituiranno gli europarlamentari forzisti eletti in Parlamento.
@UltimoraPolitics
Alessandra #Mussolini (#FI) presenta un emendamento alla relazione della commissione Libertà civili del Parlamento europeo sui diritti fondamentali chiedendo che "gli Stati membri registrino gli atti di nascita indipendentemente dal modo in cui il figlio è stato concepito o è nato e dal tipo di famiglia da cui proviene, sia esso figlio di un genitore unico, di una coppia di fatto, di una coppia sposata ivi compreso il figlio con due genitori dello stesso sesso o adottato a livello internazionale in uno Stato membro da uno o due genitori". Il #M5s: "Sosterremo la proposta di Mussolini"
@UltimoraPolitics
#Italia
Il consiglio comunale di #Salò ha revocato la cittadinanza onoraria a Benito #Mussolini con 12 voti a favore (Giunta di csx ndr), 3 contrari e un astenuto (liste civiche, una delle quali vicina a #FdI|ECR ndr). La La cittadinanza onoraria era stata conferita al Duce nel maggio del 1924 dal commissario prefettizio Salvatore Punzo.
@OsservatorioItaliano
Benito Mussolini, Italy’s former dictator, was captured on 27 April 1945 near Lake Como while trying to escape to Switzerland with Clara Petacci. They were executed on 28 April 1945 by Italian partisans. Their bodies were taken to Milan and displayed in Piazzale Loreto, where they were hung upside down. Mussolini was first buried in an unmarked grave, then later reburied in 1957 in Predappio, his hometown.
📜⚔️🇮🇹
Warning! Some of the images in the linked articles are shocking.
[Read more 1]
[Read more 2]
[Read more 3]
@googlefactss
#History#WWII#Italy#Mussolini
If you have ideas or feedback contact us:
@Googlefactss_Feedback_bot