Merge pull request #10 from FGadvancer/main
Feat: update sdk to v3.5.1 and refactor project structure.dev_1
commit
8eab5c99dd
@ -0,0 +1,31 @@ |
||||
@echo off |
||||
SETLOCAL |
||||
|
||||
mage -version >nul 2>&1 |
||||
IF %ERRORLEVEL% EQU 0 ( |
||||
echo Mage is already installed. |
||||
GOTO DOWNLOAD |
||||
) |
||||
|
||||
go version >nul 2>&1 |
||||
IF NOT %ERRORLEVEL% EQU 0 ( |
||||
echo Go is not installed. Please install Go and try again. |
||||
exit /b 1 |
||||
) |
||||
|
||||
echo Installing Mage... |
||||
go install github.com/magefile/mage@latest |
||||
|
||||
mage -version >nul 2>&1 |
||||
IF NOT %ERRORLEVEL% EQU 0 ( |
||||
echo Mage installation failed. |
||||
echo Please ensure that %GOPATH%/bin is in your PATH. |
||||
exit /b 1 |
||||
) |
||||
|
||||
echo Mage installed successfully. |
||||
|
||||
:DOWNLOAD |
||||
go mod download |
||||
|
||||
ENDLOCAL |
@ -0,0 +1,23 @@ |
||||
#!/bin/bash |
||||
|
||||
if [[ ":$PATH:" == *":$HOME/.local/bin:"* ]]; then |
||||
TARGET_DIR="$HOME/.local/bin" |
||||
else |
||||
TARGET_DIR="/usr/local/bin" |
||||
echo "Using /usr/local/bin as the installation directory. Might require sudo permissions." |
||||
fi |
||||
|
||||
if ! command -v mage &> /dev/null; then |
||||
echo "Installing Mage to $TARGET_DIR ..." |
||||
GOBIN=$TARGET_DIR go install github.com/magefile/mage@latest |
||||
fi |
||||
|
||||
if ! command -v mage &> /dev/null; then |
||||
echo "Mage installation failed." |
||||
echo "Please ensure that $TARGET_DIR is in your \$PATH." |
||||
exit 1 |
||||
fi |
||||
|
||||
echo "Mage installed successfully." |
||||
|
||||
go mod download |
@ -0,0 +1,20 @@ |
||||
cmake_minimum_required(VERSION 3.12) |
||||
project(test_project) |
||||
|
||||
Set source code files |
||||
set(SOURCE_FILES test.c) |
||||
|
||||
Set dynamic library file path |
||||
set(LIBRARY_PATH ../shared/windows) |
||||
|
||||
Set dynamic library file name |
||||
set(LIBRARY_NAME libopenimsdk) |
||||
|
||||
Add executable |
||||
add_executable(test.exe ${SOURCE_FILES}) |
||||
|
||||
Add library directory for linking |
||||
link_directories(${LIBRARY_PATH}) |
||||
|
||||
Add library for linking |
||||
target_link_libraries(test.exe ${LIBRARY_NAME}) |
@ -0,0 +1 @@ |
||||
# openim-sdk-cpp |
@ -1 +0,0 @@ |
||||
gcc -o test.exe -L. openimsdk.dll test.c |
@ -1 +0,0 @@ |
||||
package event_listener |
@ -1,32 +0,0 @@ |
||||
set NDK_PATH=D:\android_sdk\ndk-bundle |
||||
set SO_NAME=libopenimsdk |
||||
set OUT_PATH=android\ |
||||
|
||||
set CGO_ENABLED=1 |
||||
|
||||
REM 生成 armeabi-v7a |
||||
set GOOS=android |
||||
set GOARCH=arm |
||||
set CC=%NDK_PATH%\toolchains\llvm\prebuilt\windows-x86_64\bin\armv7a-linux-androideabi16-clang.cmd |
||||
|
||||
go build -buildmode=c-shared -trimpath -ldflags="-s -w" -o %OUT_PATH%armeabi-v7a\%SO_NAME%.so export.go constant.go protocol.go tools.go |
||||
|
||||
REM 生成 arm64-v8a |
||||
set GOARCH=arm64 |
||||
set CC=%NDK_PATH%\toolchains\llvm\prebuilt\windows-x86_64\bin\aarch64-linux-android21-clang.cmd |
||||
|
||||
go build -buildmode=c-shared -trimpath -ldflags="-s -w" -o %OUT_PATH%arm64-v8a\%SO_NAME%.so export.go constant.go protocol.go tools.go |
||||
|
||||
REM 生成 x86 |
||||
set GOARCH=386 |
||||
set CC=%NDK_PATH%\toolchains\llvm\prebuilt\windows-x86_64\bin\i686-linux-android16-clang.cmd |
||||
|
||||
go build -buildmode=c-shared -trimpath -ldflags="-s -w" -o %OUT_PATH%x86\%SO_NAME%.so export.go constant.go protocol.go tools.go |
||||
|
||||
REM 生成 x86_64 |
||||
set GOARCH=amd64 |
||||
set CC=%NDK_PATH%\toolchains\llvm\prebuilt\windows-x86_64\bin\x86_64-linux-android21-clang.cmd |
||||
|
||||
go build -buildmode=c-shared -trimpath -ldflags="-s -w" -o %OUT_PATH%x86_64\%SO_NAME%.so export.go constant.go protocol.go tools.go |
||||
|
||||
|
@ -1,38 +0,0 @@ |
||||
module github.com/openimsdk/openim-sdk-cpp |
||||
|
||||
go 1.20 |
||||
|
||||
require github.com/openimsdk/openim-sdk-core/v3 v3.4.0 |
||||
|
||||
require ( |
||||
github.com/OpenIMSDK/protocol v0.0.23 // indirect |
||||
github.com/OpenIMSDK/tools v0.0.5 // indirect |
||||
github.com/bwmarrin/snowflake v0.3.0 // indirect |
||||
github.com/golang/protobuf v1.5.3 // indirect |
||||
github.com/google/go-cmp v0.5.9 // indirect |
||||
github.com/gorilla/websocket v1.4.2 // indirect |
||||
github.com/jinzhu/copier v0.3.5 // indirect |
||||
github.com/jinzhu/inflection v1.0.0 // indirect |
||||
github.com/jinzhu/now v1.1.5 // indirect |
||||
github.com/klauspost/compress v1.16.5 // indirect |
||||
github.com/lestrrat-go/file-rotatelogs v2.4.0+incompatible // indirect |
||||
github.com/lestrrat-go/strftime v1.0.6 // indirect |
||||
github.com/mattn/go-sqlite3 v1.14.12 // indirect |
||||
github.com/mitchellh/mapstructure v1.5.0 // indirect |
||||
github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 // indirect |
||||
github.com/pkg/errors v0.9.1 // indirect |
||||
github.com/tencentyun/qcloud-cos-sts-sdk v0.0.0-20220106031843-2efeb10ca2f6 // indirect |
||||
go.uber.org/atomic v1.7.0 // indirect |
||||
go.uber.org/multierr v1.6.0 // indirect |
||||
go.uber.org/zap v1.24.0 // indirect |
||||
golang.org/x/image v0.9.0 // indirect |
||||
golang.org/x/net v0.11.0 // indirect |
||||
golang.org/x/sys v0.9.0 // indirect |
||||
golang.org/x/text v0.11.0 // indirect |
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20230717213848-3f92550aa753 // indirect |
||||
google.golang.org/grpc v1.56.2 // indirect |
||||
google.golang.org/protobuf v1.31.0 // indirect |
||||
gorm.io/driver/sqlite v1.3.6 // indirect |
||||
gorm.io/gorm v1.23.8 // indirect |
||||
nhooyr.io/websocket v1.8.7 // indirect |
||||
) |
@ -1,166 +0,0 @@ |
||||
github.com/OpenIMSDK/protocol v0.0.23 h1:L545aRQez6Ro+AaJB1Z6Mz7ojnDtp41WqASxYveCkcE= |
||||
github.com/OpenIMSDK/protocol v0.0.23/go.mod h1:F25dFrwrIx3lkNoiuf6FkCfxuwf8L4Z8UIsdTHP/r0Y= |
||||
github.com/OpenIMSDK/tools v0.0.5 h1:yBVHJ3EpIDcp8VFKPjuGr6MQvFa3t4JByZ+vmeC06/Q= |
||||
github.com/OpenIMSDK/tools v0.0.5/go.mod h1:eg+q4A34Qmu73xkY0mt37FHGMCMfC6CtmOnm0kFEGFI= |
||||
github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= |
||||
github.com/bwmarrin/snowflake v0.3.0 h1:xm67bEhkKh6ij1790JB83OujPR5CzNe8QuQqAgISZN0= |
||||
github.com/bwmarrin/snowflake v0.3.0/go.mod h1:NdZxfVWX+oR6y2K0o6qAYv6gIOP9rjG0/E9WsDpxqwE= |
||||
github.com/bytedance/sonic v1.9.1 h1:6iJ6NqdoxCDr6mbY8h18oSO+cShGSMRGCEo7F2h0x8s= |
||||
github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311 h1:qSGYFH7+jGhDF8vLC+iwCD4WpbV1EBDSzWkJODFLams= |
||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= |
||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= |
||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= |
||||
github.com/gabriel-vasile/mimetype v1.4.2 h1:w5qFW6JKBz9Y393Y4q372O9A7cUSequkh1Q7OhCmWKU= |
||||
github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= |
||||
github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= |
||||
github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= |
||||
github.com/gin-gonic/gin v1.9.1 h1:4idEAncQnU5cB7BeOkPtxjfCSye0AAm1R0RVIqJ+Jmg= |
||||
github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= |
||||
github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= |
||||
github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA= |
||||
github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= |
||||
github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= |
||||
github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= |
||||
github.com/go-playground/validator/v10 v10.14.0 h1:vgvQWe3XCz3gIeFDm/HnTIbj6UGmg/+t63MyGU2n5js= |
||||
github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee h1:s+21KNqlpePfkah2I+gwHF8xmJWRjooY+5248k6m4A0= |
||||
github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= |
||||
github.com/gobwas/pool v0.2.0 h1:QEmUOlnSjWtnpRGHF3SauEiOsy82Cup83Vf2LcMlnc8= |
||||
github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= |
||||
github.com/gobwas/ws v1.0.2 h1:CoAavW/wd/kulfZmSIBt6p24n4j7tHgNVCjsfHVNUbo= |
||||
github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= |
||||
github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= |
||||
github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= |
||||
github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= |
||||
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= |
||||
github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= |
||||
github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= |
||||
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= |
||||
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= |
||||
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= |
||||
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= |
||||
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= |
||||
github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= |
||||
github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= |
||||
github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= |
||||
github.com/jinzhu/copier v0.3.5 h1:GlvfUwHk62RokgqVNvYsku0TATCF7bAHVwEXoBh3iJg= |
||||
github.com/jinzhu/copier v0.3.5/go.mod h1:DfbEm0FYsaqBcKcFuvmOZb218JkPGtvSHsKg8S8hyyg= |
||||
github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= |
||||
github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= |
||||
github.com/jinzhu/now v1.1.4/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= |
||||
github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ= |
||||
github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= |
||||
github.com/jonboulle/clockwork v0.4.0 h1:p4Cf1aMWXnXAUh8lVfewRBx1zaTSYKrKMF2g3ST4RZ4= |
||||
github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= |
||||
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= |
||||
github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= |
||||
github.com/klauspost/compress v1.16.5 h1:IFV2oUNUzZaz+XyusxpLzpzS8Pt5rh0Z16For/djlyI= |
||||
github.com/klauspost/compress v1.16.5/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= |
||||
github.com/klauspost/cpuid/v2 v2.2.4 h1:acbojRNwl3o09bUq+yDCtZFc1aiwaAAxtcn8YkZXnvk= |
||||
github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= |
||||
github.com/leodido/go-urn v1.2.4 h1:XlAE/cm/ms7TE/VMVoduSpNBoyc2dOxHs5MZSwAN63Q= |
||||
github.com/lestrrat-go/envload v0.0.0-20180220234015-a3eb8ddeffcc h1:RKf14vYWi2ttpEmkA4aQ3j4u9dStX2t4M8UM6qqNsG8= |
||||
github.com/lestrrat-go/envload v0.0.0-20180220234015-a3eb8ddeffcc/go.mod h1:kopuH9ugFRkIXf3YoqHKyrJ9YfUFsckUU9S7B+XP+is= |
||||
github.com/lestrrat-go/file-rotatelogs v2.4.0+incompatible h1:Y6sqxHMyB1D2YSzWkLibYKgg+SwmyFU9dF2hn6MdTj4= |
||||
github.com/lestrrat-go/file-rotatelogs v2.4.0+incompatible/go.mod h1:ZQnN8lSECaebrkQytbHj4xNgtg8CR7RYXnPok8e0EHA= |
||||
github.com/lestrrat-go/strftime v1.0.6 h1:CFGsDEt1pOpFNU+TJB0nhz9jl+K0hZSLE205AhTIGQQ= |
||||
github.com/lestrrat-go/strftime v1.0.6/go.mod h1:f7jQKgV5nnJpYgdEasS+/y7EsTb8ykN2z68n3TtcTaw= |
||||
github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= |
||||
github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA= |
||||
github.com/mattn/go-sqlite3 v1.14.12 h1:TJ1bhYJPV44phC+IMu1u2K/i5RriLTPe+yc68XDJ1Z0= |
||||
github.com/mattn/go-sqlite3 v1.14.12/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= |
||||
github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= |
||||
github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= |
||||
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= |
||||
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= |
||||
github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= |
||||
github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= |
||||
github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 h1:zYyBkD/k9seD2A7fsi6Oo2LfFZAehjjQMERAvZLEDnQ= |
||||
github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646/go.mod h1:jpp1/29i3P1S/RLdc7JQKbRpFeM1dOBd8T9ki5s+AY8= |
||||
github.com/openimsdk/openim-sdk-core/v3 v3.4.0 h1:H5hXANjpLqKaiwaPZAFUdoPCjez29PeMvu3r7reWF8A= |
||||
github.com/openimsdk/openim-sdk-core/v3 v3.4.0/go.mod h1:8cQJEanYxUxMdPuiPxHPrw1RkiDtIny5eGNyYfNFdWM= |
||||
github.com/pelletier/go-toml/v2 v2.0.8 h1:0ctb6s9mE31h0/lhu+J6OPmVeDxJn+kYnJc2jZR9tGQ= |
||||
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= |
||||
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= |
||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= |
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= |
||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= |
||||
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= |
||||
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= |
||||
github.com/stretchr/testify v1.8.3 h1:RP3t2pwF7cMEbC1dqtB6poj3niw/9gnV4Cjg5oW5gtY= |
||||
github.com/tencentyun/qcloud-cos-sts-sdk v0.0.0-20220106031843-2efeb10ca2f6 h1:SLcMxS3gIswMN5mHHeVo+85lHBau10lZmrZ3Ukji510= |
||||
github.com/tencentyun/qcloud-cos-sts-sdk v0.0.0-20220106031843-2efeb10ca2f6/go.mod h1:b18KQa4IxHbxeseW1GcZox53d7J0z39VNONTxvvlkXw= |
||||
github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI= |
||||
github.com/ugorji/go v1.1.7 h1:/68gy2h+1mWMrwZFeD1kQialdSzAb432dtpeJ42ovdo= |
||||
github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= |
||||
github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= |
||||
github.com/ugorji/go/codec v1.2.11 h1:BMaWp1Bb6fHwEtbplGBGJ498wD+LKlNSl25MjdZY4dU= |
||||
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= |
||||
go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw= |
||||
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= |
||||
go.uber.org/goleak v1.1.11 h1:wy28qYRKZgnJTxGxvye5/wgWr1EKjmUDGYox5mGlRlI= |
||||
go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4= |
||||
go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= |
||||
go.uber.org/zap v1.24.0 h1:FiJd5l1UOLj0wCgbSE0rwwXHzEdAZS6hiiSnxJN/D60= |
||||
go.uber.org/zap v1.24.0/go.mod h1:2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg= |
||||
golang.org/x/arch v0.3.0 h1:02VY4/ZcO/gBOH6PUaoiptASxtXU10jazRCP865E97k= |
||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= |
||||
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= |
||||
golang.org/x/crypto v0.10.0 h1:LKqV2xt9+kDzSTfOhx4FrkEBcMrAgHSYgzywV9zcGmM= |
||||
golang.org/x/image v0.9.0 h1:QrzfX26snvCM20hIhBwuHI/ThTg18b/+kcKdXHvnR+g= |
||||
golang.org/x/image v0.9.0/go.mod h1:jtrku+n79PfroUbvDdeUWMAI+heR786BofxrbiSF+J0= |
||||
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= |
||||
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= |
||||
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= |
||||
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= |
||||
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= |
||||
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= |
||||
golang.org/x/net v0.11.0 h1:Gi2tvZIJyBtO9SDr1q9h5hEQCp/4L2RQ+ar0qjx2oNU= |
||||
golang.org/x/net v0.11.0/go.mod h1:2L/ixqYpgIVXmeoSA/4Lu7BzTG4KIyPIryS4IsOd1oQ= |
||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= |
||||
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= |
||||
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= |
||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= |
||||
golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= |
||||
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= |
||||
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= |
||||
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= |
||||
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= |
||||
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= |
||||
golang.org/x/sys v0.9.0 h1:KS/R3tvhPqvJvwcKfnBHJwwthS11LRhmM5D59eEXa0s= |
||||
golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= |
||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= |
||||
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= |
||||
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= |
||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= |
||||
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= |
||||
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= |
||||
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= |
||||
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= |
||||
golang.org/x/text v0.11.0 h1:LAntKIrcmeSKERyiOh0XMV39LXS8IE9UL2yP7+f5ij4= |
||||
golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= |
||||
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= |
||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= |
||||
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= |
||||
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= |
||||
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= |
||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= |
||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= |
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20230717213848-3f92550aa753 h1:XUODHrpzJEUeWmVo/jfNTLj0YyVveOo28oE6vkFbkO4= |
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20230717213848-3f92550aa753/go.mod h1:TUfxEVdsvPg18p6AslUXFoLdpED4oBnGwyqk3dV1XzM= |
||||
google.golang.org/grpc v1.56.2 h1:fVRFRnXvU+x6C4IlHZewvJOVHoOv1TUuQyoRsYnB4bI= |
||||
google.golang.org/grpc v1.56.2/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= |
||||
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= |
||||
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= |
||||
google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= |
||||
google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= |
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= |
||||
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= |
||||
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= |
||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= |
||||
gorm.io/driver/sqlite v1.3.6 h1:Fi8xNYCUplOqWiPa3/GuCeowRNBRGTf62DEmhMDHeQQ= |
||||
gorm.io/driver/sqlite v1.3.6/go.mod h1:Sg1/pvnKtbQ7jLXxfZa+jSHvoX8hoZA8cn4xllOMTgE= |
||||
gorm.io/gorm v1.23.4/go.mod h1:l2lP/RyAtc1ynaTjFksBde/O8v9oOGIApu2/xRitmZk= |
||||
gorm.io/gorm v1.23.8 h1:h8sGJ+biDgBA1AD1Ha9gFCx7h8npU7AsLdlkX0n2TpE= |
||||
gorm.io/gorm v1.23.8/go.mod h1:l2lP/RyAtc1ynaTjFksBde/O8v9oOGIApu2/xRitmZk= |
||||
nhooyr.io/websocket v1.8.7 h1:usjR2uOr/zjjkVMy0lW+PPohFok7PCow5sDjLgX4P4g= |
||||
nhooyr.io/websocket v1.8.7/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= |
@ -0,0 +1 @@ |
||||
# openim-sdk-cpp |
@ -0,0 +1,79 @@ |
||||
github.com/OpenIMSDK/protocol v0.0.40 h1:1/Oij6RSAaePCPrWGwp9Cyz976/8Uxr94hM5M5FXzlg= |
||||
github.com/OpenIMSDK/protocol v0.0.40/go.mod h1:F25dFrwrIx3lkNoiuf6FkCfxuwf8L4Z8UIsdTHP/r0Y= |
||||
github.com/OpenIMSDK/tools v0.0.24 h1:P8n7ZtsZEbm4W3dQAem29O+bigzy6YPXxFzd/D8Vh3U= |
||||
github.com/OpenIMSDK/tools v0.0.24/go.mod h1:eg+q4A34Qmu73xkY0mt37FHGMCMfC6CtmOnm0kFEGFI= |
||||
github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= |
||||
github.com/bwmarrin/snowflake v0.3.0 h1:xm67bEhkKh6ij1790JB83OujPR5CzNe8QuQqAgISZN0= |
||||
github.com/bwmarrin/snowflake v0.3.0/go.mod h1:NdZxfVWX+oR6y2K0o6qAYv6gIOP9rjG0/E9WsDpxqwE= |
||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= |
||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= |
||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= |
||||
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= |
||||
github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= |
||||
github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= |
||||
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= |
||||
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= |
||||
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= |
||||
github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= |
||||
github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= |
||||
github.com/jinzhu/copier v0.3.5 h1:GlvfUwHk62RokgqVNvYsku0TATCF7bAHVwEXoBh3iJg= |
||||
github.com/jinzhu/copier v0.3.5/go.mod h1:DfbEm0FYsaqBcKcFuvmOZb218JkPGtvSHsKg8S8hyyg= |
||||
github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= |
||||
github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= |
||||
github.com/jinzhu/now v1.1.4/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= |
||||
github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ= |
||||
github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= |
||||
github.com/jonboulle/clockwork v0.4.0 h1:p4Cf1aMWXnXAUh8lVfewRBx1zaTSYKrKMF2g3ST4RZ4= |
||||
github.com/lestrrat-go/envload v0.0.0-20180220234015-a3eb8ddeffcc h1:RKf14vYWi2ttpEmkA4aQ3j4u9dStX2t4M8UM6qqNsG8= |
||||
github.com/lestrrat-go/envload v0.0.0-20180220234015-a3eb8ddeffcc/go.mod h1:kopuH9ugFRkIXf3YoqHKyrJ9YfUFsckUU9S7B+XP+is= |
||||
github.com/lestrrat-go/file-rotatelogs v2.4.0+incompatible h1:Y6sqxHMyB1D2YSzWkLibYKgg+SwmyFU9dF2hn6MdTj4= |
||||
github.com/lestrrat-go/file-rotatelogs v2.4.0+incompatible/go.mod h1:ZQnN8lSECaebrkQytbHj4xNgtg8CR7RYXnPok8e0EHA= |
||||
github.com/lestrrat-go/strftime v1.0.6 h1:CFGsDEt1pOpFNU+TJB0nhz9jl+K0hZSLE205AhTIGQQ= |
||||
github.com/lestrrat-go/strftime v1.0.6/go.mod h1:f7jQKgV5nnJpYgdEasS+/y7EsTb8ykN2z68n3TtcTaw= |
||||
github.com/mattn/go-sqlite3 v1.14.12 h1:TJ1bhYJPV44phC+IMu1u2K/i5RriLTPe+yc68XDJ1Z0= |
||||
github.com/mattn/go-sqlite3 v1.14.12/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= |
||||
github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 h1:zYyBkD/k9seD2A7fsi6Oo2LfFZAehjjQMERAvZLEDnQ= |
||||
github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646/go.mod h1:jpp1/29i3P1S/RLdc7JQKbRpFeM1dOBd8T9ki5s+AY8= |
||||
github.com/openimsdk/openim-sdk-core/v3 v3.5.1 h1:lvC8TlouT9zFxjoBeH/S4YCkwbQ5IgSnNRO9NJ9H5v8= |
||||
github.com/openimsdk/openim-sdk-core/v3 v3.5.1/go.mod h1:d2aVHT6pSYthQQd+/4JaruHPTLsQV2D+eQisRQkoP3I= |
||||
github.com/patrickmn/go-cache v2.1.0+incompatible h1:HRMgzkcYKYpi3C8ajMPV8OFXaaRUnok+kx1WdO15EQc= |
||||
github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ= |
||||
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= |
||||
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= |
||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= |
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= |
||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= |
||||
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= |
||||
github.com/stretchr/testify v1.8.3 h1:RP3t2pwF7cMEbC1dqtB6poj3niw/9gnV4Cjg5oW5gtY= |
||||
go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw= |
||||
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= |
||||
go.uber.org/goleak v1.1.11 h1:wy28qYRKZgnJTxGxvye5/wgWr1EKjmUDGYox5mGlRlI= |
||||
go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4= |
||||
go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= |
||||
go.uber.org/zap v1.24.0 h1:FiJd5l1UOLj0wCgbSE0rwwXHzEdAZS6hiiSnxJN/D60= |
||||
go.uber.org/zap v1.24.0/go.mod h1:2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg= |
||||
golang.org/x/image v0.14.0 h1:tNgSxAFe3jC4uYqvZdTr84SZoM1KfwdC9SKIFrLjFn4= |
||||
golang.org/x/image v0.14.0/go.mod h1:HUYqC05R2ZcZ3ejNQsIHQDQiwWM4JBqmm6MKANTp4LE= |
||||
golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c= |
||||
golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U= |
||||
golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc= |
||||
golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= |
||||
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= |
||||
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= |
||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= |
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20230717213848-3f92550aa753 h1:XUODHrpzJEUeWmVo/jfNTLj0YyVveOo28oE6vkFbkO4= |
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20230717213848-3f92550aa753/go.mod h1:TUfxEVdsvPg18p6AslUXFoLdpED4oBnGwyqk3dV1XzM= |
||||
google.golang.org/grpc v1.56.2 h1:fVRFRnXvU+x6C4IlHZewvJOVHoOv1TUuQyoRsYnB4bI= |
||||
google.golang.org/grpc v1.56.2/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= |
||||
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= |
||||
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= |
||||
google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= |
||||
google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= |
||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= |
||||
gorm.io/driver/sqlite v1.3.6 h1:Fi8xNYCUplOqWiPa3/GuCeowRNBRGTf62DEmhMDHeQQ= |
||||
gorm.io/driver/sqlite v1.3.6/go.mod h1:Sg1/pvnKtbQ7jLXxfZa+jSHvoX8hoZA8cn4xllOMTgE= |
||||
gorm.io/gorm v1.23.4/go.mod h1:l2lP/RyAtc1ynaTjFksBde/O8v9oOGIApu2/xRitmZk= |
||||
gorm.io/gorm v1.23.8 h1:h8sGJ+biDgBA1AD1Ha9gFCx7h8npU7AsLdlkX0n2TpE= |
||||
gorm.io/gorm v1.23.8/go.mod h1:l2lP/RyAtc1ynaTjFksBde/O8v9oOGIApu2/xRitmZk= |
||||
nhooyr.io/websocket v1.8.10 h1:mv4p+MnGrLDcPlBoWsvPP7XCzTYMXP9F9eIGoKbgx7Q= |
||||
nhooyr.io/websocket v1.8.10/go.mod h1:rN9OFWIUwuxg4fR5tELlYC04bXYowCP9GX47ivo2l+c= |
@ -0,0 +1,163 @@ |
||||
//go:build mage
|
||||
// +build mage
|
||||
|
||||
package main |
||||
|
||||
import ( |
||||
"fmt" |
||||
"os" |
||||
"os/exec" |
||||
"runtime" |
||||
) |
||||
|
||||
var ( |
||||
soName = "libopenimsdk" //
|
||||
outPath = "../shared/" |
||||
goSrc = "go" //
|
||||
) |
||||
|
||||
var Default = Build |
||||
|
||||
// BuildAll compiles the project for all platforms.
|
||||
func Build() { |
||||
if err := BuildAndroid(); err != nil { |
||||
fmt.Println("Error building for Android:", err) |
||||
} |
||||
if err := BuildIOS(); err != nil { |
||||
fmt.Println("Error building for iOS:", err) |
||||
} |
||||
if err := BuildLinux(); err != nil { |
||||
fmt.Println("Error building for Linux:", err) |
||||
} |
||||
if err := BuildWindows(); err != nil { |
||||
fmt.Println("Error building for Windows:", err) |
||||
} |
||||
} |
||||
|
||||
// BuildAndroid compiles the project for Android.
|
||||
func BuildAndroid() error { |
||||
architectures := []struct { |
||||
Arch, API string |
||||
}{ |
||||
{"arm", "16"}, |
||||
{"arm64", "21"}, |
||||
{"386", "16"}, |
||||
{"amd64", "21"}, |
||||
} |
||||
|
||||
for _, arch := range architectures { |
||||
if err := buildAndroid(outPath+"android", arch.Arch, arch.API); err != nil { |
||||
fmt.Printf("Failed to build for %s: %v\n", arch.Arch, err) |
||||
} |
||||
} |
||||
return nil |
||||
} |
||||
|
||||
// BuildIOS compiles the project for iOS.
|
||||
func BuildIOS() error { |
||||
fmt.Println("Building for iOS...") |
||||
outPath += "ios" |
||||
os.Setenv("GOOS", "darwin") |
||||
os.Setenv("GOARCH", "arm64") |
||||
os.Setenv("CGO_ENABLED", "1") |
||||
os.Setenv("CC", "clang") |
||||
|
||||
cmd := exec.Command("go", "build", "-buildmode=c-shared", "-o", outPath+"/"+soName+".dylib", ".") |
||||
cmd.Dir = goSrc |
||||
cmd.Env = os.Environ() |
||||
|
||||
if err := cmd.Run(); err != nil { |
||||
fmt.Printf("Failed to build for iOS: %v\n", err) |
||||
return err |
||||
} |
||||
fmt.Println("Build for iOS completed successfully.") |
||||
return nil |
||||
} |
||||
|
||||
// BuildLinux compiles the project for Linux.
|
||||
func BuildLinux() error { |
||||
fmt.Println("Building for Linux...") |
||||
|
||||
outPath += "linux" |
||||
|
||||
os.Setenv("GOOS", "linux") |
||||
os.Setenv("GOARCH", "amd64") |
||||
os.Setenv("CGO_ENABLED", "1") |
||||
os.Setenv("CC", "gcc") //
|
||||
|
||||
cmd := exec.Command("go", "build", "-buildmode=c-shared", "-trimpath", "-ldflags=-s -w", "-o", outPath+"/"+soName+".so", ".") |
||||
cmd.Dir = goSrc |
||||
cmd.Env = os.Environ() |
||||
cmd.Stderr = os.Stderr |
||||
cmd.Stdout = os.Stdout |
||||
|
||||
if err := cmd.Run(); err != nil { |
||||
fmt.Printf("Failed to build for Linux: %v\n", err) |
||||
return err |
||||
} |
||||
fmt.Println("Build for Linux completed successfully.") |
||||
return nil |
||||
} |
||||
|
||||
// BuildWindows compiles the project for Windows.
|
||||
func BuildWindows() error { |
||||
fmt.Println("Building for Windows...") |
||||
|
||||
outPath += "windows" |
||||
|
||||
os.Setenv("GOOS", "windows") |
||||
os.Setenv("GOARCH", "amd64") |
||||
os.Setenv("CGO_ENABLED", "1") |
||||
os.Setenv("CC", "gcc") |
||||
|
||||
cmd := exec.Command("go", "build", "-buildmode=c-shared", "-trimpath", "-ldflags=-s -w", "-o", outPath+"/"+soName+".dll", ".") |
||||
cmd.Dir = goSrc |
||||
cmd.Env = os.Environ() |
||||
cmd.Stderr = os.Stderr |
||||
cmd.Stdout = os.Stdout |
||||
|
||||
if err := cmd.Run(); err != nil { |
||||
fmt.Printf("Failed to build for Windows: %v\n", err) |
||||
return err |
||||
} |
||||
fmt.Println("Build for Windows completed successfully.") |
||||
return nil |
||||
} |
||||
|
||||
// buildAndroid builds the Android library for the specified architecture.
|
||||
func buildAndroid(aOutPath, arch, apiLevel string) error { |
||||
fmt.Printf("Building for %s...\n", arch) |
||||
|
||||
ndkPath := os.Getenv("ANDROID_NDK_HOME") |
||||
osSuffix := "" |
||||
if runtime.GOOS == "windows" { |
||||
osSuffix = ".cmd" //
|
||||
} |
||||
|
||||
ccBasePath := ndkPath + "/toolchains/llvm/prebuilt/" + runtime.GOOS + "-x86_64/bin/" |
||||
|
||||
var cc string |
||||
switch arch { |
||||
case "arm": |
||||
cc = ccBasePath + "armv7a-linux-androideabi" + apiLevel + "-clang" + osSuffix |
||||
case "arm64": |
||||
cc = ccBasePath + "aarch64-linux-android" + apiLevel + "-clang" + osSuffix |
||||
case "386": |
||||
cc = ccBasePath + "i686-linux-android" + apiLevel + "-clang" + osSuffix |
||||
case "amd64": |
||||
cc = ccBasePath + "x86_64-linux-android" + apiLevel + "-clang" + osSuffix |
||||
} |
||||
|
||||
env := []string{ |
||||
"CGO_ENABLED=1", |
||||
"GOOS=android", |
||||
"GOARCH=" + arch, |
||||
"CC=" + cc, |
||||
} |
||||
cmd := exec.Command("go", "build", "-buildmode=c-shared", "-trimpath", "-ldflags=-s -w", "-o", aOutPath+"/"+arch+"/"+soName+".so", ".") |
||||
cmd.Stderr = os.Stderr |
||||
cmd.Stdout = os.Stdout |
||||
cmd.Dir = goSrc |
||||
cmd.Env = append(os.Environ(), env...) |
||||
return cmd.Run() |
||||
} |
@ -0,0 +1,3 @@ |
||||
gcc -o test.exe -L. openimsdk.dll test.c |
||||
|
||||
::gcc -o test.exe -L ../../shared/windows -l libopenimsdk test.c |
@ -0,0 +1,32 @@ |
||||
set NDK_PATH=D:\android_sdk\ndk-bundle |
||||
set SO_NAME=libopenimsdk |
||||
set OUT_PATH=android\ |
||||
|
||||
set CGO_ENABLED=1 |
||||
|
||||
REM Generate armeabi-v7a |
||||
set GOOS=android |
||||
set GOARCH=arm |
||||
set CC=%NDK_PATH%\toolchains\llvm\prebuilt\windows-x86_64\bin\armv7a-linux-androideabi16-clang.cmd |
||||
|
||||
go build -buildmode=c-shared -trimpath -ldflags="-s -w" -o %OUT_PATH%armeabi-v7a%SO_NAME%.so export.go constant.go protocol.go tools.go |
||||
|
||||
REM Generate arm64-v8a |
||||
set GOARCH=arm64 |
||||
set CC=%NDK_PATH%\toolchains\llvm\prebuilt\windows-x86_64\bin\aarch64-linux-android21-clang.cmd |
||||
|
||||
go build -buildmode=c-shared -trimpath -ldflags="-s -w" -o %OUT_PATH%arm64-v8a%SO_NAME%.so export.go constant.go protocol.go tools.go |
||||
|
||||
REM Generate x86 |
||||
set GOARCH=386 |
||||
set CC=%NDK_PATH%\toolchains\llvm\prebuilt\windows-x86_64\bin\i686-linux-android16-clang.cmd |
||||
|
||||
go build -buildmode=c-shared -trimpath -ldflags="-s -w" -o %OUT_PATH%x86%SO_NAME%.so export.go constant.go protocol.go tools.go |
||||
|
||||
REM Generate x86_64 |
||||
set GOARCH=amd64 |
||||
set CC=%NDK_PATH%\toolchains\llvm\prebuilt\windows-x86_64\bin\x86_64-linux-android21-clang.cmd |
||||
|
||||
go build -buildmode=c-shared -trimpath -ldflags="-s -w" -o %OUT_PATH%x86_64%SO_NAME%.so export.go constant.go protocol.go tools.go |
||||
|
||||
|
@ -1,92 +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 scripts 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 scripts 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 |
||||
} |
||||
|
||||
# TODO: go-gitlint dir set |
||||
OPENIM_ROOT=$(dirname "${BASH_SOURCE[0]}")/../.. |
||||
GITLINT_DIR="$OPENIM_ROOT/_output/tools/go-gitlint" |
||||
|
||||
$GITLINT_DIR \ |
||||
--msg-file=$1 \ |
||||
--subject-regex="^(build|chore|ci|docs|feat|feature|fix|perf|refactor|revert|style|bot|test)(.*)?:\s?.*" \ |
||||
--subject-maxlen=150 \ |
||||
--subject-minlen=10 \ |
||||
--body-regex=".*" \ |
||||
--max-parents=1 |
||||
|
||||
if [ $? -ne 0 ] |
||||
then |
||||
if ! command -v $GITLINT_DIR &>/dev/null; then |
||||
printError "$GITLINT_DIR not found. Please run 'make tools' OR 'make tools.verify.go-gitlint' make verto install it." |
||||
fi |
||||
printError "Please fix your commit message to match kubecub coding standards" |
||||
printError "https://gist.github.com/cubxxw/126b72104ac0b0ca484c9db09c3e5694#file-githook-md" |
||||
exit 1 |
||||
fi |
||||
|
||||
### Add Sign-off-by line to the end of the commit message |
||||
# Get local git config |
||||
NAME=$(git config user.name) |
||||
EMAIL=$(git config user.email) |
||||
|
||||
# Check if the commit message contains a sign-off line |
||||
grep -qs "^Signed-off-by: " "$1" |
||||
SIGNED_OFF_BY_EXISTS=$? |
||||
|
||||
# Add "Signed-off-by" line if it doesn't exist |
||||
if [ $SIGNED_OFF_BY_EXISTS -ne 0 ]; then |
||||
echo -e "\nSigned-off-by: $NAME <$EMAIL>" >> "$1" |
||||
fi |
@ -1,92 +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 scripts 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 scripts 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 |
||||
} |
||||
|
||||
# TODO: go-gitlint dir set |
||||
OPENIM_ROOT=$(dirname "${BASH_SOURCE[0]}")/../.. |
||||
GITLINT_DIR="$OPENIM_ROOT/_output/tools/go-gitlint" |
||||
|
||||
$GITLINT_DIR \ |
||||
--msg-file=$1 \ |
||||
--subject-regex="^(build|chore|ci|docs|feat|feature|fix|perf|refactor|revert|style|bot|test)(.*)?:\s?.*" \ |
||||
--subject-maxlen=150 \ |
||||
--subject-minlen=10 \ |
||||
--body-regex=".*" \ |
||||
--max-parents=1 |
||||
|
||||
if [ $? -ne 0 ] |
||||
then |
||||
if ! command -v $GITLINT_DIR &>/dev/null; then |
||||
printError "$GITLINT_DIR not found. Please run 'make tools' OR 'make tools.verify.go-gitlint' make verto install it." |
||||
fi |
||||
printError "Please fix your commit message to match kubecub coding standards" |
||||
printError "https://gist.github.com/cubxxw/126b72104ac0b0ca484c9db09c3e5694#file-githook-md" |
||||
exit 1 |
||||
fi |
||||
|
||||
### Add Sign-off-by line to the end of the commit message |
||||
# Get local git config |
||||
NAME=$(git config user.name) |
||||
EMAIL=$(git config user.email) |
||||
|
||||
# Check if the commit message contains a sign-off line |
||||
grep -qs "^Signed-off-by: " "$1" |
||||
SIGNED_OFF_BY_EXISTS=$? |
||||
|
||||
# Add "Signed-off-by" line if it doesn't exist |
||||
if [ $SIGNED_OFF_BY_EXISTS -ne 0 ]; then |
||||
echo -e "\nSigned-off-by: $NAME <$EMAIL>" >> "$1" |
||||
fi |
@ -1,111 +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. |
||||
# |
||||
# ============================================================================== |
||||
# This is a pre-commit hook that ensures attempts to commit files that are |
||||
# are larger than $limit to your _local_ repo fail, with a helpful error message. |
||||
|
||||
# You can override the default limit of 2MB by supplying the environment variable: |
||||
# GIT_FILE_SIZE_LIMIT=50000000 git commit -m "test: this commit is allowed file sizes up to 50MB" |
||||
# |
||||
# ============================================================================== |
||||
# |
||||
|
||||
LC_ALL=C |
||||
|
||||
local_branch="$(git rev-parse --abbrev-ref HEAD)" |
||||
valid_branch_regex="^(main|master|develop|release(-[a-zA-Z0-9._-]+)?)$|(feature|feat|openim|hotfix|test|bug|bot|refactor|revert|ci|cicd|style|)\/[a-z0-9._-]+$|^HEAD$" |
||||
|
||||
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/cubxxw/126b72104ac0b0ca484c9db09c3e5694#file-githook-md |
||||
# TODO! GIT_FILE_SIZE_LIMIT=50000000 git commit -m "test: this commit is allowed file sizes up to 50MB" |
||||
# Maximum file size limit in bytes |
||||
limit=${GIT_FILE_SIZE_LIMIT:-2000000} # Default 2MB |
||||
limitInMB=$(( $limit / 1000000 )) |
||||
|
||||
function file_too_large(){ |
||||
filename=$0 |
||||
filesize=$(( $1 / 2**20 )) |
||||
|
||||
cat <<HEREDOC |
||||
|
||||
File $filename is $filesize MB, which is larger than github's maximum |
||||
file size (2 MB). We will not be able to push this file to GitHub. |
||||
Commit aborted |
||||
|
||||
HEREDOC |
||||
git status |
||||
|
||||
} |
||||
|
||||
# Move to the repo root so git files paths make sense |
||||
repo_root=$( git rev-parse --show-toplevel ) |
||||
cd $repo_root |
||||
|
||||
empty_tree=$( git hash-object -t tree /dev/null ) |
||||
|
||||
if git rev-parse --verify HEAD > /dev/null 2>&1 |
||||
then |
||||
against=HEAD |
||||
else |
||||
against="$empty_tree" |
||||
fi |
||||
|
||||
# Set split so that for loop below can handle spaces in file names by splitting on line breaks |
||||
IFS=' |
||||
' |
||||
|
||||
shouldFail=false |
||||
for file in $( git diff-index --cached --name-only $against ); do |
||||
file_size=$(([ ! -f $file ] && echo 0) || (ls -la $file | awk '{ print $5 }')) |
||||
if [ "$file_size" -gt "$limit" ]; then |
||||
printError "File $file is $(( $file_size / 10**6 )) MB, which is larger than our configured limit of $limitInMB MB" |
||||
shouldFail=true |
||||
fi |
||||
done |
||||
|
||||
if $shouldFail |
||||
then |
||||
printMessage "If you really need to commit this file, you can override the size limit by setting the GIT_FILE_SIZE_LIMIT environment variable, e.g. GIT_FILE_SIZE_LIMIT=42000000 for 42MB. Or, commit with the --no-verify switch to skip the check entirely." |
||||
printError "Commit aborted" |
||||
exit 1; |
||||
fi |
||||
|
||||
if [[ ! $local_branch =~ $valid_branch_regex ]] |
||||
then |
||||
printError "There is something wrong with your branch name. Branch names in this project must adhere to this contract: $valid_branch_regex. |
||||
Your commit will be rejected. You should rename your branch to a valid name(feat/name OR bug/name) and try again." |
||||
printError "For more on this, read on: https://gist.github.com/cubxxw/126b72104ac0b0ca484c9db09c3e5694" |
||||
exit 1 |
||||
fi |
@ -1,111 +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. |
||||
# |
||||
# ============================================================================== |
||||
# This is a pre-commit hook that ensures attempts to commit files that are |
||||
# are larger than $limit to your _local_ repo fail, with a helpful error message. |
||||
|
||||
# You can override the default limit of 2MB by supplying the environment variable: |
||||
# GIT_FILE_SIZE_LIMIT=50000000 git commit -m "test: this commit is allowed file sizes up to 50MB" |
||||
# |
||||
# ============================================================================== |
||||
# |
||||
|
||||
LC_ALL=C |
||||
|
||||
local_branch="$(git rev-parse --abbrev-ref HEAD)" |
||||
valid_branch_regex="^(main|master|develop|release(-[a-zA-Z0-9._-]+)?)$|(feature|feat|openim|hotfix|test|bug|bot|refactor|revert|ci|cicd|style|)\/[a-z0-9._-]+$|^HEAD$" |
||||
|
||||
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/cubxxw/126b72104ac0b0ca484c9db09c3e5694#file-githook-md |
||||
# TODO! GIT_FILE_SIZE_LIMIT=50000000 git commit -m "test: this commit is allowed file sizes up to 50MB" |
||||
# Maximum file size limit in bytes |
||||
limit=${GIT_FILE_SIZE_LIMIT:-2000000} # Default 2MB |
||||
limitInMB=$(( $limit / 1000000 )) |
||||
|
||||
function file_too_large(){ |
||||
filename=$0 |
||||
filesize=$(( $1 / 2**20 )) |
||||
|
||||
cat <<HEREDOC |
||||
|
||||
File $filename is $filesize MB, which is larger than github's maximum |
||||
file size (2 MB). We will not be able to push this file to GitHub. |
||||
Commit aborted |
||||
|
||||
HEREDOC |
||||
git status |
||||
|
||||
} |
||||
|
||||
# Move to the repo root so git files paths make sense |
||||
repo_root=$( git rev-parse --show-toplevel ) |
||||
cd $repo_root |
||||
|
||||
empty_tree=$( git hash-object -t tree /dev/null ) |
||||
|
||||
if git rev-parse --verify HEAD > /dev/null 2>&1 |
||||
then |
||||
against=HEAD |
||||
else |
||||
against="$empty_tree" |
||||
fi |
||||
|
||||
# Set split so that for loop below can handle spaces in file names by splitting on line breaks |
||||
IFS=' |
||||
' |
||||
|
||||
shouldFail=false |
||||
for file in $( git diff-index --cached --name-only $against ); do |
||||
file_size=$(([ ! -f $file ] && echo 0) || (ls -la $file | awk '{ print $5 }')) |
||||
if [ "$file_size" -gt "$limit" ]; then |
||||
printError "File $file is $(( $file_size / 10**6 )) MB, which is larger than our configured limit of $limitInMB MB" |
||||
shouldFail=true |
||||
fi |
||||
done |
||||
|
||||
if $shouldFail |
||||
then |
||||
printMessage "If you really need to commit this file, you can override the size limit by setting the GIT_FILE_SIZE_LIMIT environment variable, e.g. GIT_FILE_SIZE_LIMIT=42000000 for 42MB. Or, commit with the --no-verify switch to skip the check entirely." |
||||
printError "Commit aborted" |
||||
exit 1; |
||||
fi |
||||
|
||||
if [[ ! $local_branch =~ $valid_branch_regex ]] |
||||
then |
||||
printError "There is something wrong with your branch name. Branch names in this project must adhere to this contract: $valid_branch_regex. |
||||
Your commit will be rejected. You should rename your branch to a valid name(feat/name OR fix/name) and try again." |
||||
printError "For more on this, read on: https://gist.github.com/cubxxw/126b72104ac0b0ca484c9db09c3e5694" |
||||
exit 1 |
||||
fi |
@ -1,119 +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. |
||||
# |
||||
# ============================================================================== |
||||
# |
||||
|
||||
YELLOW="\e[93m" |
||||
GREEN="\e[32m" |
||||
RED="\e[31m" |
||||
ENDCOLOR="\e[0m" |
||||
|
||||
local_branch="$(git rev-parse --abbrev-ref HEAD)" |
||||
valid_branch_regex="^(main|master|develop|release(-[a-zA-Z0-9._-]+)?)$|(feature|feat|openim|hotfix|test|bug|ci|cicd|style|)\/[a-z0-9._-]+$|^HEAD$" |
||||
|
||||
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-push hook." |
||||
|
||||
if [[ `git status --porcelain` ]]; then |
||||
printError "This scripts needs to run against committed code only. Please commit or stash you changes." |
||||
exit 1 |
||||
fi |
||||
|
||||
COLOR_SUFFIX="\033[0m" |
||||
|
||||
BLACK_PREFIX="\033[30m" |
||||
RED_PREFIX="\033[31m" |
||||
GREEN_PREFIX="\033[32m" |
||||
BACKGROUND_GREEN="\033[33m" |
||||
BLUE_PREFIX="\033[34m" |
||||
PURPLE_PREFIX="\033[35m" |
||||
SKY_BLUE_PREFIX="\033[36m" |
||||
WHITE_PREFIX="\033[37m" |
||||
BOLD_PREFIX="\033[1m" |
||||
UNDERLINE_PREFIX="\033[4m" |
||||
ITALIC_PREFIX="\033[3m" |
||||
|
||||
# Function to print colored text |
||||
print_color() { |
||||
local text=$1 |
||||
local color=$2 |
||||
echo -e "${color}${text}${COLOR_SUFFIX}" |
||||
} |
||||
|
||||
# Function to print section separator |
||||
print_separator() { |
||||
print_color "==========================================================" ${PURPLE_PREFIX} |
||||
} |
||||
|
||||
# Get current time |
||||
time=$(date +"%Y-%m-%d %H:%M:%S") |
||||
|
||||
# Print section separator |
||||
print_separator |
||||
|
||||
# Print time of submission |
||||
print_color "PTIME: ${time}" "${BOLD_PREFIX}${CYAN_PREFIX}" |
||||
echo "" |
||||
author=$(git config user.name) |
||||
repository=$(basename -s .git $(git config --get remote.origin.url)) |
||||
|
||||
# Print additional information if needed |
||||
print_color "Repository: ${repository}" "${BLUE_PREFIX}" |
||||
echo "" |
||||
|
||||
print_color "Author: ${author}" "${PURPLE_PREFIX}" |
||||
|
||||
# Print section separator |
||||
print_separator |
||||
|
||||
file_list=$(git diff --name-status HEAD @{u}) |
||||
added_files=$(grep -c '^A' <<< "$file_list") |
||||
modified_files=$(grep -c '^M' <<< "$file_list") |
||||
deleted_files=$(grep -c '^D' <<< "$file_list") |
||||
|
||||
print_color "Added Files: ${added_files}" "${BACKGROUND_GREEN}" |
||||
print_color "Modified Files: ${modified_files}" "${BACKGROUND_GREEN}" |
||||
print_color "Deleted Files: ${deleted_files}" "${BACKGROUND_GREEN}" |
||||
|
||||
if [[ ! $local_branch =~ $valid_branch_regex ]] |
||||
then |
||||
printError "There is something wrong with your branch name. Branch names in this project must adhere to this contract: $valid_branch_regex. |
||||
Your commit will be rejected. You should rename your branch to a valid name(feat/name OR bug/name) and try again." |
||||
printError "For more on this, read on: https://gist.github.com/cubxxw/126b72104ac0b0ca484c9db09c3e5694" |
||||
exit 1 |
||||
fi |
||||
|
||||
# |
||||
#printMessage "Running the Flutter analyzer" |
||||
#flutter analyze |
||||
# |
||||
#if [ $? -ne 0 ]; then |
||||
# printError "Flutter analyzer error" |
||||
# exit 1 |
||||
#fi |
||||
# |
||||
#printMessage "Finished running the Flutter analyzer" |
@ -1,119 +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. |
||||
# |
||||
# ============================================================================== |
||||
# |
||||
|
||||
YELLOW="\e[93m" |
||||
GREEN="\e[32m" |
||||
RED="\e[31m" |
||||
ENDCOLOR="\e[0m" |
||||
|
||||
local_branch="$(git rev-parse --abbrev-ref HEAD)" |
||||
valid_branch_regex="^(main|master|develop|release(-[a-zA-Z0-9._-]+)?)$|(feature|feat|openim|hotfix|test|bug|ci|cicd|style|)\/[a-z0-9._-]+$|^HEAD$" |
||||
|
||||
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-push hook." |
||||
|
||||
if [[ $(git status --porcelain) ]]; then |
||||
printError "This scripts needs to run against committed code only. Please commit or stash you changes." |
||||
exit 1 |
||||
fi |
||||
|
||||
COLOR_SUFFIX="\033[0m" |
||||
|
||||
BLACK_PREFIX="\033[30m" |
||||
RED_PREFIX="\033[31m" |
||||
GREEN_PREFIX="\033[32m" |
||||
BACKGROUND_GREEN="\033[33m" |
||||
BLUE_PREFIX="\033[34m" |
||||
PURPLE_PREFIX="\033[35m" |
||||
SKY_BLUE_PREFIX="\033[36m" |
||||
WHITE_PREFIX="\033[37m" |
||||
BOLD_PREFIX="\033[1m" |
||||
UNDERLINE_PREFIX="\033[4m" |
||||
ITALIC_PREFIX="\033[3m" |
||||
|
||||
# Function to print colored text |
||||
print_color() { |
||||
local text=$1 |
||||
local color=$2 |
||||
echo -e "${color}${text}${COLOR_SUFFIX}" |
||||
} |
||||
|
||||
# Function to print section separator |
||||
print_separator() { |
||||
print_color "==========================================================" ${PURPLE_PREFIX} |
||||
} |
||||
|
||||
# Get current time |
||||
time=$(date +"%Y-%m-%d %H:%M:%S") |
||||
|
||||
# Print section separator |
||||
print_separator |
||||
|
||||
# Print time of submission |
||||
print_color "PTIME: ${time}" "${BOLD_PREFIX}${CYAN_PREFIX}" |
||||
echo "" |
||||
author=$(git config user.name) |
||||
repository=$(basename -s .git $(git config --get remote.origin.url)) |
||||
|
||||
# Print additional information if needed |
||||
print_color "Repository: ${repository}" "${BLUE_PREFIX}" |
||||
echo "" |
||||
|
||||
print_color "Author: ${author}" "${PURPLE_PREFIX}" |
||||
|
||||
# Print section separator |
||||
print_separator |
||||
|
||||
file_list=$(git diff --name-status HEAD @{u}) |
||||
added_files=$(grep -c '^A' <<< "$file_list") |
||||
modified_files=$(grep -c '^M' <<< "$file_list") |
||||
deleted_files=$(grep -c '^D' <<< "$file_list") |
||||
|
||||
print_color "Added Files: ${added_files}" "${BACKGROUND_GREEN}" |
||||
print_color "Modified Files: ${modified_files}" "${BACKGROUND_GREEN}" |
||||
print_color "Deleted Files: ${deleted_files}" "${BACKGROUND_GREEN}" |
||||
|
||||
if [[ ! $local_branch =~ $valid_branch_regex ]] |
||||
then |
||||
printError "There is something wrong with your branch name. Branch names in this project must adhere to this contract: $valid_branch_regex. |
||||
Your commit will be rejected. You should rename your branch to a valid name(feat/name OR fix/name) and try again." |
||||
printError "For more on this, read on: https://gist.github.com/cubxxw/126b72104ac0b0ca484c9db09c3e5694" |
||||
exit 1 |
||||
fi |
||||
|
||||
# |
||||
#printMessage "Running the Flutter analyzer" |
||||
#flutter analyze |
||||
# |
||||
#if [ $? -ne 0 ]; then |
||||
# printError "Flutter analyzer error" |
||||
# exit 1 |
||||
#fi |
||||
# |
||||
#printMessage "Finished running the Flutter analyzer" |
@ -0,0 +1 @@ |
||||
# openim-sdk-cpp |
@ -0,0 +1 @@ |
||||
# openim-sdk-cpp |
@ -0,0 +1 @@ |
||||
# openim-sdk-cpp |
@ -0,0 +1 @@ |
||||
# openim-sdk-cpp |
Loading…
Reference in new issue