googleapis / googleapis/synthtool

Java: clean up legacy resource name overrides

Open
#895 3 comments 0 reactions 0 assignees View on GitHub
lang: java type: cleanup
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.