diff --git a/hugegraph-server/hugegraph-dist/dist.sh b/hugegraph-server/hugegraph-dist/dist.sh
new file mode 100644
index 0000000000..64029d49a0
--- /dev/null
+++ b/hugegraph-server/hugegraph-dist/dist.sh
@@ -0,0 +1,46 @@
+#!/bin/bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with this
+# work for additional information regarding copyright ownership. The ASF
+# licenses this file to You under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+VERSION=4.15.5
+
+curl --version >/dev/null 2>&1 ||
+ {
+ echo 'ERROR: Please install `curl` first if you need `swagger-ui`'
+ exit
+ }
+
+# TODO: perhaps it's necessary verify the checksum before reusing the existing tar
+if [[ ! -f v$VERSION.tar.gz ]]; then
+ curl -s -S -L -o v$VERSION.tar.gz \
+ https://github.com/swagger-api/swagger-ui/archive/refs/tags/v$VERSION.tar.gz ||
+ {
+ echo 'ERROR: Download `swagger-ui` failed, please check your network connection'
+ exit
+ }
+fi
+
+tar zxf v$VERSION.tar.gz -C . >/dev/null 2>&1
+
+echo "window.onload = function() { window.ui = SwaggerUIBundle({
+url:'/openapi.json',dom_id:'#swagger-ui',deepLinking:true,layout:'StandaloneLayout',
+presets:[SwaggerUIBundle.presets.apis, SwaggerUIStandalonePreset ],
+plugins:[SwaggerUIBundle.plugins.DownloadUrl]});};" > \
+ swagger-ui-$VERSION/dist/swagger-initializer.js
+
+# conceal the VERSION from the outside
+mv swagger-ui-$VERSION swagger-ui
+echo 'INFO: Successfully download `swagger-ui`'
diff --git a/hugegraph-server/hugegraph-dist/pom.xml b/hugegraph-server/hugegraph-dist/pom.xml
index fe2287f590..8a9738ddac 100644
--- a/hugegraph-server/hugegraph-dist/pom.xml
+++ b/hugegraph-server/hugegraph-dist/pom.xml
@@ -129,30 +129,6 @@
-
- maven-assembly-plugin
- 2.4
-
-
- assembly-hugegraph
- package
-
- single
-
-
- false
- false
- ${top.level.dir}
-
-
- ${assembly.descriptor.dir}/assembly.xml
-
- ${final.name}
-
-
-
-
-
org.apache.maven.plugins
maven-clean-plugin
@@ -173,52 +149,168 @@
-
-
- maven-antrun-plugin
-
-
- download-swagger-ui
- package
-
- run
-
-
-
-
- wget --version 1>/dev/null || exit
- wget https://github.com/swagger-api/swagger-ui/archive/refs/tags/v4.15.5.tar.gz
- tar zxf v4.15.5.tar.gz
- echo "window.onload = function() { window.ui = SwaggerUIBundle({
- url:'/openapi.json',dom_id:'#swagger-ui',deepLinking:true,layout:'StandaloneLayout',
- presets:[SwaggerUIBundle.presets.apis, SwaggerUIStandalonePreset ],
- plugins:[SwaggerUIBundle.plugins.DownloadUrl]});};" > swagger-ui-4.15.5/dist/swagger-initializer.js
- cp -r swagger-ui-4.15.5/dist ../${final.name}/swagger-ui
- rm -rfv swagger-ui-4.15.5 dist.sh
-
-
-
-
-
-
-
-
- package
-
- run
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ 2.4
+
+
+ assembly-hugegraph
+ package
+
+ single
+
+
+ false
+ false
+ ${top.level.dir}
+
+
+ ${assembly.descriptor.dir}/assembly.xml
+
+ ${final.name}
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-antrun-plugin
+ 1.8
+
+
+ download-swagger-ui
+ prepare-package
+
+ run
+
+
+
+
+
+
+
+
+
+
+ install-swagger-ui
+ package
+
+ run
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ assembly-hugegraph
+
+
+
+ maven-assembly-plugin
+
+
+
+
+
+
+ !skip-assembly-hugegraph
+
+
+
+
+ unix-package
+
+
+
+ maven-antrun-plugin
+
+
+
+
+
+ unix
+ Linux
+
+
+
+
+ mac-package
+
+
+
+ maven-antrun-plugin
+
+
+
+
+
+ mac
+
+
+
+
+ tar-package
+
+
+
+ org.apache.maven.plugins
+ maven-antrun-plugin
+ 1.8
+
+
+ tar-package
+ package
+
+ run
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ !skip-tar-package
+
+
+
+
diff --git a/pom.xml b/pom.xml
index 8a98fd6f15..aacd037edf 100644
--- a/pom.xml
+++ b/pom.xml
@@ -146,6 +146,32 @@
true
+
+ org.apache.maven.plugins
+ maven-enforcer-plugin
+
+
+ enforce-version
+
+ enforce
+
+
+ false
+
+
+
+
+
+ [1.8,12)
+
+
+ [3.5.0,)
+
+
+
+
+
+