Skip to content

Merging code from dev to dev-1.x and analyzing differences#24

Merged
mercyblitz merged 57 commits intodev-1.xfrom
copilot/merge-dev-into-dev-1x
Apr 5, 2026
Merged

Merging code from dev to dev-1.x and analyzing differences#24
mercyblitz merged 57 commits intodev-1.xfrom
copilot/merge-dev-into-dev-1x

Conversation

Copy link
Copy Markdown

Copilot AI commented Mar 23, 2026

Pull request created by AI Agent

Documented the introduction version of several Redis command interface constants using @SInCE tags for better clarity on their availability in Spring Data Redis.
Changed visibility of default property value constants in KafkaConsumerRedisReplicatorConfiguration from private to package-private to allow direct access in tests. Added a new test method in KafkaConsumerRedisReplicatorConfigurationTest to verify the values of these constants and related configuration constants.
Corrected the compatibility range for branch 0.1.x to start from Spring Data Redis 2.1.0 instead of 2.0.0.
Moved <properties> section above <dependencies> and removed unused <classPath> property. Reformatted plugin <argument> for better readability.
Renamed 'docUtils' to 'javaFileObjects' for clarity in SpringDataRedisMetadataGenerator and updated its usage in the DocumentationTask call.
Changed the Maven badge in README.md to reference microsphere-redis instead of microsphere-gateway for accuracy.
Updated Maven badge to reflect microsphere-redis version.
Imported DefaultRedisConfig and included it in the @ContextConfiguration classes for KafkaRedisReplicatorModuleInitializerIntegrationTest to ensure proper Redis configuration during integration testing.
Adjusted the order of import statements for better organization and consistency in RedisMethodContext.java.
Moved the import of io.microsphere.redis.metadata.Parameter to group it with other imports for better organization and readability.
Included DefaultRedisConfig in the @ContextConfiguration classes for RedisCommandReplicatorIntegrationTest to ensure proper Redis configuration during integration testing.
Deleted static @bean methods for RedisTemplate, StringRedisTemplate, and RedisConnectionFactory from AbstractRedisReplicatorTest. These definitions are likely unnecessary for the test context or have been moved elsewhere.
Updated the resolvableType method to use ResolvableType.forClass instead of forType for obtaining the generic type. This change improves type resolution for the AbstractSerializer class.
Deleted the trailing newline at the end of BoundarySerializer.java to conform to file formatting standards.
Deleted the trailing newline at the end of ByteArraySerializer.java to conform to file formatting standards.
Deleted the trailing newline at the end of DoubleSerializer.java to conform to file formatting standards.
Deleted the trailing newline at the end of GeoLocationSerializer.java to conform to file formatting standards.
Deleted the trailing newline at the end of IntegerSerializer.java to conform to file formatting standards.
Deleted the trailing newline at the end of LongSerializer.java to conform to file formatting standards.
Deleted the trailing newline at the end of PointSerializer.java to conform to file formatting standards.
Deleted the trailing newline at the end of RangeSerializer.java to conform to file formatting standards.
Deleted the trailing newline at the end of RedisZSetCommandsRangeSerializer.java to conform to file formatting standards.
Deleted an unnecessary blank line at the end of ShortSerializer.java to improve code formatting.
Deleted the trailing newline at the end of WeightsSerializer.java to conform to file formatting standards.
Replaced references to 'delegate' with 'this.delegate' in HoldingValueRedisSerializerWrapper for clarity and consistency.
Introduces the RangeModel class to adapt between RedisZSetCommands.Range and Spring's Range, supporting serialization and deserialization. This utility facilitates interoperability and externalization of range objects.
Simplifies RangeSerializer by delegating Range to RangeModel conversion to static methods. Removes manual extraction and assignment of Range bounds, improving code maintainability and readability.
Replaces the use of range.toRange() with RangeModel.from(range) in RedisZSetCommandsRangeSerializer to improve serialization consistency.
mercyblitz and others added 23 commits December 26, 2025 12:16
Extended MethodMetadataTest to include assertions and setup for the parameterNames property, ensuring correct behavior for equality and getter/setter methods.
Introduces collection and storage of method parameter names in the generated metadata for Spring Data Redis command methods. Refactors parameter type resolution and updates the metadata map to include both parameter names and types.
Added explicit parameterNames for all method entries in spring-data-redis-metadata.yaml to improve clarity and support for reflection or code generation. This enhances documentation and tooling around Redis command interfaces.
Updated Parameter and ParameterMetadata toString methods to use symbol constants for formatting. Refactored SpringRedisMetadataRepository to remove Spring's ParameterNameDiscoverer and use method metadata for parameter names, simplifying parameter metadata construction.
Replaces direct call to buildParameterMetadataList with a new getParameterMetadataList method that considers parameter names from MethodMetadata. Updates method to use redisCommandMethod when parameter names are unavailable, improving flexibility and correctness in parameter metadata construction.
Introduced a unit test to verify that getParameterMetadataList returns the expected parameter metadata for Redis command methods by comparing it with buildParameterMetadataList.
Changed the project name from 'Microsphere Spring' to 'Microsphere Redis' in the license section to accurately reflect the repository.
Introduces Docker Compose setup, startup, and teardown steps to the maven-publish GitHub Actions workflow. This allows test services defined in docker/test-services.yml to be started before publishing and stopped after, improving the workflow's environment setup.
Workflow improvements and Docker Compose integration
Add and improve JavaDocs, usage examples and small API conveniences across microsphere-redis core and spring modules. Notable changes: add RawValue.of factory, expose a CLASS_LOADER constant in RedisUtils, document RedisCommandUtils/RedisUtils/ValueHolder APIs (method id/index/signature builders, parameter metadata helpers, resource loaders), and expand documentation for metadata, parameter and method model classes as well as Spring annotations/registrars and interceptors. Changes are primarily documentation and clarifications with a few minor non-breaking API helpers to improve discoverability and usage.
Replace the checked-in maven-wrapper.jar with the newer script-only Maven Wrapper (v3.3.4): remove .mvn/wrapper/maven-wrapper.jar, update .mvn/wrapper/maven-wrapper.properties to use wrapperVersion=3.3.4, distributionType=only-script and point distributionUrl to a mirror. Replace mvnw and mvnw.cmd with the new wrapper scripts (improved download/validation, MVNW_* options, mvnd support, temp handling, and installation into ~/.m2/wrapper/dists). Add Dependabot config to enable daily Maven dependency updates and add a GitHub Actions workflow that auto-merges main into dev and release (with conflict detection and branch-existence checks).
Add 'main' to push triggers, switch the workflow to use the Maven wrapper (./mvnw) instead of system mvn, remove the 'cache: maven' step, and add -Dsurefire.useSystemClassLoader=false to the test invocation. These changes aim to ensure a consistent build environment in CI and avoid Surefire classloader issues during tests.
Replace default revision placeholder and add validation for revision format in the build job. Introduce a new release job that runs after build: checks out full history, creates a git tag (if missing), creates a GitHub release via the gh CLI (if missing), increments the patch version in pom.xml to a -SNAPSHOT next version, and commits & pushes that change. The release job requires write permissions for contents and uses the GITHUB_TOKEN; version validation enforces a numeric major.minor.patch pattern.
Restore the missing newline at end of .mvn/wrapper/maven-wrapper.properties. This is a non-functional formatting fix to conform to POSIX text file conventions and avoid spurious diffs.
Merged source code improvements from dev branch:
- Enhanced Javadoc across all Redis modules
- Added dependabot.yml configuration
- Added merge-main-to-branches workflow
- Updated Maven Wrapper to 3.3.4
- Added version validation and release job to publish workflow
- Added RedisConnection interface initialization in SpringRedisMetadataRepository
- Added buildMethodIndex and getParameterClassNames utilities
- Simplified KafkaConsumerRedisReplicatorConfiguration (direct CommonClientConfigs import)
- Updated spring-data-redis-metadata.yaml with enhanced parameter names

Preserved Java 8+ / Spring Data Redis 2.x compatibility:
- Kept RawValue as a class (not Java 16+ record)
- Kept traditional instanceof patterns (no Java 16+ pattern matching)
- Kept javax.servlet dependency (not jakarta.servlet)
- Kept Spring Boot 2.x profiles in parent POM
- Kept resolveTargetType/canSerialize/getTargetType methods for Spring Data Redis 2.x
- Kept RedisZSetCommandsWeightsSerializer (not WeightsSerializer with 3.x imports)
- Kept dev-1.x branch references in CI workflows
- Kept revision as 0.1.0-SNAPSHOT
@sonarqubecloud
Copy link
Copy Markdown

@mercyblitz mercyblitz marked this pull request as ready for review April 5, 2026 15:24
@mercyblitz mercyblitz merged commit 5ee6770 into dev-1.x Apr 5, 2026
2 of 30 checks passed
@mercyblitz mercyblitz deleted the copilot/merge-dev-into-dev-1x branch April 5, 2026 16:32
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.

2 participants