Ross Light
2044e2213b
goose: add struct field injection
...
This makes options structs and application structs much simpler to
inject.
Reviewed-by: Tuo Shan <shantuo@google.com >
2018-11-12 14:09:56 -08:00
Ross Light
ccf63fec5d
goose: support provider cleanup functions
...
Documented and updated appropriate providers to reflect.
Reviewed-by: Tuo Shan <shantuo@google.com >
2018-11-12 14:09:56 -08:00
Ross Light
1380f96c06
goose: add interface binding
...
An interface binding instructs goose that a concrete type should be used
to satisfy a dependency on an interface type. goose could determine this
implicitly, but having an explicit directive makes the provider author's
intent clear and allows different concrete types to satisfy different
smaller interfaces.
Reviewed-by: Tuo Shan <shantuo@google.com >
2018-11-12 14:09:56 -08:00
Ross Light
73d4c0f0fc
goose: allow multiple arguments to use and import
...
Reviewed-by: Tuo Shan <shantuo@google.com >
2018-11-12 14:09:56 -08:00
Ross Light
479a501c08
goose: add optional provider inputs
...
Reviewed-by: Tuo Shan <shantuo@google.com >
2018-11-12 14:09:55 -08:00
Ross Light
c594f05699
goose: strip vendor from generated import paths
...
This allows goose to work more gracefully in a vgo setting.
Reviewed-by: Tuo Shan <shantuo@google.com >
2018-11-12 14:09:55 -08:00
Ross Light
9af97a68c4
goose: split into multiple files
...
No functional change, just to make future diffs easier.
Reviewed-by: Tuo Shan <shantuo@google.com >
Reviewed-by: Herbie Ong <herbie@google.com >
2018-11-12 14:09:55 -08:00