Мы используем 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
🌍 In 1815, Indonesia’s Mount Tambora erupted so violently that it triggered “the year without a summer.” Global temperatures dropped, causing crop failures and food shortages across continents. ✨
#disaster⚡#volcano⚡#climate⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography🌍
🌍 In 2015, Chile’s Calbuco volcano erupted after 43 years of silence, blasting ash over 15 kilometers high. Its sudden activity disrupted air travel and blanketed towns in thick volcanic dust. ✨
#volcano⚡#disaster⚡#eruption⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 In 2023, Cyclone Freddy became the longest-lasting tropical cyclone ever recorded, traveling over 12,000 kilometers and affecting countries from Madagascar to Mozambique with powerful winds and rain. ✨
#cyclone⚡#disaster⚡#weather⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography🌍
🌍 In 2023, Cyclone Mocha became one of the strongest storms ever recorded in the North Indian Ocean, with winds over 250 km/h, causing severe flooding and reshaping coastal landscapes. ✨
#disaster⚡#cyclone⚡#flooding⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 In 2023, Cyclone Biparjoy spun over the Arabian Sea for nearly two weeks—a rare “very severe cyclonic storm” to last so long in this region, with winds impacting coasts over 1,000 kilometers apart. ✨
#cyclone⚡#disaster⚡#winds⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 The 1811–1812 New Madrid earthquakes in the central United States were so powerful they briefly made the Mississippi River flow backward, reshaping the landscape far from any plate boundary. ✨
#disaster⚡#earthquake⚡#river⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
On 26 April 1986, the Chernobyl disaster occurred at the Chernobyl Nuclear Power Plant in the Soviet Union (now Ukraine). During a safety test on Reactor 4, operators lost control of the reactor. This caused a powerful explosion and fire that destroyed the reactor and released large amounts of radioactive material into the atmosphere. It is considered the worst nuclear accident in history. The nearby city of Pripyat was evacuated after the explosion. The area is mostly uninhabited, but a small number of people still live or work there.
☢️🏭🌍
[Read more 1]
[Read more 2]
@googlefactss
#Chernobyl#NuclearAccident#History#Ukraine#Disaster
If you have ideas or feedback contact us:
@Googlefactss_Feedback_bot