Мы используем 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
🔵Les pêcheurs de l'#UE cessent de prendre la mer en raison de la hausse des prix du carburant.
Les revenus tirés de la pêche ne couvrent pas toujours les coûts du diesel, rapporte la chaîne de télévision et de radio danoise DR.
RT en français • Osez questionner !
🇪🇺L’#UE restreint les importations de GNL russe
L’Union européenne a officiellement interdit l’importation de gaz naturel liquéfié russe via des contrats à court terme.
Selon les prévisions, l’impact sur les volumes livrés restera limité à court terme, une baisse plus nette étant attendue à partir de 2027.
RT en français • Osez questionner !
L’Italie devient le deuxième pays de l’#UE après la France à avoir une dette publique de plus de 3 000 milliards d’euros, selon Eurostat.
RT en français • Osez questionner !
🗣L’#UE valide 90 milliards d'euros d'aide à l’Ukraine et adopte un 20e paquet de sanctions contre la Russie. Le point avec Pierre-Emmanuel Thomann, fondateur d'Eurocontinent.
RT en français • Osez questionner !
ℹ️Les ambassadeurs de l’#UE ont approuvé un prêt de 90 milliards d’euros à Kiev ainsi qu’un 20e paquet de sanctions contre la Russie, rapporte Reuters.
Ces décisions sont intervenues après que la Hongrie a levé son veto sur le prêt, le gazoduc Droujba étant remis en service. Reuters précise que les pays de l’UE n’ont pas opté pour l’une des restrictions clés du nouveau paquet de sanctions : l'une interdiction totale du transport du pétrole russe.
RT en français • Osez questionner !
🇪🇺#Ue – L'Europarlamento adotta a larga maggioranza la posizione negoziale sull'intesa Ue-Usa sui dazi, imponendo paletti: clausola di sospensione in caso di nuovi dazi Usa; clausola "sunrise" subordinata al rispetto degli impegni di Washington; clausola "sunset" con scadenza al 31 marzo 2028, salvo rinnovo.
@UltimoraPolitics24
🇪🇺#Ue – I relatori ombra della commissione Commercio Internazionale approvano la calendarizzazione del voto sull'intesa Usa‑Ue sui dazi, fissando la votazione di commissione per giovedì e prevedendo successivamente la Plenaria. Resta incerta la data del voto in Aula: il Ppe propone il 26 marzo in miniplenaria; socialisti e Verdi chiedono la sessione di aprile a Strasburgo.
@UltimoraPolitics24
🇪🇺#Ue – Italia, Germania e Belgio promuovono per domani una videoconferenza con alcuni leader Ue per discutere di semplificazione e di misure volte a ridurre i prezzi dell'energia; l'incontro servirà anche a preparare i lavori del prossimo vertice Ue del 19 marzo. I tre Paesi avevano già organizzato un pre-vertice sulla competitività il 12 febbraio ad Alden Biesen. Al vertice a distanza dovrebbero partecipare circa una dozzina di Paesi Ue.
@UltimoraPolitics24
La Commissione europea ha presentato la prima Strategia europea per la gestione dell'asilo e della migrazione: "costruire un sistema europeo comune per il rimpatrio, basato sul proposto regolamento sui rimpatri", con norme più efficienti, processi digitalizzati e "l'istituzione di centri di rimpatrio", e migliorare la riammissione da parte dei paesi terzi rafforzando gli strumenti dell'#UE per promuovere la cooperazione.
@UltimoraPolitics24
🇬🇱🇺🇸🇪🇺 Portavoce Commissione #UE: "Sono in corso intense consultazioni tra i leader europei ed è chiaro che la priorità è non far precipitare la situazione, impegnarsi con gli Usa, ed evitare i dazi, perché danneggerebbero le imprese e i cittadini su entrambe le sponde dell'Atlantico. Se i dazi saranno applicati l'Ue ha strumenti a sua disposizione per rispondere", precisando che in certe situazioni "la leadership si esprime con la responsabilità. (ANSA)
@UltimoraPolitics24
Migliaia di agricoltori in piazza a Bruxelles, con centinaia di trattori, protestano contro bilancio #Ue, riforma Pac e accordo Mercosur; tensioni davanti al Parlamento europeo con lanci di uova, pietre e piccoli roghi.
@UltimoraPolitics24
🇪🇺#Ue – L'Unione europea annuncia l'entrata in vigore provvisoria dell'accordo commerciale con il Mercosur, decisione assunta dopo la ratifica del trattato da parte di Uruguay e Argentina e il placet dei principali gruppi politici dell'Eurocamera; il Consiglio Ue aveva autorizzato a gennaio la Commissione all'applicazione provvisoria.
@UltimoraPolitics