Мы используем 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
为什么苹果本周没有推出新的入门级 iPad
苹果本周发布了搭载 M4 的 iPad Air (M4),但原本传闻中的入门款 Apple iPad (11th generation) 并未更新。报道称新款入门 iPad 可能会搭载 Apple A19 芯片和 8GB 内存,从而首次支持 Apple Intelligence,因此苹果可能选择推迟发布。
如果等到今年秋季、下一代 iPhone 发布之后再推出,这颗芯片既不会显得“过新”,同时也能降低成本并避免与 iPad Air 产生竞争。
标签:#iPad
Created by RocM
官方频道:@rocCHL
官方群组:@roctech
官方合作:@rocmmbot
CounterPoint 报告 2025Q3 全球平板出货:苹果霸主地位难撼,iPad 傲视群雄
Meta 宣布收购 AI 初创公司 Limitless(前身为 Rewind AI)。其核心产品 Rewind Mac 应用将在 12 月 19 日彻底停运,用户将无法继续使用。Rewind 曾因能记录并回溯电脑屏幕内容而备受关注,如今被整合进 Meta 的 AI 战略。
标签:#iPad
Created by RocM
官方频道:@rocCHL
官方群组:@roctech
官方合作:@rocmmbot
#iPad AI
iPad发布会暗示 AI 新功能
据2024年5月2日的报道,Apple CEO蒂姆·库克将在下周的 iPad 发布会上暗示未来的人工智能功能。
新的 iPad Pro 型号可能会配备 M4芯片,为更先进的现场 AI 功能铺路。此次活动被描述为一种不同寻常的发布形式,而详细的 AI 功能介绍预计将在六月的全球开发者大会(WWDC)上公布。
频道:@mdmbeng
投稿:@mdmbeng_Bot