Мы используем 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
Андроид Клавиатура в Системе.
Сделал некоторое исследование кодовой базы и обнаружил, что Узбекская клава сделана хорошо и сделал по аналогии Тувинскую клаву.
Мне подогнали сервер на 500GB и с хорошей оперативкой. Там собираю мини-приложение для клавиатуры с Тувинским языком – спасибо Vitaly Pronin.
Сложно в этом разбираться без нормальных гайдов или подсказок – много чего ломается, не сочетается.
Сделал несколько версий и они не работают на симуляторе. Сейчас идет сборка оптимальной версии для arm64. Много часов все это происходит и в итоге окажется, что чего-то не учел. Хорошо, что пока собирается, можно другими делами позаниматься.
Несколько недель пытаюсь в этом разобраться :)
Как будет успех, я сделаю гайд для всех. Будем вносить правки в Андроид ОС.
#android#keyboard
#FUTO#Keyboard Updates: The Swipe Dataset is Public!
https://peertube.futo.org/videos/watch/44d2e41a-307b-49ab-9a14-1e2e1eaa9a94
You can access the dataset here: https://huggingface.co/datasets/futo-org/swipe.futo.org
More info about FUTO Keyboard
https://t.me/Libreware/1299
You can learn more about FUTO here: https://futo.org