Мы используем 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
Giuliano #Amato sulla Strage di Ustica: “Il Dc9 fu abbattuto da un missile francese. Macron chieda scusa. Era scattato un piano per colpire l'aereo sul quale volava Gheddafi ma il leader libico sfuggì alla trappola perché avvertito da Craxi”
@UltimoraPolitics
Intelligenza artificiale, Giuliano #Amato lascia la presidenza della commissione algoritmi dopo la conferenza stampa di ieri di Giorgia #Meloni: "È una commissione della presidenza del Consiglio, e visto che la mia nomina non risulta essere un’iniziativa della presidente del Consiglio lascio senz’altro l’incarico". Poi aggiunge una battuta, ridendo: "Peccato, ci perdono qualcosa...Ma a me semplificherà la vita"
@UltimoraPolitics
Strage di Ustica, Matteo #Salvini: "Giuliano #Amato ha rilasciato dichiarazioni di inaudita gravità: è assolutamente necessario capire se ci sono anche elementi concreti a sostegno delle sue parole. Visto il peso delle affermazioni di Amato e il suo ruolo rilevante all’epoca dei fatti, attendiamo commenti delle autorità francesi"
@UltimoraPolitics
Giuliano Amato ha lasciato la Commissione che presiedeva e che si occupa dei possibili impatti dell'intelligenza artificiale.
Tutti a fare polemica: la verità è che si tratta di una bellissima notizia perché era assolutamente inadeguato a ricoprire quel ruolo.
La mia al TG Plus di Cusano Italia TV
#amato#intelligenzaartificiale
https://www.youtube.com/watch?v=fU7YnKQbeyQ&ab_channel=SavinoBalzano
Strage di #Ustica, Giorgia #Meloni: "Quelle di #Amato sono parole importanti che meritano attenzione ma sono frutto di personali deduzioni. Premesso che nessun atto riguardante la tragedia del Dc9 è coperto da segreto di Stato, e che nel corso dei decenni è stato svolto dall’autorità giudiziaria e dalle Commissioni parlamentari di inchiesta un lungo lavoro, chiedo al presidente Amato di sapere se, oltre alle deduzioni, sia in possesso di elementi che permettano di tornare sulle conclusioni della magistratura e del Parlamento, e di metterli eventualmente a disposizione, perché il governo possa compiere tutti i passi eventuali e conseguenti"
@UltimoraPolitics
Il teologo francescano Paolo #Benanti è il nuovo Presidente della Commissione sull'Intelligenza Artificiale per l'informazione, dopo le dimissioni di Giuliano #Amato
Professore della Pontificia Università Gregoriana, Padre Benanti è l'unico italiano membro del Comitato AI delle Nazioni Unite
@UltimoraPolitics
Strage di #Ustica, fonti #Eliseo sulle scuse ai familiari delle vittime chieste a #Macron da Giuliano #Amato nell’intervista di oggi a Repubblica: “No comment”. (Adnkronos)
@UltimoraPolitics