Beer. Начало истории.
Начнем с того, что - кто такой этот ваш Beer, и что он все таки делает. По идее это приложение для создания монорепозиториев которое написано на Golang. Но только с одной стороны. С другой стороны это более удобная версия Make. Я не смог найти толкового объяснения о том что это, поэтому оставим в голове такую мысль - это приложение для более удобного управления проектами.
Как работает?
Beer инициализирует проект и создает в нем файл config.beer
, это и есть отправная точка. В файле config.beer
описывается информация о исполняемых задачах в формате Beerlang, но о нем позднее.
Как установить?
В систему устанавливается бинарник beer
. Да, пока что все, так как Beer еще в разработке.
Как использовать?
Инициализация
Для того чтобы использовать Beer, достаточно запустить инициализацию. Для этого есть два варианта: инициализация нового проекта, и инициализация в существующем проекте
- Новый проект
- Существующий проект
beer init
beer init --exist
Добавление нового проекта
Новый проект добавляется при помощи команды beer
beer create --type=project-type --dir=project-dir
В которой:
project-type
- это тип проекта
Тип | Описание |
---|---|
go | Создание проекта для языка Golang |
go-work | Создание проекта для языка Golang с поддержкой Go Workspaces |
react-cs | Создание React сайта с помощью Create React App |
react-cs-js | Создание React сайта на JavaScript с помощью Create React App |
react-vs | Создание React сайта с помощью Vite |
react-vs-js | Создание React сайта на JavaScript с помощью Vite |
rust | Создание проекта для языка Rust |
project-dir
- это местоположение проекта
Местоположение может быть любым в папке монорепозитория. Здесь нет жесткого распределения директорий, поэтому создавайте проекты где угодно.
Импорт существующего проекта
Для того чтобы добавить уже существующий проект, нужно выполнить команду:
beer import ../exist-project ./new-directory
В которой:
exist-project
- это путь до уже существующей директории с проектомnew-directory
- это путь, в котором будет распологаться существующий проект
Также есть поддержка дополнительных параметров:
--submodule
- если этот проект является уже существующим репозиторием, то его можно добавить как Git Submodule--ln
- по умолчанию Beer копирует файлы проекта, но можно включить режим ссылки на директорию
Что дальше?
Теперь время переходить к конфигурации Beer при помощи Beerlang и файла config.beer