Skip to content

feat(graphql-apt): honor @deprecated schema directive with class/method overrides#3315

Merged
velo merged 1 commit intomasterfrom
feature/graphql-apt-deprecated
Apr 17, 2026
Merged

feat(graphql-apt): honor @deprecated schema directive with class/method overrides#3315
velo merged 1 commit intomasterfrom
feature/graphql-apt-deprecated

Conversation

@velo
Copy link
Copy Markdown
Member

@velo velo commented Apr 17, 2026

Summary

  • Adds generateDeprecated to @GraphqlSchema (boolean, default true) and @GraphqlQuery (Toggle, default INHERIT) so code generation for GraphQL-deprecated fields/enum values can be disabled per class or overridden per method.
  • When a deprecated element is emitted, the generated Java is annotated with @Deprecated so the deprecation propagates into downstream code.
  • Covers result records (from query selections), input type records, full object type records, and enum constants.

Test plan

  • mvn -pl graphql,graphql-apt test — 116 tests green
  • Default keeps deprecated fields and stamps @Deprecated on output
  • Class-level generateDeprecated = false skips deprecated fields, input fields, and enum values
  • Method-level Toggle.TRUE re-enables generation (and still stamps @Deprecated)
  • Method-level Toggle.FALSE disables for that method only

…od overrides

Signed-off-by: Marvin Froeder <velo.br@gmail.com>
@velo velo merged commit f2a8885 into master Apr 17, 2026
4 checks passed
@velo velo deleted the feature/graphql-apt-deprecated branch April 17, 2026 17:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant