wire README

The project's README from github.com/google/wire. As one markdown file: README.md.

Wire: Automated Initialization in Go

Build Status godoc

[!WARNING] This project is no longer maintained.

If you wish to update or extend wire, please do so in a fork.

Wire is a code generation tool that automates connecting components using dependency injection. Dependencies between components are represented in Wire as function parameters, encouraging explicit initialization instead of global variables. Because Wire operates without runtime state or reflection, code written to be used with Wire is useful even for hand-written initialization.

For an overview, see the introductory blog post.

Installing

Install Wire by running:

go install github.com/google/wire/cmd/wire@latest

and ensuring that $GOPATH/bin is added to your $PATH.

Documentation

Project status

As of version v0.3.0, Wire is beta and is considered feature complete. It works well for the tasks it was designed to perform, and we prefer to keep it as simple as possible.

We'll not be accepting new features at this time, but will gladly accept bug reports and fixes.

Community

For questions, please use GitHub Discussions.

This project is covered by the Go Code of Conduct.

wire (google/wire)

Searching Database…

14.4K ·GitHub
archived
Что это такое?Wire — это инструмент генерации кода от Google, который автоматизирует связывание компонентов в Go с помощью внедрения зависимостей: вы объявляете провайдеры, а Wire сам пишет код инициализации, который их соединяет.
Это библиотека, которую моя программа использует во время работы, или инструмент, который я запускаю при сборке?Это генератор кода с интерфейсом командной строки: он создаёт обычный код инициализации на Go и работает без состояния в рантайме и без рефлексии, так что в вашем бинарнике не остаётся ничего специфичного для Wire.
Wire ещё активно разрабатывается?Нет — репозиторий заархивирован, а README предупреждает, что проект больше не поддерживается. Он бета-версии, но считается функционально завершённым начиная с v0.3.0; наверху принимают только отчёты об ошибках и их исправления.
Как Wire предлагает мне соединять компоненты?Зависимости выражаются как обычные параметры функций между функциями-провайдерами, что подталкивает к явной инициализации вместо глобальных переменных — а поскольку во время работы ничего не выполняется, эти же функции останутся полезными, если вы когда-нибудь напишете инициализацию вручную.
С чего мне начать читать после установки?В README даны ссылки на Tutorial, User Guide, документ Best Practices и FAQ — всё это лежит в папке docs репозитория.
Могу ли я добавлять в Wire свои возможности?В основной проект — нет: README просит всех, кто хочет обновлять или расширять wire, делать это в собственном форке, а оригинальный проект принимает только отчёты об ошибках и их исправления.
Creator
google
Size
0.5 MB
Stars
14.4K
Age
7y
Commits · 90 Days