Skip to content

Conversation

@mercyblitz
Copy link
Contributor

This pull request improves the flexibility and correctness of auto-configuration exclusion handling in the Microsphere Spring Boot project. The main update is to support both comma-delimited and indexed property formats for excluding auto-configurations, ensuring compatibility with different configuration styles. Additionally, the code is refactored for clarity and the tests are enhanced to cover the new logic. Version numbers in Maven configuration files are also updated.

Auto-configuration exclusion improvements

  • The logic in ConfigurableAutoConfigurationImportFilter now supports auto-configuration exclusions defined using both comma-delimited strings and indexed property formats (e.g., microsphere.autoconfigure.exclude[0]=...). This is achieved by combining values from property sources and the Spring Boot Binder API. [1] [2]
  • Refactored the collection of excluded class names to use LinkedHashSet for predictable ordering and improved helper methods for resolving placeholders and combining exclusions. [1] [2]

Documentation

  • Updated the example in README.md to show both supported exclusion formats for auto-configuration, improving clarity for users. [1] [2]

Testing improvements

  • Enhanced and extended tests in ConfigurableAutoConfigurationImportFilterTest to cover the new exclusion logic, including indexed properties and placeholder resolution. Refactored setup for better readability and maintainability. [1] [2] [3]

Dependency and version updates

  • Bumped microsphere-spring.version in microsphere-spring-boot-parent/pom.xml from 0.1.4 to 0.1.5.
  • Updated the main project revision in pom.xml from 0.1.4-SNAPSHOT to 0.1.5-SNAPSHOT.

Maven configuration cleanup

  • Removed distributionManagement and custom repositories sections from the main pom.xml, simplifying project deployment configuration.

Updated the <revision> property in pom.xml to prepare for the next development iteration.
Updated the microsphere-spring.version property in the parent POM from 0.1.4 to 0.1.5 to use the latest release.
Enhanced ConfigurableAutoConfigurationImportFilter to support exclusion of auto-configuration classes using both comma-delimited and array property syntaxes. This improves flexibility in configuration and ensures exclusions are correctly resolved from environment properties.
Deleted the unit test file for ConfigurableAutoConfigurationImportFilter. This may be part of a test cleanup or refactoring effort.
Introduces comprehensive JUnit tests for the ConfigurableAutoConfigurationImportFilter class, covering matching logic, exclusion property handling, placeholder resolution, and utility methods. These tests improve reliability and ensure correct behavior of auto-configuration exclusion features.
Deleted badges for average issue resolution time and percentage of open issues from the README to simplify the badge section.
Deleted the <distributionManagement> and <repositories> sections from pom.xml, likely to simplify project configuration or move repository management elsewhere.
@sonarqubecloud
Copy link

sonarqubecloud bot commented Nov 7, 2025

@codecov
Copy link

codecov bot commented Nov 7, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.

Files with missing lines Coverage Δ Complexity Δ
...ure/ConfigurableAutoConfigurationImportFilter.java 100.00% <100.00%> (ø) 23.00 <9.00> (+5.00)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@mercyblitz mercyblitz merged commit cd59c4c into release-1.x Nov 7, 2025
72 checks passed
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