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

Kotlin upgrade, Spring client update #6

Merged
merged 13 commits into from
Dec 5, 2024
Merged

Kotlin upgrade, Spring client update #6

merged 13 commits into from
Dec 5, 2024

Conversation

kpavlov
Copy link
Owner

@kpavlov kpavlov commented Dec 4, 2024

This pull request includes several changes across multiple files to improve the build process, update dependencies, and enhance documentation.

  • Implemented lazy-loaded properties for more efficient API method initialization.
  • Test cases have been updated accordingly to accommodate the new access pattern.
  • Workaround for polymorphic deserialization without supertype. Deserialize into JsonNode and then programmaticaly to the correct type

Konstantin Pavlov added 6 commits December 4, 2024 18:26
Integrated Dokka for Kotlin documentation generation and added Spotless for code formatting consistency in the build process. Updated Ktlint setup for improved linting, and refined the pom.xml configuration for better plugin management and maintainability.
Introduced new dependencies like `jakarta.annotation-api` and `jackson-databind-nullable` to relevant pom.xml files, while reorganizing and removing redundant entries. Updated configuration settings to modify code generation options and improve compatibility, particularly focusing on switching some configurations from Kotlin to Java.
Replaced direct WebClient usage with ApiClient to improve modularity. Updated versioning to dynamically fetch implementation version for user-agent headers. This enhances maintainability and ensures current version information is always used.
Corrected the property name from 'java.compiler.release' to 'maven.compiler.release' to ensure proper compilation settings. This change aligns with Maven's expected configuration for specifying the Java release version.
Changed API methods to lazy-loaded properties for efficiency and improved initialization. These changes ensure that the API clients are instantiated only when needed, enhancing performance and reducing memory overhead. Adjusted the test cases to align with the new property-based access pattern.
Replaced explicit execution goals with extensions in the Spotless Maven plugin configuration. This change simplifies the plugin setup, making it easier to manage and extend in the future.
@kpavlov kpavlov changed the title Switch API methods to lazy properties Kotlin upgrade, Spring API update Dec 4, 2024
@kpavlov kpavlov changed the title Kotlin upgrade, Spring API update Kotlin upgrade, Spring client update Dec 4, 2024
@kpavlov kpavlov added dependencies enhancement New feature or request labels Dec 4, 2024
Copy link

codacy-production bot commented Dec 4, 2024

Coverage summary from Codacy

See diff coverage on Codacy

Coverage variation Diff coverage
Report missing for 43bdcec1 0.00%
Coverage variation details
Coverable lines Covered lines Coverage
Common ancestor commit (43bdcec) Report Missing Report Missing Report Missing
Head commit (ed0fc47) 121 0 0.00%

Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: <coverage of head commit> - <coverage of common ancestor commit>

Diff coverage details
Coverable lines Covered lines Diff coverage
Pull request (#6) 104 0 0.00%

Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: <covered lines added or modified>/<coverable lines added or modified> * 100%

See your quality gate settings    Change summary preferences

Codacy stopped sending the deprecated coverage status on June 5th, 2024. Learn more

Footnotes

  1. Codacy didn't receive coverage data for the commit, or there was an error processing the received data. Check your integration for errors and validate that your coverage setup is correct.

Konstantin Pavlov added 6 commits December 4, 2024 21:30
This commit introduces a new GitHub Actions workflow to automate building and publishing the documentation to GitHub Pages. The Makefile and pom.xml have been updated to streamline the generation of documentation using Maven. Now, on every release or push to the main branch, the documentation will be generated and deployed automatically.
Introduced new suspend functions, `awaitPromptsList` and `awaitPromptGet`, for the `PromptsApi` to enable coroutine support using `kotlinx-coroutines-reactor`. Also, added necessary dependencies to `pom.xml` for reactor coroutines integration and updated the test `LangfuseIT.kt` to utilize the new await functions.
Added the @disabled annotation to test cases that are not yet implemented to prevent them from affecting test results. This helps maintain focus on completed and functional tests while the unimplemented features are being developed.
Introduce logging for initialization and a customized ObjectMapper to handle JSON parsing more reliably. This enhancement includes enabling certain JSON parser features and adjusting deserialization configurations for increased flexibility and accuracy.
This commit introduces the SLF4J dependency to enhance logging capabilities. Additionally, several OpenAPI generator configuration options are updated to improve flexibility and functionality, such as enabling gzip support and using abstractions for files. These changes aim to enhance the robustness and maintainability of the codebase.
Deserialize into JsonNode and then programmaticaly to the correct type
@kpavlov kpavlov marked this pull request as ready for review December 5, 2024 00:59
@kpavlov kpavlov merged commit 345d4a3 into main Dec 5, 2024
3 checks passed
@kpavlov kpavlov deleted the upgrade branch December 5, 2024 00:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant