Мы используем 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
#Elezioni#NuovaZelanda
Oggi si vota in Nuova Zelanda!
Abbiamo creato delle schede in cui potete vedere i partiti principali e dove si posizionano ideologicamente.
🔽
https://tinyurl.com/5n6e7v5s
@OsservatorioEsteri
#Lituania#IndoPacifico
Il governo lituano ha pubblicato il primo documento comprensivo sulla “Strategia lituana per l’Indo-Pacifico” della sua storia.
Tale strategia poggerà su tre pilastri:
•Potenziamento della collaborazione e del dialogo politico con le nazioni dell’Indo-Pacifico, per un miglioramento delle proprie competenze ed esperienze nel contrasto alle minacce ibride e nei settori della difesa e della cybersicurezza.
In tal senso, fondamentale è il riferimento alla #Cina: “La sua attitudine rispetto ai diritti umani e l’ordine internazionale fondato su regole costituisce una minaccia significativa per le democrazie libere ed aperte.”
•Costruire e sviluppare partnerships economiche nei settori del commercio, degli investimenti, della scienza, delle tecnologie e dell’innovazione. Con una particolare attenzione alla diversificazione delle catene di approvvigionamento e della resistenza alla coercizione di natura economica.
Con riguardo a #Taiwan, la Lituania ambisce a consolidare la cooperazione reciproca nell’industria tecnologica, nel rafforzamento delle proprie capacità di difesa e nella promozione della democrazia.
•Soft power, stabilendo piattaforme per un consolidamento delle relazioni people-to-people, per gli scambi nelle aree della scienza, della cultura, dell’educazione e dell’empowerment giovanile e femminile e per una promozione dello status della Lituania come uno Stato democratico e progressista che attragga talenti.
Qui potete trovare il testo completo, comprensivo del disegno relativo alle future relazioni con #Giappone, #NuovaZelanda, #Australia, #CoreadelSud ed #India.
@OsservatorioEsteri
#ProssimeElezioni🗓
Le elezioni che seguiremo prossimamente sono:
🇧🇬#Bulgaria: #parlamentari, il 19 aprile;
🇬🇧🏴#RegnoUnito: parlamentari in #Scozia, il 7 maggio;
🇬🇧🏴 Regno Unito: parlamentari in #Galles, il 7 maggio;
🇨🇻#CapoVerde: parlamentari, il 17 maggio;
🇪🇸#Spagna: #regionali in #Andalusia, il 17 maggio;
🇨🇾#Cipro: parlamentari, il 24 maggio;
🇮🇹#Italia: #comunali, il 24 e il 25 maggio;
🇨🇴#Colombia: #presidenziali, il 31 maggio;
🇦🇲#Armenia: parlamentari, il 7 giugno;
🇮🇸#Islanda: #referendum, il 29 agosto;
🇭🇹#Haiti: presidenziali e parlamentari, il 30 agosto;
🇩🇪#Germania: #statali in #SassoniaAnhalt, il 6 settembre;
🇸🇪#Svezia: parlamentari, il 13 settembre;
🇩🇪 Germania: statali a #Berlino e nel #MeclemburgoPomeraniaAnteriore, il 20 settembre;
🇲🇦#Marocco: parlamentari, il 23 settembre;
🇱🇻#Lettonia: parlamentari, il 3 ottobre;
🇧🇦#BosniaErzegovina: parlamentari e presidenziali, il 4 ottobre;
🇧🇷#Brasile: presidenziali e parlamentari, il 4 ottobre;
🇺🇸#StatiUniti: parlamentari e statali, il 3 novembre;
🇳🇿#NuovaZelanda: parlamentari, il 7 novembre;
🇧🇬 Bulgaria: presidenziali, l'8 novembre;
🇨🇻 Capo Verde: presidenziali, il 15 novembre;
🇦🇺#Australia: statali nel #Victoria, il 28 novembre.
Sono segnate in grassetto le elezioni previste nel corso del mese di aprile.
@TuttoElezioni
#ProssimeElezioni🗓
❗️Calendario aggiornato
Le elezioni che seguiremo prossimamente sono:
🇵🇪#Perù: #presidenziali e #parlamentari, il 12 aprile;
🇭🇺#Ungheria: parlamentari, il 12 aprile;
🇧🇬#Bulgaria: parlamentari, il 19 aprile;
🇬🇧🏴#RegnoUnito: parlamentari in #Scozia, il 7 maggio;
🇬🇧🏴 Regno Unito: parlamentari in #Galles, il 7 maggio;
🇨🇻#CapoVerde: parlamentari, il 17 maggio;
🇪🇸#Spagna: #regionali in #Andalusia, il 17 maggio;
🇨🇾#Cipro: parlamentari, il 24 maggio;
🇮🇹#Italia: #comunali, il 24 e il 25 maggio;
🇨🇴#Colombia: presidenziali, il 31 maggio;
🇦🇲#Armenia: parlamentari, il 7 giugno;
🇮🇸#Islanda: #referendum, il 29 agosto;
🇭🇹#Haiti: presidenziali e parlamentari, il 30 agosto;
🇩🇪#Germania: #statali in #SassoniaAnhalt, il 6 settembre;
🇸🇪#Svezia: parlamentari, il 13 settembre;
🇩🇪 Germania: statali a #Berlino e nel #MeclemburgoPomeraniaAnteriore, il 20 settembre;
🇲🇦#Marocco: parlamentari, il 23 settembre;
🇱🇻#Lettonia: parlamentari, il 3 ottobre;
🇧🇦#BosniaErzegovina: parlamentari e presidenziali, il 4 ottobre;
🇧🇷#Brasile: presidenziali e parlamentari, il 4 ottobre;
🇳🇿#NuovaZelanda: parlamentari, il 7 novembre;
🇺🇸#StatiUniti: #parlamentari e #statali, il 3 novembre;
🇧🇬 Bulgaria: presidenziali, l'8 novembre;
🇨🇻 Capo Verde: presidenziali, il 15 novembre;
🇦🇺#Australia: statali nel #Victoria, il 28 novembre.
Sono segnate in grassetto le elezioni previste nel corso del mese di aprile.
@TuttoElezioni