crossplane / crossplane/crossplane-tools
Target smaller interfaces
- Dominant language
- Go
- Stars
- 37
- Forks
- 38
- PR merge metrics
- No merged PRs in 30d
Description
### What problem are you facing?
crossplane-runtime interfaces like `resource.Managed` are composed of other, more tightly scoped interfaces such as `resource.ClassReferencer`. angryjet currently targets the broader interfaces; it will generate the `resource.Managed` method set for types that are support the entire functionality of `resource.Managed`, or it will generate nothing. This means types like Azure storage containers that look _almost_ but not quite like a managed resource (due to missing embedded `ResourceSpec`) get no generated methods, despite being capable of satisfying many of the interfaces that `resource.Managed` is composed from.
### How could Crossplane help solve your problem?
angryjet could detect the potential to satsify, and generate the methods of, smaller interfaces like `resource.ClassReferencer` rather than broad interfaces like `resource.Managed`. This may require some thought as to what files the (generally 1-2) getters and setters of these interfaces would be written to.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.