From b9dc4d302e20e77357b7d560ae9b26dd2ed51eac Mon Sep 17 00:00:00 2001 From: "Xinwei Xiong(cubxxw)" <3293172751nss@gmail.com> Date: Sat, 13 May 2023 17:43:50 +0800 Subject: [PATCH] docs(readme): styles beautify Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com> --- README.md | 12 +++--- script/githooks/commit-msg | 73 +++++++++++++++++++++++++++++++++++ script/githooks/commit-msg.sh | 25 ------------ script/githooks/pre-commit | 68 ++++++++++++++++++++++++++++++++ script/githooks/pre-commit.sh | 37 ------------------ script/make-rules/common.mk | 2 +- 6 files changed, 149 insertions(+), 68 deletions(-) create mode 100644 script/githooks/commit-msg delete mode 100644 script/githooks/commit-msg.sh create mode 100644 script/githooks/pre-commit delete mode 100644 script/githooks/pre-commit.sh diff --git a/README.md b/README.md index 58a2e148f..81d51dd99 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,15 @@ -# Open-IM-Server - -
-Open source Instant Messaging Server -
+
+
diff --git a/script/githooks/commit-msg b/script/githooks/commit-msg
new file mode 100644
index 000000000..7d5dab52e
--- /dev/null
+++ b/script/githooks/commit-msg
@@ -0,0 +1,73 @@
+
+#!/usr/bin/env bash
+
+# Copyright © 2023 OpenIMSDK.
+#
+# Licensed 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.
+#
+# ==============================================================================
+#
+# Store this file as .git/hooks/commit-msg in your repository in order to
+# enforce checking for proper commit message format before actual commits.
+# You may need to make the script executable by 'chmod +x .git/hooks/commit-msg'.
+
+# commit-msg use go-gitlint tool, install go-gitlint via `go get github.com/llorllale/go-gitlint/cmd/go-gitlint`
+# go-gitlint --msg-file="$1"
+
+# An example hook script to check the commit log message.
+# Called by "git commit" with one argument, the name of the file
+# that has the commit message. The hook should exit with non-zero
+# status after issuing an appropriate message if it wants to stop the
+# commit. The hook is allowed to edit the commit message file.
+
+YELLOW="\e[93m"
+GREEN="\e[32m"
+RED="\e[31m"
+ENDCOLOR="\e[0m"
+
+printMessage() {
+ printf "${YELLOW}OpenIM : $1${ENDCOLOR}\n"
+}
+
+printSuccess() {
+ printf "${GREEN}OpenIM : $1${ENDCOLOR}\n"
+}
+
+printError() {
+ printf "${RED}OpenIM : $1${ENDCOLOR}\n"
+}
+
+printMessage "Running the OpenIM commit-msg hook."
+
+# This example catches duplicate Signed-off-by lines.
+
+test "" = "$(grep '^Signed-off-by: ' "$1" |
+ sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || {
+ echo >&2 Duplicate Signed-off-by lines.
+ exit 1
+}
+
+./tools/go-gitlint \
+ --msg-file=$1 \
+ --subject-regex="^(build|chore|ci|docs|feat|feature|fix|perf|refactor|revert|style|test)(.*)?:\s?.*" \
+ --subject-maxlen=150 \
+ --subject-minlen=10 \
+ --body-regex=".*" \
+ --max-parents=1
+
+if [ $? -ne 0 ]
+then
+ printError "Please fix your commit message to match OpenIM coding standards"
+ printError "https://OpenIM.gitbook.io/docs/essential-documentation/contribute-to-OpenIM/software-contributions/submitting-code/code-submission-guidelines#commit-message-guidelines"
+ exit 1
+fi
\ No newline at end of file
diff --git a/script/githooks/commit-msg.sh b/script/githooks/commit-msg.sh
deleted file mode 100644
index 255a60e97..000000000
--- a/script/githooks/commit-msg.sh
+++ /dev/null
@@ -1,25 +0,0 @@
-
-#!/usr/bin/env bash
-
-# Copyright © 2023 OpenIMSDK.
-#
-# Licensed 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.
-#
-# ==============================================================================
-#
-# Store this file as .git/hooks/commit-msg in your repository in order to
-# enforce checking for proper commit message format before actual commits.
-# You may need to make the script executable by 'chmod +x .git/hooks/commit-msg'.
-
-# commit-msg use go-gitlint tool, install go-gitlint via `go get github.com/llorllale/go-gitlint/cmd/go-gitlint`
-go-gitlint --msg-file="$1"
diff --git a/script/githooks/pre-commit b/script/githooks/pre-commit
new file mode 100644
index 000000000..9cd54db7e
--- /dev/null
+++ b/script/githooks/pre-commit
@@ -0,0 +1,68 @@
+#!/usr/bin/env bash
+
+# Copyright © 2023 OpenIMSDK.
+#
+# Licensed 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.
+#
+
+YELLOW="\e[93m"
+GREEN="\e[32m"
+RED="\e[31m"
+ENDCOLOR="\e[0m"
+
+printMessage() {
+ printf "${YELLOW}OpenIM : $1${ENDCOLOR}\n"
+}
+
+printSuccess() {
+ printf "${GREEN}OpenIM : $1${ENDCOLOR}\n"
+}
+
+printError() {
+ printf "${RED}OpenIM : $1${ENDCOLOR}\n"
+}
+
+printMessage "Running local OpenIM pre-commit hook."
+
+#flutter format .
+##https://gist.github.com/benmccallum/28e4f216d9d72f5965133e6c43aaff6e
+limit=$(( 1 * 2**20 )) # 1MB
+
+function file_too_large(){
+ filename=$0
+ filesize=$(( $1 / 2**20 ))
+
+ cat <