diff --git a/application/src/main/java/run/halo/app/core/extension/service/impl/PluginServiceImpl.java b/application/src/main/java/run/halo/app/core/extension/service/impl/PluginServiceImpl.java index 991250aac..266f0df39 100644 --- a/application/src/main/java/run/halo/app/core/extension/service/impl/PluginServiceImpl.java +++ b/application/src/main/java/run/halo/app/core/extension/service/impl/PluginServiceImpl.java @@ -476,7 +476,7 @@ public class PluginServiceImpl implements PluginService, InitializingBean, Dispo Version version = systemVersion.get(); // validate the plugin version // only use the nominal system version to compare, the format is like MAJOR.MINOR.PATCH - String systemVersion = version.getNormalVersion(); + String systemVersion = version.toStableVersion().toString(); String requires = newPlugin.getSpec().getRequires(); if (!VersionUtils.satisfiesRequires(systemVersion, requires)) { throw new UnsatisfiedAttributeValueException(String.format( diff --git a/application/src/main/java/run/halo/app/infra/DefaultSystemVersionSupplier.java b/application/src/main/java/run/halo/app/infra/DefaultSystemVersionSupplier.java index f91b48e73..806070a6b 100644 --- a/application/src/main/java/run/halo/app/infra/DefaultSystemVersionSupplier.java +++ b/application/src/main/java/run/halo/app/infra/DefaultSystemVersionSupplier.java @@ -26,9 +26,9 @@ public class DefaultSystemVersionSupplier implements SystemVersionSupplier { public Version get() { var properties = buildProperties.getIfUnique(); if (properties == null) { - return Version.valueOf(DEFAULT_VERSION); + return Version.parse(DEFAULT_VERSION); } var projectVersion = Objects.toString(properties.getVersion(), DEFAULT_VERSION); - return Version.valueOf(projectVersion); + return Version.parse(projectVersion); } } diff --git a/application/src/main/java/run/halo/app/infra/utils/VersionUtils.java b/application/src/main/java/run/halo/app/infra/utils/VersionUtils.java index 09441ac08..2f537b944 100644 --- a/application/src/main/java/run/halo/app/infra/utils/VersionUtils.java +++ b/application/src/main/java/run/halo/app/infra/utils/VersionUtils.java @@ -41,7 +41,7 @@ public class VersionUtils { try { return StringUtils.isBlank(constraint) || "*".equals(constraint) - || Version.valueOf(version).satisfies(constraint); + || Version.parse(version).satisfies(constraint); } catch (Exception e) { throw new ServerWebInputException("Illegal requires version expression.", null, e); } diff --git a/application/src/test/java/run/halo/app/core/extension/endpoint/PluginEndpointTest.java b/application/src/test/java/run/halo/app/core/extension/endpoint/PluginEndpointTest.java index 3de56eb72..2ff443606 100644 --- a/application/src/test/java/run/halo/app/core/extension/endpoint/PluginEndpointTest.java +++ b/application/src/test/java/run/halo/app/core/extension/endpoint/PluginEndpointTest.java @@ -183,7 +183,7 @@ class PluginEndpointTest { webClient = WebTestClient.bindToRouterFunction(endpoint.endpoint()) .build(); - lenient().when(systemVersionSupplier.get()).thenReturn(Version.valueOf("0.0.0")); + lenient().when(systemVersionSupplier.get()).thenReturn(Version.parse("0.0.0")); tempDirectory = Files.createTempDirectory("halo-test-plugin-upgrade-"); plugin002 = tempDirectory.resolve("plugin-0.0.2.jar"); diff --git a/application/src/test/java/run/halo/app/core/extension/reconciler/ThemeReconcilerTest.java b/application/src/test/java/run/halo/app/core/extension/reconciler/ThemeReconcilerTest.java index b18f928a8..e95044c8c 100644 --- a/application/src/test/java/run/halo/app/core/extension/reconciler/ThemeReconcilerTest.java +++ b/application/src/test/java/run/halo/app/core/extension/reconciler/ThemeReconcilerTest.java @@ -74,7 +74,7 @@ class ThemeReconcilerTest { @BeforeEach void setUp() throws IOException { defaultTheme = ResourceUtils.getFile("classpath:themes/default"); - lenient().when(systemVersionSupplier.get()).thenReturn(Version.valueOf("0.0.0")); + lenient().when(systemVersionSupplier.get()).thenReturn(Version.parse("0.0.0")); } @Test @@ -190,7 +190,7 @@ class ThemeReconcilerTest { @Test void reconcileStatus() { - when(systemVersionSupplier.get()).thenReturn(Version.valueOf("2.3.0")); + when(systemVersionSupplier.get()).thenReturn(Version.parse("2.3.0")); Path testWorkDir = tempDirectory.resolve("reconcile-delete"); when(themeRoot.get()).thenReturn(testWorkDir); diff --git a/application/src/test/java/run/halo/app/core/extension/service/impl/PluginServiceImplTest.java b/application/src/test/java/run/halo/app/core/extension/service/impl/PluginServiceImplTest.java index 2e79ce0fe..d90303fa1 100644 --- a/application/src/test/java/run/halo/app/core/extension/service/impl/PluginServiceImplTest.java +++ b/application/src/test/java/run/halo/app/core/extension/service/impl/PluginServiceImplTest.java @@ -123,7 +123,7 @@ class PluginServiceImplTest { getClass().getClassLoader().getResource("plugin/plugin-0.0.2")).toURI(); FileUtils.jar(Paths.get(fakePluingUri), tempDirectory.resolve("plugin-0.0.2.jar")); - lenient().when(systemVersionSupplier.get()).thenReturn(Version.valueOf("0.0.0")); + lenient().when(systemVersionSupplier.get()).thenReturn(Version.parse("0.0.0")); } @Test diff --git a/application/src/test/java/run/halo/app/core/extension/theme/ThemeServiceImplTest.java b/application/src/test/java/run/halo/app/core/extension/theme/ThemeServiceImplTest.java index 045b5f14e..6ef808b8d 100644 --- a/application/src/test/java/run/halo/app/core/extension/theme/ThemeServiceImplTest.java +++ b/application/src/test/java/run/halo/app/core/extension/theme/ThemeServiceImplTest.java @@ -78,7 +78,7 @@ class ThemeServiceImplTest { // init the folder Files.createDirectory(themeRoot.get()); - lenient().when(systemVersionSupplier.get()).thenReturn(Version.valueOf("0.0.0")); + lenient().when(systemVersionSupplier.get()).thenReturn(Version.parse("0.0.0")); } @AfterEach diff --git a/application/src/test/java/run/halo/app/infra/DefaultSystemVersionSupplierTest.java b/application/src/test/java/run/halo/app/infra/DefaultSystemVersionSupplierTest.java index 6be7f0a5f..217de47a9 100644 --- a/application/src/test/java/run/halo/app/infra/DefaultSystemVersionSupplierTest.java +++ b/application/src/test/java/run/halo/app/infra/DefaultSystemVersionSupplierTest.java @@ -60,6 +60,6 @@ class DefaultSystemVersionSupplierTest { when(buildPropertiesProvider.getIfUnique()).thenReturn(buildProperties); version = systemVersionSupplier.get(); assertThat(version.toString()).isEqualTo("2.0.0-SNAPSHOT"); - assertThat(version.getPreReleaseVersion()).isEqualTo("SNAPSHOT"); + assertThat(version.preReleaseVersion().orElseThrow()).isEqualTo("SNAPSHOT"); } } \ No newline at end of file