diff --git a/src/main/java/com/azure/spring/dev/tools/actions/UpdateSpringCloudAzureSupportFileRunner.java b/src/main/java/com/azure/spring/dev/tools/actions/UpdateSpringCloudAzureSupportFileRunner.java index 26ecf95..482a8b6 100644 --- a/src/main/java/com/azure/spring/dev/tools/actions/UpdateSpringCloudAzureSupportFileRunner.java +++ b/src/main/java/com/azure/spring/dev/tools/actions/UpdateSpringCloudAzureSupportFileRunner.java @@ -71,7 +71,7 @@ public void run(String... args) throws Exception { .stream() .map(CONVERTER::convert) .filter(Objects::nonNull) - .filter(s -> s.getSpringBootVersion().matches("3\\.[4-9]\\.\\d+")) // Only consider 3.4.x versions or above + .filter(s -> isVersionSupported(s.getSpringBootVersion())) .peek(s -> s.setSpringCloudVersion(findCompatibleSpringCloudVersion(s.getSpringBootVersion()))) .peek(s -> s.setSupportStatus(findSupportStatus(s.getSpringBootVersion()))) .peek(s -> activeSpringBootVersions.add(s.getSpringBootVersion())) @@ -149,4 +149,15 @@ String findCompatibleSpringCloudVersion(String springBootVersion) { .stream().findFirst().orElse(NONE_SUPPORTED_VERSION); } + /** + * Checks if the given Spring Boot version is supported (3.5.0 or above). + * @param springBootVersion the Spring Boot version string to check + * @return true if the version is 3.5.0 or above, false otherwise + */ + boolean isVersionSupported(String springBootVersion) { + Version version = Version.parse(springBootVersion); + Version minVersion = Version.parse("3.5.0"); + return version.compareTo(minVersion) >= 0; + } + } diff --git a/src/test/java/com/azure/spring/dev/tools/actions/UpdateSpringCloudAzureSupportFileRunnerTest.java b/src/test/java/com/azure/spring/dev/tools/actions/UpdateSpringCloudAzureSupportFileRunnerTest.java index 6796289..0fd2199 100644 --- a/src/test/java/com/azure/spring/dev/tools/actions/UpdateSpringCloudAzureSupportFileRunnerTest.java +++ b/src/test/java/com/azure/spring/dev/tools/actions/UpdateSpringCloudAzureSupportFileRunnerTest.java @@ -89,4 +89,20 @@ void testMaintainVersions() { Assertions.assertTrue(lists.contains(data2)); Assertions.assertFalse(lists.contains(data3)); } + + @Test + void testIsVersionSupported() { + // Test versions that should be supported (3.5.0 or above) + Assertions.assertTrue(runner.isVersionSupported("3.5.0")); + Assertions.assertTrue(runner.isVersionSupported("3.5.1")); + Assertions.assertTrue(runner.isVersionSupported("3.5.12")); + Assertions.assertTrue(runner.isVersionSupported("3.6.0")); + Assertions.assertTrue(runner.isVersionSupported("4.0.0")); + + // Test versions that should not be supported (below 3.5.0) + Assertions.assertFalse(runner.isVersionSupported("3.4.9")); + Assertions.assertFalse(runner.isVersionSupported("3.4.0")); + Assertions.assertFalse(runner.isVersionSupported("3.3.13")); + Assertions.assertFalse(runner.isVersionSupported("2.7.18")); + } }