Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[java][native] Remove JAX-RS dependency from generated java-native client. #9585

Merged
merged 1 commit into from
Jun 18, 2021

Conversation

shartte
Copy link
Contributor

@shartte shartte commented May 25, 2021

This removes the dependency on JAX-RS from the Java native client template by making the following changes:

  1. Remove use of GenericType
    This was originally introduced in [Java][Native] Support oneOf/anyOf schemas #7263 by presumably copy pasting a piece of code for OneOf/AnyOf support from the Jersey client. It was using GenericType from JAX-RS, which seems unnecessary since it doesn't seem to generate generic type instantiations (the anyOf/oneOf deserializer will also use {{.}}.class, and not GenericType or similar type tokens).

  2. Remove ContextResolver implementation
    The JSON class implements the JAX-RS ContextResolver interface, which seems unnecessary for a native Java client in a non JAX-RS environment (probably copy paste)

  3. Removed the respective dependencies from build.gradle/pom.xml.

  4. [OPTIONAL] Set source encoding to UTF-8 in build.gradle
    I had to set the source encoding in the build.gradle template, as the samples were not even building for me otherwise.
    The pet store API spec seems to contain UTF-8 characters which are copied into the source, breaking the build with windows default encoding for me. (This should probably be split into a separate PR; but I was unable to build and validate the sample without this fix).

PR checklist

  • Read the contribution guidelines.
  • Pull Request title clearly describes the work in the pull request and Pull Request description provides details about how to validate the work. Missing information here may result in delayed response from the community.
  • Run the following to build the project and update samples:
    ./mvnw clean package 
    ./bin/generate-samples.sh
    ./bin/utils/export_docs_generators.sh
    
    Commit all changed files.
    This is important, as CI jobs will verify all generator outputs of your HEAD commit as it would merge with master.
    These must match the expectations made by your contribution.
    You may regenerate an individual generator by passing the relevant config(s) as an argument to the script, for example ./bin/generate-samples.sh bin/configs/java*.
    For Windows users, please run the script in Git BASH.
  • File the PR against the correct branch: master, 5.1.x, 6.0.x
  • If your PR is targeting a particular programming language, @mention the technical committee members, so they are more likely to review the pull request.

@bbdouglas (2017/07) @sreeshas (2017/08) @jfiala (2017/08) @lukoyanov (2017/09) @cbornet (2017/09) @jeff9finger (2018/01) @karismann (2019/03) @Zomzog (2019/04) @lwlee2608 (2019/10) @nmuesch (2021/01)

@shartte shartte changed the title [Java] Remove JAX-RS dependency from generated java-native client. [java][native] Remove JAX-RS dependency from generated java-native client. May 29, 2021
@wing328 wing328 added this to the 5.2.0 milestone May 31, 2021
@wing328
Copy link
Member

wing328 commented May 31, 2021

cc @bgong-mdsol (the author of #7263)

@shartte
Copy link
Contributor Author

shartte commented Jun 17, 2021

@wing328 Since there has been no feedback in 2 weeks from @bgong-mdsol, can someone else take a look at this?
Additionally: The native client is not supposed to have a JAX-RS dependency, right? (that's what the JAX-RS client seems to be for).

@wing328 wing328 merged commit 8a31064 into OpenAPITools:master Jun 18, 2021
@wtrocki
Copy link
Contributor

wtrocki commented Feb 7, 2022

Would that also fix other libraries like --resteasy? I still see output having GenericType

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants