Мы используем 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
🇧🇪#Belgium: An explosion occurred earlier today outside a synagogue in the city of Liège, causing damage to the building and nearby windows. No injuries were reported.
Authorities established a security perimeter around the site, and Belgium’s federal prosecutor’s office, which handles terrorism and organized crime cases, has taken over the investigation. Officials have not yet released further details about the cause of the explosion, though local authorities described the incident as an "antisemitic act".
(via BBC)
Belgium, Bruges🇧🇪
Christmas Magic in Bruges! 🎄💫
In December Bruges comes alive with twinkling lights, joyful spirits and Christmas markets, of course. 🫶
Wandering through the cobbled streets adorned with festive stalls, where the aroma of mulled wine dances in the crisp winter air is something else. ❤️
⭐️
Who would you visit Bruges with?
#Belgium
@voyage
Belgium, City of Bruges🇧🇪
Bruges is a small Belgian city and the capital of West Flanders. Once the unofficial economic capital of Northwestern Europe, it has now become an important tourist center of the continent. 🏰🏙
Well-preserved medieval quarters in the historic center, crisscrossed by canals, have earned Bruges the rightful claim to be called the "Venice of the North."
#Belgium
@voyage
Rum — Rum (Philips, 1972)
#traditional#Belgium
Первый альбом бельгийской фолк-группы Rum, исполнявшей традиционную и академическую музыку, среди которой — сочинения юриста и композитора Флоримона Ван Дуйса (Florimond Van Duyse), собиравшего голландские, фламандские и валлонские народные песни и опубликовавшего их в нескольких сборниках, которыми, видимо, и воспользовались Rum.
Telegram
🇧🇪#Belgium - 🇬🇧#UK / 🇮🇱#Israel: Belgian authorities seized two UK-origin shipments of military components bound for Israel after they arrived at Liège Airport on March 24th, where they had been scheduled for onward transport to Tel Aviv two days later.
The cargo reportedly included fire-control systems and spare parts for military aircraft. A criminal case was opened as a result of this discovery.
Walloon Minister-President Adrien Dolimont said this was not the first such case uncovered at Liège, adding that it is often difficult to identify military cargo.
He stated that, in this case, the law had clearly not been respected, stressing that no transit licence had been requested, and regardless of request, such a transfer would have been refused under Belgium’s current policy.
(via declassifiedUK)
Happy Saxophone Day!
🎷🎵🎶
The saxophone was invented by Belgian Adolphe Sax in the early 1840s — his birthday, Nov 6, is celebrated as National Saxophone Day.
Feel free to post saxophone music in the comments.
[read more here]
@googlefactss#funfact#saxfact#history#Belgium
't Kliekske — Instrumentaal (CBS, 1978)
#medieval#traditional#Belgium
't Kliekske — бельгийская группа, исполнявшая старинную традиционную фламандскую музыку. Они собрали бесчисленное количество народных песен, мелодий, танцев и инструментов. Один из участников коллектива, Герман Девит, занимался реконструкцией старинных инструментов. В 1995 году Герману было присвоена степень доктора за его исследования и исполнение народной музыки. Группа также являлась инициатором ежегодных курсов народной музыки сначала в Гальмаардене, а затем в Пайоттенланде. На этом альбоме собраны записи произведений из рукописи, обнаруженной Гисленом Потвлиге (Ghislain Potvlieghe) во фламандской деревне Виан.
Telegram
🇱🇻#Latvia - 🇪🇪#Estonia - 🇧🇪#Belgium: Latvia, Estonia, and Belgium have become the first NATO countries to begin deploying the "Blaze" fully autonomous interceptor drone system along their borders amid increasing reports of unauthorized drone incursions in their airspace.
Developed and manufactured in Latvia by Origin Robotics, the Blaze is an autonomous counter-drone interceptor designed to detect, track, and destroy hostile drones and other fast moving aerial targets using radar, AI powered computer vision, and a high explosive fragmentation warhead.
(via Origin Robotics)
🇫🇷#France - 🇮🇹#Italy / 🇬🇷#Greece / 🇪🇸#Spain / 🇧🇪#Belgium: Troops from several countries (Greece, Italy, Spain, and Belgium) have conducted river-crossing exercises in France’s Aube region alongside French troops.
The exercises are part of the broader Orion 2026 military training program.
(via AFP)
Lukas De Clerck — The Telescopic Aulos of Atlas (Ideologic Organ, 2024)
#aulos#drone#ambient#Belgium
Лукас Де Клерк в своём дебютном сольном альбоме исследует возможности телескопического авлоса — современной интерпретации древнегреческого инструмента, исчезнувшего более тысячелетия назад. Его работа находится на пересечении экспериментальной музыки, таких направлений как дрон и постминимализм, и современных археомузыкологических исследований.
🔗AppleMusic | Spotify | Deezer | SoundCloud | Bandcamp