同步操作将从 APITable/APITable 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
.DEFAULT_GOAL := helpPATH := node_modules/.bin:$(PATH)SHELL := /bin/bashifndef UIDUID := $(shell id -u)export UIDendififndef GIDGID := $(shell id -g)export GIDendififndef ENV_FILEENV_FILE := .envexport ENV_FILEendififndef DEVENV_FILEDEVENV_FILE := .env.devenvexport DEVENV_FILEendififndef DATA_PATHDATA_PATH := ./export DATA_PATHendififndef DEVENV_PROJECT_NAMEDEVENV_PROJECT_NAME := apitable-devenvexport DEVENV_PROJECT_NAMEendif_DATAENV := docker compose --env-file $$ENV_FILE -p $$DEVENV_PROJECT_NAME -f docker-compose.yaml -f docker-compose.dataenv.yaml_DEVENV := docker compose --env-file $$ENV_FILE -p $$DEVENV_PROJECT_NAME -f docker-compose.devenv.yamlOS_NAME := $(shell uname -s | tr A-Z a-z)ifeq ($(OS_NAME), darwin)# macOS don't set user for some priviliges problemRUNNER := $(_DEVENV) run --rmelse# Not foundRUNNER := $(_DEVENV) run --rm --user $$UID:$$GIDendifBUILDER := docker buildx bakettt:echo $(OS_NAME)echo $(RUNNER)SEMVER3 := $(shell cat .version)define ANNOUNCE_BODY_____ _____ _______ _ _/\ | __ \_ _|__ __| | | | |/ \ | |__) || | | | __ _| |__ | | ___/ /\ \ | ___/ | | | |/ _` | '_ \| |/ _ \/ ____ \| | _| |_ | | (_| | |_) | | __//_/ \_\_| |_____| |_|\__,_|_.__/|_|\___|APITable Makefile $(SEMVER3)================================================================endefexport ANNOUNCE_BODY# define standard colorsifneq (,$(findstring xterm,${TERM}))BLACK := $(shell tput -Txterm setaf 0)RED := $(shell tput -Txterm setaf 1)GREEN := $(shell tput -Txterm setaf 2)YELLOW := $(shell tput -Txterm setaf 3)LIGHTPURPLE := $(shell tput -Txterm setaf 4)PURPLE := $(shell tput -Txterm setaf 5)BLUE := $(shell tput -Txterm setaf 6)WHITE := $(shell tput -Txterm setaf 7)RESET := $(shell tput -Txterm sgr0)elseBLACK := ""RED := ""GREEN := ""YELLOW := ""LIGHTPURPLE := ""PURPLE := ""BLUE := ""WHITE := ""RESET := ""endif################################ buildbuild: ## buildmake build-localbuild-local:make _build-javamake _build-roommake _build-web_build-web:yarn workspaces focus @apitable/core @apitable/i18n-lang @apitable/icons @apitable/components @apitable/widget-sdk @apitable/datasheet rootyarn build:dst_build-java:cd backend-server && ./gradlew build -x test --stacktrace_build-core: ## build coreyarn workspaces focus @apitable/core @apitable/i18n-lang rootyarn build:i18nyarn build:core_build-room: ## build room serveryarn workspaces focus @apitable/room-server rootyarn build:sr################################ testtest: ## do test, unit tests, integration tests and so on.make _test-ut-core-covtest-e2e: ## start integration testsyarn cy:runtest-e2e-open: ## start and debug integration testsyarn cy:open###### 【core unit test】 ######_test-ut-core:make _build-coreyarn test:core_test-ut-core-cov:make _build-coreyarn test:core:cov###### 【core unit test】 ############ 【room server unit test】 ######SIKP_INITDB=false_test_init_db:@echo "${YELLOW}init-db initializing..${RESET}"docker compose -f docker-compose.unit-test.yaml run -u $(shell id -u):$(shell id -g) --rm \-e DB_HOST=test-mysql \test-initdb@echo "${GREEN}initialize unit test db completed...${RESET}"_test_clean: ## clean the docker in test stepdocker rm -fv $$(docker ps -a --filter "name=test-.*" --format "{{.ID}}") || true_test_dockers: ## run depends container in test stepdocker compose -f docker-compose.unit-test.yaml up -d test-mysql ;\docker compose -f docker-compose.unit-test.yaml up -d test-redis ;\docker compose -f docker-compose.unit-test.yaml up -d test-rabbitmqtest-ut-room-local:make _test_cleandocker compose -f docker-compose.unit-test.yaml up -d test-redis test-mysql test-rabbitmqifeq ($(SIKP_INITDB),false)sleep 20make _test_init_dbendifmake _build-roomMYSQL_HOST=127.0.0.1 MYSQL_PORT=3306 MYSQL_USERNAME=apitable MYSQL_PASSWORD=password MYSQL_DATABASE=apitable_test MYSQL_USE_SSL=false \DATABASE_TABLE_PREFIX=apitable_ \REDIS_HOST=127.0.0.1 REDIS_PORT=6379 REDIS_DB=4 REDIS_PASSWORD= \RABBITMQ_HOST=127.0.0.1 RABBITMQ_PORT=5672 RABBITMQ_USERNAME=apitable RABBITMQ_PASSWORD=password \INSTANCE_COUNT=1 APPLICATION_NAME=NEST_REST_SERVER \yarn test:ut:roommake _test_cleantest-ut-room-docker:@echo "${LIGHTPURPLE}Working dir, $(shell pwd)${RESET}"@echo "${LIGHTPURPLE}$$(docker compose version)${RESET}"make _test_cleanmake _test_dockerssleep 20make _test_init_dbdocker compose -f docker-compose.unit-test.yaml build unit-test-roomdocker compose -f docker-compose.unit-test.yaml run --rm \-e MYSQL_HOST=test-mysql \-e REDIS_HOST=test-redis \-e RABBITMQ_HOST=test-rabbitmq \unit-test-room yarn test:ut:room:cov@echo "${GREEN}finished unit test, clean up images...${RESET}"_generate_room_coverage:cd packages/room-native-apigrcov . --binary-path ./target/debug/deps/ -s . -t lcov --branch --ignore-not-existing --ignore '../*' --ignore "/*" -o target/coverage/tests.lcov_clean_room_coverage:if [ -d "./packages/room-server/coverage" ]; then \sudo chown -R $(shell id -u):$(shell id -g) ./packages/room-server/coverage; \fiif [ -d "./packages/room-native-api/coverage" ]; then \sudo chown -R $(shell id -u):$(shell id -g) ./packages/room-native-api/coverage; \fiif [ -d "./packages/room-native-api/target" ]; then \sudo chown -R $(shell id -u):$(shell id -g) ./packages/room-native-api/target; \fimake _test_cleanrm -fr ./packages/room-server/coverage || truerm -fr ./packages/room-native-api/coverage || truerm -fr ./packages/room-native-api/target || true###### 【backend server unit test】 ######test-ut-backend-docker:@echo "$$(docker compose version)"make _test_cleandocker compose -f docker-compose.ut-backend.yaml up -dmake test-ut-backend@echo "${GREEN}finished unit test, clean up images...${RESET}"make _test_cleantest-ut-backend:cd backend-server ;\DATABASE_TABLE_PREFIX=apitable_ \MYSQL_HOST=127.0.0.1 \MYSQL_PORT=3306 \MYSQL_USERNAME=apitable \MYSQL_PASSWORD=password \MYSQL_DATABASE=apitable_test \REDIS_HOST=127.0.0.1 \REDIS_PORT=6379 \REDIS_PASSWORD= \RABBITMQ_HOST=127.0.0.1 \RABBITMQ_PORT=5672 \RABBITMQ_USERNAME=apitable \RABBITMQ_PASSWORD=password \./gradlew testCodeCoverageReport --stacktrace###### 【backend server unit test】 ######buildpush-docker: ## build all and push all to hub.docker.io registryecho $$APITABLE_DOCKER_HUB_TOKEN | docker login -u apitable --password-stdin || true;\$(BUILDER) $(target) --push.PHONY: buildbuild-docker: ## build all containers$(BUILDER) $(target) --load.PHONY: _build-init-db_build-docker-init-db:$(BUILDER) init-db.PHONY: _build-backend-server_build-docker-backend-server:$(BUILDER) backend-server###### development environtments ######define RUN_LOCAL_TXTWhich service do you want to start run?1) backend-server2) room-server3) web-serverendefexport RUN_LOCAL_TXTdefine RUN_PERF_TXTWhich service do you want to start run?1) room-server / production mode / Clinic.js flamegraphendefexport RUN_PERF_TXT_check_env: ## check if .env files exists@FILE=$$ENV_FILE ;\if [ ! -f "$$FILE" ]; then \echo "$$FILE does not exist. Please 'make env' first" ;\exit 1 ;\firun: _check_env ## run local code to development environemnt with docker envmake run-local.PHONY: run-localrun-local: ## run services with local programming language envinroment@echo "$$RUN_LOCAL_TXT"@read -p "ENTER THE NUMBER: " SERVICE ;\if [ "$$SERVICE" = "1" ]; then make _run-local-backend-server; fi ;\if [ "$$SERVICE" = "2" ]; then make _run-local-room-server; fi ;\if [ "$$SERVICE" = "3" ]; then make _run-local-web-server; fi.PHONY: run-perfrun-perf: ## run services with local programming language envinroment for performance profiling@echo "$$RUN_PERF_TXT"@read -p "ENTER THE NUMBER: " SERVICE ;\if [ "$$SERVICE" = "1" ]; then make _run-perf-flame-local-room-server; fi_run-local-backend-server:source scripts/export-env.sh $$ENV_FILE;\source scripts/export-env.sh $$DEVENV_FILE;\cd backend-server ;\./gradlew build -x test ;\MYSQL_HOST=127.0.0.1 \REDIS_HOST=127.0.0.1 \RABBITMQ_HOST=127.0.0.1 \java -jar application/build/libs/application.jar_run-local-room-server:source scripts/export-env.sh $$ENV_FILE;\source scripts/export-env.sh $$DEVENV_FILE;\yarn start:room-server_run-perf-flame-local-room-server:source scripts/export-env.sh $$ENV_FILE;\source scripts/export-env.sh $$DEVENV_FILE;\yarn start:room-server:perf:flame_run-local-web-server:source scripts/export-env.sh $$ENV_FILE;\source scripts/export-env.sh $$DEVENV_FILE;\rm -rf packages/datasheet/web_build;\yarn sddefine DEVENV_TXTWhich devenv do you want to start run?0) UP ALL1) backend-server2) room-server3) web-serverendefexport DEVENV_TXT.PHONY: devenvdevenv: ## debug all devenv services with docker compose up -d@echo "$$DEVENV_TXT"@read -p "ENTER THE NUMBER: " DEVENV_NUMBER ;\if [ "$$DEVENV_NUMBER" = "0" ]; then make devenv-up; fi ;\if [ "$$DEVENV_NUMBER" = "1" ]; then make devenv-backend-server; fi ;\if [ "$$DEVENV_NUMBER" = "2" ]; then make devenv-room-server; fi ;\if [ "$$DEVENV_NUMBER" = "3" ]; then make devenv-web-server; fi.PHONY: devenv-updevenv-up:$(_DEVENV) up -d.PHONY: devenv-downdevenv-down: ## debug all devenv services with docker compose up -d$(_DEVENV) down -v --remove-orphansdevenv-logs: ## follow all devenv services logs$(_DEVENV) logs -fdevenv-ps:$(_DEVENV) ps.PHONY: devenv-backend-serverdevenv-backend-server:$(RUNNER) backend-server java -jar application/build/libs/application.jar.PHONY: devenv-web-serverdevenv-web-server:$(RUNNER) web-server sh -c "yarn install && yarn sd".PHONY: devenv-room-serverdevenv-room-server:$(RUNNER) room-server yarn start:room-server.PHONY: installinstall: install-local@echo 'Install Finished'.PHONY: install-localinstall-local: ## install all dependencies with local programming language environmentyarn install && yarn build:precd backend-server && ./gradlew build -x test --stacktrace.PHONY: install-dockerinstall-docker: _install-docker-web-server _install-docker-backend-server _install-docker-room-server ## install all dependencies with docker devenv@echo 'Install Finished'.PHONY: _install-docker-backend-server_install-docker-backend-server:$(RUNNER) backend-server ./gradlew build -x test.PHONY: _install-docker-web-server_install-docker-web-server:$(RUNNER) web-server sh -c "yarn install && yarn build:dst:pre".PHONY: _install-docker-room-server_install-docker-room-server:$(RUNNER) room-server sh -c "yarn install && yarn build:pre".PHONY:clean: ## clean and delete git ignore and dirty filesgit clean -fxd###### buildpush ####### bumpversion.PHONY: patchpatch: # bump version number patchdocker run --rm -it --user $(shell id -u):$(shell id -g) -v "$(shell pwd):/app" apitable/bumpversion:latest bumpversion patch.PHONY: minorminor: # bump version number patchdocker run --rm -it --user $(shell id -u):$(shell id -g) -v "$(shell pwd):/app" apitable/bumpversion:latest bumpversion minor.PHONY: majormajor: # bump version number patchdocker run --rm -it --user $(shell id -u):$(shell id -g) -v "$(shell pwd):/app" apitable/bumpversion:latest bumpversion major### data environement.PHONY: dataenvdataenv: _check_envmake dataenv-upDATAENV_SERVICES := mysql minio redis rabbitmq init-db init-appdata.PHONY: dataenv-updataenv-up: _dataenv-volumes$(_DATAENV) up -d $(DATAENV_SERVICES)_dataenv-volumes: ## create data folder with current user permissionsmkdir -p $$DATA_PATH/.data/mysql \$$DATA_PATH/.data/minio/data \$$DATA_PATH/.data/minio/config \$$DATA_PATH/.data/redis \$$DATA_PATH/.data/rabbitmq \dataenv-down:$(_DATAENV) down -v --remove-orphansdataenv-ps:$(_DATAENV) psdataenv-logs:$(_DATAENV) logs -f### production environment.PHONY: upup: _dataenv-volumes ## startup the application@echo "Please execute 'make pull' first to download & upgrade all images to your machine."docker compose up -d.PHONY: downdown: ## shutdown the applicationdocker compose down -v --remove-orphans.PHONY:psps: ## docker compose psdocker compose ps### docker stuffs.PHONY: pullpull: ## pull all containers and ready to updocker compose pull######################################## init-dbINIT_DB_DOCKER_PATH=apitable/init-dbdb-plan: ## init-db dry updatecd init-db ;\docker build -f Dockerfile . --tag=${INIT_DB_DOCKER_PATH}docker run --rm --env-file $$ENV_FILE -e ACTION=updateSQL ${INIT_DB_DOCKER_PATH}db-apply: ## init-db update database structure (use .env)cd init-db ;\docker build -f Dockerfile . --tag=${INIT_DB_DOCKER_PATH}docker run --rm --env-file $$ENV_FILE -e ACTION=update ${INIT_DB_DOCKER_PATH}changelog: ## make changelog with github api@read -p "GITHUB_TOKEN: " GITHUB_TOKEN;\read -p "FROM[default:latest-tag]: " GIT_FROM ;\read -p "TO[default:HEAD]: " GIT_TO ;\if [ "$$GIT_FROM" = "" ]; then GIT_FROM=$(shell git describe --tags $$(git rev-list --tags --max-count=1)) ; fi ;\if [ "$$GIT_TO" = "" ]; then GIT_TO=HEAD ; fi ;\echo "" ;\echo "FROM: $$GIT_FROM" ;\echo "TO: $$GIT_TO" ;\npx github-changelog-builder --token $$GITHUB_TOKEN -o apitable -r apitable -f $$GIT_FROM -t $$GIT_TO -a CHANGELOG.md.PHONY: l10n-apitable-cel10n-apitable-ce: move_setting_filebash ./scripts/language-generate.sh ./packages/i18n-lang/src ./packages/l10n/gen ./packages/l10n/base y ./packages/i18n-lang/src ./ ./packages/l10n/l10n-apitable-cebash ./scripts/l10n.sh ./packages/i18n-lang/src ./packages/l10n/gen ./packages/l10n/base ./packages/l10n/l10n-apitable-ce ./move_setting_file:@if [ -f ./packages/datasheet/.env.development ]; then \mv -f ./packages/datasheet/.env.development ./packages/datasheet/.env.development.origin; \fi@if [ -f ./packages/i18n-lang/src/config/strings.json ]; then \mv -f ./packages/i18n-lang/src/config/strings.json ./packages/i18n-lang/src/config/strings.origin.json; \fi@if [ -f ./packages/i18n-lang/src/config/language.manifest.json ]; then \mv -f ./packages/i18n-lang/src/config/language.manifest.json ./packages/i18n-lang/src/config/language.manifest.origin.json; \fi@if [ -f ./packages/core/src/config/api_tip_config.auto.json ]; then \mv -f ./packages/core/src/config/api_tip_config.auto.json ./packages/core/src/config/api_tip_config.auto.origin.json; \fi@if [ -f ./packages/core/src/config/emojis.auto.json ]; then \mv -f ./packages/core/src/config/emojis.auto.json ./packages/core/src/config/emojis.auto.origin.json; \fi@if [ -f ./enterprise/core/config/billing.auto.json ]; then \mv -f ./enterprise/core/config/billing.auto.json ./enterprise/core/config/billing.auto.origin.json; \fi@if [ -f ./packages/core/src/config/system_config.auto.json ]; then \mv -f ./packages/core/src/config/system_config.auto.json ./packages/core/src/config/system_config.auto.origin.json; \fi@if [ -f ./backend-server/application/src/main/resources/sysconfig/i18n/exception/messages.properties ]; then \mv -f ./backend-server/application/src/main/resources/sysconfig/i18n/exception/messages.properties ./backend-server/application/src/main/resources/sysconfig/i18n/exception/messages.properties.origin; \fi@if [ -f ./backend-server/application/src/main/resources/sysconfig/notification.json ]; then \mv -f ./backend-server/application/src/main/resources/sysconfig/notification.json ./backend-server/application/src/main/resources/sysconfig/notification.origin.json; \fi### help.PHONY: searchsearch:@echo " "@read -p "Search Command:" s; \echo && grep -E "$$s.*?## .*" $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "033円[36m%-30s033円[0m %s\n", $1,ドル $2ドル}';@echo ' ';@read -p "What do you want?>>" command; \make $$command;.PHONY: helphelp:@echo "$$ANNOUNCE_BODY"@echo ' ';@grep -E '^[0-9a-zA-Z-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "033円[36m%-30s033円[0m %s\n", $1,ドル $2ドル}';@echo ' '@read -p "What do you want?>> " command; \make $$command;
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。