Skip to content
Compile-time Dependency Injection for Go
Go Shell
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Add GitHub PR and issue templates (#76) Nov 28, 2018
_tutorial docs: fix typo (missing "forgot") in comment (#92) Dec 3, 2018
cmd/wire cmd: Add --output_file_prefix, which sets a prefix for the output fil… Sep 25, 2019
docs wire: wire.FieldsOf should not provide pointer to field type for non-… Sep 5, 2019
internal internal/wire: fix panic in objectCache.processExpr (#236) Jan 10, 2020
.codecov.yml codecov: also disable patch coverage check (#137) Feb 25, 2019
.contributebot
.travis.yml internal/wire: mark tests as parallelizable (#218) Oct 25, 2019
AUTHORS internal/wire: copy over anonymous imports (#101) Jan 7, 2019
CODE_OF_CONDUCT.md Update import path and mirror project docs Nov 13, 2018
CONTRIBUTING.md docs: update CONTRIBUTING.md (#78) Nov 29, 2018
CONTRIBUTORS internal/wire: copy over anonymous imports (#101) Jan 7, 2019
LICENSE Update import path and mirror project docs Nov 13, 2018
README.md README: reflect new project status (#217) Oct 5, 2019
go.mod
go.sum
wire.go wire: wire.FieldsOf should not provide pointer to field type for non-… Sep 5, 2019

README.md

Wire: Automated Initialization in Go

Build Status godoc Coverage

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 get github.com/google/wire/cmd/wire

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

You can contact us on the go-cloud mailing list.

This project is covered by the Go Code of Conduct.

You can’t perform that action at this time.