Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Backport 2.x] Backport codegen implementation (#1173)
* Generate client code from OpenAPI specification (#366) * OpenAPI generator from scratch Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Write to files and generate object shapes Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Output response shapes and enum shapes Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Fix builder setters for enums Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Better handling of required fields Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Unify templates for ObjectShape/OperationRequest Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Simple http path expression Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Generate client class Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Cleanup Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Generate namespaces remote store client Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Add license header, improve http path builder, fix remote store spec Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Suppress checkstyle unused imports lint for generated code Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Centralize some naming Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Allow renaming operations Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Add generated warning header Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Refactor Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Less code more templates Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Simplify http path part Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Fixes Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Swap to swagger-parser Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Handle x-data-type & array response bodies Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Handle multiple http paths for same operation Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Improve type handling Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Tweak package name determination Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Handle additionalProperties on ErrorCause Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Simplify enum shape Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Change default number type Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Generate parameter-less operation method when no required fields Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Refactor to parse multi-file spec Signed-off-by: Thomas Farr <tsfarr@amazon.com> * spotlessApply Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Use spotless to format code Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Maintain spec location information Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Refactor model transformation and type mapper Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Match existing naming scheme Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Change OperationGroup matching logic to determine which to generate Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Better handle errors thrown by formatter Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Add typedef comment Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Support tagged union Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Add additional reserved keywords Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Improve parsing logic Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Add basic tests and implement proper argument parsing Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Improve tagged union generation and filter global query params Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Change enum naming style Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Handle Time type Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Handle deprecation Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Clear operations to generate Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Change usages of `<stream>.toList()` to `<stream>.collect(Collectors.toList())` Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Remove publishing from build.gradle Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Cleaning up Signed-off-by: Thomas Farr <tsfarr@amazon.com> * spotless Signed-off-by: Thomas Farr <tsfarr@amazon.com> --------- Signed-off-by: Thomas Farr <tsfarr@amazon.com> (cherry picked from commit bb995ec) * Bump commons-codec:commons-codec from 1.11.0 to 1.17.0 in java-codegen (#1023) Signed-off-by: Thomas Farr <tsfarr@amazon.com> (cherry picked from commit 13982b1) * Regenerate request/response for the `info` operation (#1026) * Tweak formatting rules used by codegen to allow reformatting javadoc Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Support codegen for request shapes that may be singleton Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Generate info operation shapes Signed-off-by: Thomas Farr <tsfarr@amazon.com> --------- Signed-off-by: Thomas Farr <tsfarr@amazon.com> (cherry picked from commit dea7e72) * Enforce & fix license headers (#1027) * Enforce license headers Signed-off-by: Thomas Farr <tsfarr@amazon.com> * spotlessApply Signed-off-by: Thomas Farr <tsfarr@amazon.com> --------- Signed-off-by: Thomas Farr <tsfarr@amazon.com> (cherry picked from commit 5d5c6b5) * Add `@Generated` annotation to generated classes (#1029) Signed-off-by: Thomas Farr <tsfarr@amazon.com> (cherry picked from commit 767c313) * Begin generating client implementations (#1052) * Tweak client generation to extend from existing classes Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Modify existing client classes to be abstract base classes Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Re-run generator Signed-off-by: Thomas Farr <tsfarr@amazon.com> * ./gradlew spotlessApply Signed-off-by: Thomas Farr <tsfarr@amazon.com> --------- Signed-off-by: Thomas Farr <tsfarr@amazon.com> (cherry picked from commit dbde609) * Bump org.junit:junit-bom from 5.10.2 to 5.10.3 (#1062) * Bump org.junit:junit-bom from 5.10.2 to 5.10.3 Bumps [org.junit:junit-bom](https://github.com/junit-team/junit5) from 5.10.2 to 5.10.3. - [Release notes](https://github.com/junit-team/junit5/releases) - [Commits](junit-team/junit5@r5.10.2...r5.10.3) Signed-off-by: Thomas Farr <tsfarr@amazon.com> --- updated-dependencies: - dependency-name: org.junit:junit-bom dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * Update changelog Signed-off-by: dependabot[bot] <support@github.com> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: dependabot[bot] <dependabot[bot]@users.noreply.github.com> (cherry picked from commit af769c8) * Bump org.owasp.dependencycheck from 9.2.0 to 10.0.2 (#1069) * Bump org.owasp.dependencycheck from 9.2.0 to 10.0.2 Bumps org.owasp.dependencycheck from 9.2.0 to 10.0.2. Signed-off-by: Thomas Farr <tsfarr@amazon.com> --- updated-dependencies: - dependency-name: org.owasp.dependencycheck dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * Update changelog Signed-off-by: dependabot[bot] <support@github.com> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: dependabot[bot] <dependabot[bot]@users.noreply.github.com> (cherry picked from commit 848be31) * Add workflow to auto-update codegen (#1065) Signed-off-by: Thomas Farr <tsfarr@amazon.com> (cherry picked from commit 0cf11db) * Fix handling of OpenAPI schemas with multiple types (#1102) Signed-off-by: Thomas Farr <tsfarr@amazon.com> (cherry picked from commit eff1ae1) * Regenerate dangling_indices namespace (#1124) * Rename genericArgs to typeParams Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Fix required path param handling Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Correctly generate AcknowledgedResponseBase Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Generate DeleteDanglingIndexRequest Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Correctly generate DeleteDanglingIndexResponse Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Generate import_dangling_index Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Generate ListDanglingIndicesRequest Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Generate ErrorCause Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Generate NodeStatistics Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Generate DanglingIndex Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Generate ListDanglingIndicesResponse Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Generate DanglingIndicesClient Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Fixes Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Changelog and Upgrading Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Fix javadoc Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Fix tests Signed-off-by: Thomas Farr <tsfarr@amazon.com> --------- Signed-off-by: Thomas Farr <tsfarr@amazon.com> (cherry picked from commit 324f90a) * Bump com.github.jk1.dependency-license-report from 2.8 to 2.9 (#1144) Bumps com.github.jk1.dependency-license-report from 2.8 to 2.9. Signed-off-by: Thomas Farr <tsfarr@amazon.com> --- updated-dependencies: - dependency-name: com.github.jk1.dependency-license-report dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (cherry picked from commit 08e7e65) * Tweak codegen logic for formatting, documentation and handling of anyOf (#1152) * Re-generate code Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Improve builder doc comments Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Fix list/map isDefined serialize logic Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Add support for deprecated enums Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Improve isDefined logic Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Allow overriding request/response naming Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Support anyOf Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Update spec Signed-off-by: Thomas Farr <tsfarr@amazon.com> * spotlessApply Signed-off-by: Thomas Farr <tsfarr@amazon.com> --------- Signed-off-by: Thomas Farr <tsfarr@amazon.com> (cherry picked from commit 7b954af) * Generate the ml namespace (#1158) * Generate ml.register_model_group Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Start neural search sample Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Re-generate ShardStatistics Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Re-generate ShardFailure Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Re-generate Result Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Re-generate WriteResponseBase Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Generate ml.delete_model_group Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Generate ml.register_model Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Exclude legacy license from ml namespace Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Generate ml.get_task Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Generate ml.delete_task Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Generate ml.delete_model Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Generate ml.deploy_model Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Generate ml.undeploy_model Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Complete neural search sample Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Generate ml.get_model Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Add changelog entry Signed-off-by: Thomas Farr <tsfarr@amazon.com> * note Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Fix tests Signed-off-by: Thomas Farr <tsfarr@amazon.com> --------- Signed-off-by: Thomas Farr <tsfarr@amazon.com> (cherry picked from commit c6e61e1) * Invert abstractness of generated vs "handwritten" client classes (#1170) * Invert abstractness of generated vs "handwritten" client classes Signed-off-by: Thomas Farr <tsfarr@amazon.com> * Address review comments Signed-off-by: Thomas Farr <tsfarr@amazon.com> --------- Signed-off-by: Thomas Farr <tsfarr@amazon.com> (cherry picked from commit 42e2928) * Temporarily disable code gen up-to-date check Signed-off-by: Thomas Farr <tsfarr@amazon.com> --------- Signed-off-by: Thomas Farr <tsfarr@amazon.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
- Loading branch information