• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

.github/H11-Dec-2019-

_tutorial/H11-Dec-2019-

cmd/wire/H11-Dec-2019-

docs/H11-Dec-2019-

internal/H11-Dec-2019-

.codecov.ymlH A D11-Dec-2019209

.contributebotH A D11-Dec-2019232

.travis.ymlH A D11-Dec-20191.6 KiB

AUTHORSH A D11-Dec-2019645

CODE_OF_CONDUCT.mdH A D11-Dec-2019335

CONTRIBUTING.mdH A D11-Dec-20197.2 KiB

CONTRIBUTORSH A D11-Dec-20191.8 KiB

LICENSEH A D11-Dec-201911.1 KiB

README.mdH A D11-Dec-20191.8 KiB

go.modH A D11-Dec-2019216

go.sumH A D11-Dec-20191.1 KiB

wire.goH A D11-Dec-20197.6 KiB

README.md

1# Wire: Automated Initialization in Go
2
3[![Build Status](https://travis-ci.com/google/wire.svg?branch=master)][travis]
4[![godoc](https://godoc.org/github.com/google/wire?status.svg)][godoc]
5[![Coverage](https://codecov.io/gh/google/wire/branch/master/graph/badge.svg)](https://codecov.io/gh/google/wire)
6
7
8Wire is a code generation tool that automates connecting components using
9[dependency injection][]. Dependencies between components are represented in
10Wire as function parameters, encouraging explicit initialization instead of
11global variables. Because Wire operates without runtime state or reflection,
12code written to be used with Wire is useful even for hand-written
13initialization.
14
15For an overview, see the [introductory blog post][].
16
17[dependency injection]: https://en.wikipedia.org/wiki/Dependency_injection
18[introductory blog post]: https://blog.golang.org/wire
19[godoc]: https://godoc.org/github.com/google/wire
20[travis]: https://travis-ci.com/google/wire
21
22## Installing
23
24Install Wire by running:
25
26```shell
27go get github.com/google/wire/cmd/wire
28```
29
30and ensuring that `$GOPATH/bin` is added to your `$PATH`.
31
32## Documentation
33
34- [Tutorial][]
35- [User Guide][]
36- [Best Practices][]
37- [FAQ][]
38
39[Tutorial]: ./_tutorial/README.md
40[Best Practices]: ./docs/best-practices.md
41[FAQ]: ./docs/faq.md
42[User Guide]: ./docs/guide.md
43
44## Project status
45
46As of version v0.3.0, Wire is *beta* and is considered feature complete. It
47works well for the tasks it was designed to perform, and we prefer to keep it
48as simple as possible.
49
50We'll not be accepting new features at this time, but will gladly accept bug
51reports and fixes.
52
53## Community
54
55You can contact us on the [go-cloud mailing list][].
56
57This project is covered by the Go [Code of Conduct][].
58
59[Code of Conduct]: ./CODE_OF_CONDUCT.md
60[go-cloud mailing list]: https://groups.google.com/forum/#!forum/go-cloud
61