Skip to content

Conversation

@petruki
Copy link
Member

@petruki petruki commented Aug 15, 2025

This pull request introduces several improvements and refactorings to the switcher-client project, focusing on standardizing the Entry API, updating reflection configuration for native image compatibility, and enhancing test coverage and reliability. The changes make the codebase more consistent and robust, particularly in how Entry objects are created and how reflection is validated for GraalVM native images.

Core API improvements:

  • Refactored the Entry class by making its constructors public and renaming the static builder methods from build to of for clearer and more conventional object creation. Updated all usages throughout the codebase and tests to use the new of methods. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15]

Native image and reflection configuration:

  • Updated reflect-config.json to specify constructor parameter types for several classes, improving GraalVM native image compatibility and ensuring correct reflection metadata for constructors with arguments. [1] [2] [3] [4] [5]

Testing enhancements:

  • Enhanced the native reflection configuration test (NativeReflectConfigTest) to verify that all constructors specified in the reflection config are actually reachable, including those with complex parameter types such as arrays and primitives. Added utility methods to resolve class types from string names. [1] [2] [3]

Project metadata:

  • Bumped the project version in pom.xml from 2.4.0 to 2.4.1-SNAPSHOT to reflect ongoing development.

@petruki petruki added this to the v2.4.1 milestone Aug 15, 2025
@petruki petruki added bug Something isn't working patch Updating internal dependencies labels Aug 15, 2025
@sonarqubecloud
Copy link

@petruki petruki merged commit 45755d2 into master-2 Aug 15, 2025
9 of 16 checks passed
@petruki petruki deleted the bugfix_360 branch August 15, 2025 05:02
petruki added a commit that referenced this pull request Aug 15, 2025
* Fixes #360 - updated reflect-config.json reachability metadata

* test: increased shouldStartAndKillWorker delay

* test: increased shouldStartAndKillWorker delay

* test-ci: update maven cache

* test-ci: add coverage phase for matrix

* test-ci: updated matrix to use ubuntu-22.04

* test-ci: updated all matrices to use ubuntu-22.04
petruki added a commit that referenced this pull request Aug 15, 2025
* Fixes #360 - updated reflect-config.json reachability metadata (#361)

* test: increased shouldStartAndKillWorker delay

* test: increased shouldStartAndKillWorker delay

* test-ci: update maven cache

* test-ci: add coverage phase for matrix

* test-ci: updated matrix to use ubuntu-22.04

* test-ci: updated all matrices to use ubuntu-22.04

* test-ci: updated release to use ubuntu-22.04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working patch Updating internal dependencies

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants