Мы используем 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
🚗💥 Introducing the Manhart MHXM 900! 💥🚗
Get ready to experience the ultimate BMW XM upgrade! 🌟
🔧Power Boost: From a stock 748 hp and 1000 Nm to an astonishing 900 hp and 1200 Nm! 💪🔥
⚙️Suspension Upgrade: Featuring H&R springs for enhanced handling! 🛠️
🛞Stunning Wheels: Equipped with eye-catching 24-inch Manhart wheels! 😍
🌌Carbon Fiber Body Kit: Lightweight and aggressive styling that enhances performance! 🖤
🖌️Luxurious Interior: Finished in a sleek grey-orange scheme with leather, Alcantara, and carbon accents! ✨
#Manhart#MHXM900#BMW#Performance#Tuning#CarEnthusiast#LuxuryCars#CarbonFiber#Auto
🏎️ McLaren Artura gets a massive wing and body kit by Novitec
Novitec has added a giant wing mounted on pylons, along with a body kit, redesigned bumpers, and a new engine cover, all made of carbon fiber.
The exhaust system can be crafted from stainless steel or Inconel, with an option for a gold coating at extra cost. Not only does it enhance the engine's sound, but it also boosts its performance by an estimated 35 horsepower, according to the tuners.
#McLarenArtura#Novitec#carbonfiber#exhaustsystem#tuning#horsepowerboost
🚗✨ Restomod Magic: BMW 8 Series Reimagined! ✨🚗
Check out this stunning restomod of the first-generation BMW 8 Series! 🏎️💨
🔧 Upgrades Include:
- Carbon Fiber Panels: Lightweight and sleek! 🖤
- Powerful V10 Engine: Swapped from the BMW M5 (E60) and bored out to 5.8 liters! 💥
- Modern Interior Touches: Blending classic with contemporary! 🛋️
#BMW#Restomod#8Series#M5#CarEnthusiast#ClassicMeetsModern#CarbonFiber#V10Power#Auto🚘💫
🚗✨Brabus Transforms Mercedes-AMG SL into a 1000-HP Shooting Brake!🔥
The new body and aerodynamic features are crafted entirely from carbon fiber. The turbocharged V8 has been enlarged from 4.0 to 4.5 liters, and now, combined with an electric motor on the rear axle, the powertrain delivers a staggering 1000 HP and 1620 Nm of torque! 💪⚡
These bespoke three-door beauties will be built to order, tailored to individual specifications. Pricing is not publicly disclosed. 💎
#Brabus#MercedesAMG#ShootingBrake#1000HP#LuxuryCars#CarEnthusiasts#CustomCars#AutomotiveExcellence#CarbonFiber#Auto
🚗💨 Introducing the Acura Integra Type S with HRC Factory Tuning! 🔥✨
Get ready to be amazed by the incredible upgrades:
🔹 Aggressive Front Bumper with an enhanced splitter
🔹 Sleek Rear Bumper featuring a diffuser
🔹 Carbon Fiber Hood for that lightweight edge
🔹 Forged 19-inch Wheels wrapped in Pirelli P Zero Trofeo R tires
🔹 Stunning Carbon Fiber Wing on aluminum supports
To lighten the load:
🔸 Carbon Fiber Rear Doors
🔸 Recaro Seats for ultimate comfort and support
🔸 Strut Brace replacing the rear bench for added rigidity
And let’s not forget the performance upgrades:
🔹 Coilover Suspension for precision handling
🔹 Six-Piston Brembo Brakes up front for unmatched stopping power
This beast is built for the track! 🏁💥
#AcuraIntegraTypeS#HRC#FactoryTuning#CarEnthusiast#Performance#CarbonFiber#Brembo#Pirelli#Auto
Just sold at auction! 🚗💰
This stunning Alfa Romeo 2000 GTV restomod with a carbon fiber body went for $220,000. 🤑
It took around four years to build this beauty, with everything from the chassis to the powertrain being completely overhauled.
🛠️ Italian specialists worked on the chassis and body, while the rest of the work was done in Canada. The upgraded 2.0 carbureted engine's exact output isn't specified, but the original Alfa Romeo 2000 GTV came with a 130-horsepower engine. 🏁
#AlfaRomeo#2000GTV#Restomod#CarbonFiber#Auction#ClassicCar#LuxuryCar#ItalianStyle🇮🇹