Files
grafana/pkg/build/wire
Denis Vodopianov 22604c198c [release-11.3.5] Chore: Revert golangci PR + bump golangic version (#102239)
Chore: Revert golangci PR + bump golangic version (#96326)

* Chore: Clean up some excludes and fix makefile (#96052)

clean up some excludes and fix makefile

* Chore: Enable cache on golangci linter (#95471)

* try to enable cache on golangci linter

* bump version

* exclude G115

* reduce timeout

* remove deprecated linter

* bump linter version in bingo

* try a different syntax for workspace modules

* try another command

* add apps to linter path

* try disabling cue codegen

* skip some linting in devenv

* exclude dirs and try again

* try workaround for pkg

* try path instead of dir

* make it one line

* replace package prefix

* exclude xorm

* exclude wire

* file-based aproach to nolint in workspaces

* missing quote

* simplify command line

* change ownership

* upgrade linter

* revert bingo readme

* revert devenv changes

* upgrade golint

* use dashes to stay consistent with other workflows

* also change name in its own workflow file

* rename in codeowners

(cherry picked from commit 3dbd3a7a81)

Co-authored-by: Serge Zaitsev <serge.zaitsev@grafana.com>
2025-03-18 14:59:57 +01:00
..

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 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.