googleapis / googleapis/synthtool
Java: clean up legacy resource name overrides
- Dominant language
- Python
- Stars
- 108
- Forks
- 102
- Avg merge
- 1h 23m
- Merged PRs (30d)
- 1
Description
Tracking Issue From #883
@stephaniewang526
> This should unblock microgenerator migration for bigquerydatatransfer: [googleapis/java-bigquerydatatransfer#570](https://github.com/googleapis/java-bigquerydatatransfer/pull/570) (currently outstanding due to the fact that we need to remove 2 methods post-processing).
@chingor13
> This is to handle ~4 GA clients with legacy resource name implementations. This override was specified in the gapic yaml which is no longer possible for any microgenerator. When these client next release a breaking change, we want to remove these legacy resource names and it will be difficult if these 4 cases are hard-coded in the microgenerator.
@miraleung
> The monolith used to generate resource name classes that subclassed other generated ones, but that was removed before the microgenerator came around. Subsequently, the subclassed resource name classes were deprecated.
>
> However, they contain some public static methods that are part of the superclass as well. Since this special case applies only to a very few number of APIs and is deprecated, removing them (in favor of the superclass's method) is the optimal temporary fix, as opposed to hardcoding a significant amount of complex logic in the microgenerator.
>
> I agree that semantic modification can be error-prone, which also motivates moving such logic alterations upstream for OneHorizontal. As semantic changes are already in-scope for synthtool's existing functionality, this doesn't seem to deviate from the current post-processing model.
>
> We could remove this feature after those 4 APIs have taken a major version bump (unless we need to support regeneration of the older versions forever).
Contributor guide
Assessment
This issue has not been assessed yet.