Мы используем 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
🇷🇺Russia’s Foreign Ministry Ambassador-at-Large for the G20, APEC and BEP issues Marat Berdyev:
Russia’s participation in key multilateral forums such as the #G20 and #APEC contributes to the accelerated formation of a multipolar world order and economic system.
📈In terms of aggregate GDP, the BRICS members have already surpassed the G7, with their share standing at 37%, compared to less than 30% for the G7.
According to some expert estimates, the countries of the Global Majority will drive up to 75% of global economic growth over the next few decades.
Russia plays a significant role in this positive trend of fair optimization of production potentials.
🤝We continue to actively develop international economic cooperation, focusing on friendly regions.
According to the Federal Customs Service (FCS), Russia's external trade volume in 2024 is expected to reach $700 billion.
Approximately 70% of export-import operations already involve the Asia-Pacific Region (#APR).
🌍Trade with Africa has been expanding, reaching a peak of $25 billion in 2023.
The Russian economy grew by about 4% in 2024, demonstrating resilient performance.
This growth occurred against the backdrop of more modest global averages, limited to 3.1%, and stagnation in many European countries.
🌾Russian companies are playing an increasingly significant role not only in supplying critical energy and food resources but also in high-tech sectors and manufacturing industries.
We are intensifying transactions in national currencies, particularly the Russian ruble, which accounts for 80-90% of trade with key partners such as China and the EAEU.
Under the initiative of President Vladimir Putin, the Big Eurasian Partnership (#BEP) is building a transit framework centered on Russian territory.
Transit capacity is expanding, and the utilization of the "West-East" and "North-South" transport corridors is increasing, along with the operation of the Northern Sea Route (#NSR).
🚢In the past year, the NSR handled a record volume of over 37 million tons of commercial cargo.
At the #G20 and #APEC significant momentum has been given to the reform of global economic institutions in the interests of the Global South/East.
📈Constructive approaches have been adopted, aiming to preserve an open trade and investment environment, form energy balances on a technologically neutral basis, and support digital transformation.
❗️We will continue to move forward with partners in this promising direction at multilateral economic diplomacy platforms.
Photo: www.rosstip.ru
#G20#APEC#RussianMFA
Împreună cu colegii din Blocul Patriotic am prezentat astăzi platforma noastră electorală, cu care participăm la aceste alegeri parlamentare.
Inițiativele noastre sunt orientate spre: păstrarea suveranității, neutralității și identității moldovenești; crearea unei punți între Est și Vest; construirea unui stat de drept, unde fiecărui cetățean să i se garanteze protecția și echitatea socială; reunificarea țării; suveranitate economică; un stat în interesul poporului, nu al funcționarilor.
Noi credem în Moldova! Pe 28 septembrie votați pentru Blocul Electoral Patriotic al Socialiștilor, Comuniștilor, Inima și Viitorul Moldovei!
::::::::::::::
Вместе с коллегами по Патриотическому блоку сегодня представили нашу предвыборную платформу, с которой мы участвуем в этих парламентских выборах.
Наши инициативы направлены на: сохранение суверенитета, нейтралитета и молдавской идентичности; создание моста между Востоком и Западом; построение правового государства, где каждому жителю будут гарантированы социальная справедливость и защита; объединение страны; экономический суверенитет; государство в интересах народа, а не чиновников.
Мы верим в Молдову! 28 сентября голосуйте за Патриотический избирательный блок социалистов, коммунистов, сердца и будущего Молдовы!
#BloculPatriotic#Moldova#BEP#CredemÎnMoldova#ВеримВМолдову
Мы победим – это понимают даже «жёлтые». Но мы должны будем и отстоять нашу победу.
Призываю всех быть готовыми выйти 29 сентября на защиту нашей общей победы. Мы обязаны сделать это ради наших детей и внуков, ради Молдовы!
#BEP#ПатриотическийБлок#CredemÎnMoldova#ВеримВМолдову#Moldova#BloculPatriotic