GrabBag/GrabBagPrj/project_registry.sh

86 lines
3.3 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# =============================================================================
# 项目注册表 — 新增项目只需编辑此文件
# =============================================================================
#
# 命令:
# ./project_release.sh <项目名> 编译 + 打包 + 更新版本(最常用)
# ./project_pkg_desktop.sh <项目名> 仅打包桌面应用
# ./project_pkg_service.sh <项目名> 仅打包服务
# ./project_updateversion.sh <项目名> 仅更新版本号
# ./buildArmPrj.sh <项目名> 仅编译
#
# 格式: "项目名;算法目录名[;key=value;...]"
#
# 自动推导(无需手动填写):
# version_macro 大写(项目名) 例: GrabBag → GRABBAG
# 桌面 app_dir App/${name}/${name}App 例: App/GrabBag/GrabBagApp
# 服务 app_dir App/${name}/${name}Server 例: App/BeltTearing/BeltTearingServer
# 服务 package basename(app_dir) 例: BeltTearingServer
# 服务 service ${app_dir}/${slug}.service 例: belttearingserver.service
# 服务 config 存在即自动打包
# algo_copy glob|AppAlgo/${algo}/Arm/aarch64/*.so|usr/lib
# device_copy VzNLSDK非 VzNLSDK 时自动补为 optional
#
# 可选覆盖 (key=value):
# 通用: app_dir version_macro opencv device_copy(none=不复制) description comment
# 桌面: algo_copy extra_copy optional_copy ld_conf
# 服务: app_suffix(默认 Server)
# =============================================================================
SCRIPT_DIR="${SCRIPT_DIR:-$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)}"
source "${SCRIPT_DIR}/project_meta.sh"
COPY_VZNLSDK="glob|SDK/Device/VzNLSDK/Arm/aarch64/*.so|usr/lib"
# ===== 桌面项目 =====
DESKTOP_PROJECTS=(
"GrabBag;bagPosition"
"LapWeld;lapWeldDetection"
"Workpiece;workpieceCornerExtraction"
"ParticleSize;particleSizeMeasure"
"ScrewPosition;rodAndBarDetection"
"WorkpieceHole;workpieceHolePositioning"
"StatorPosition;motorStatorPosition"
"RodAndBarPosition;rodAndBarDetection"
"HolePitPosition;workpieceHolePositioning"
"WheelMeasure;wheelArchHeigthMeasure"
"BagThreadPosition;bagThreadPositioning;\
extra_copy=glob|SDK/Device/gl_linelaser_sdk/aarch64_linux/*.so|usr/lib"
"HoleDetection;holeDetection;\
algo_copy=globa|AppAlgo/holeDetection/arm/release/*.so*|usr/lib"
"TunnelChannel;channelSpaceMeasure;\
ld_conf=/usr/lib/HCNetSDKCom;\
extra_copy=globa|SDK/Device/HCNetSDK/Arm64/lib/*.so*|usr/lib;\
optional_copy=globa|SDK/Device/HCNetSDK/Arm64/lib/HCNetSDKCom/*.so*|usr/lib/HCNetSDKCom"
"WorkpiecePosition;binocularMark;\
app_dir=App/WorkpieceProject/WorkpiecePositionApp;\
version_macro=WORKPIECEPOSITION;\
opencv=opencv480;\
device_copy=globa|SDK/Device/EpicEye/lib/arm/*.so*|usr/lib"
"WorkpieceSplice;binocularMark;\
app_dir=App/WorkpieceProject/WorkpieceSpliceApp;\
version_macro=WORKPIECESPLICE;\
opencv=opencv480;\
device_copy=none"
)
# ===== 服务项目 =====
SERVICE_PROJECTS=(
"BeltTearing;beltTearing"
"BinocularMark;binocularMark;\
opencv=opencv480;\
device_copy=glob|SDK/Device/Galaxy/aarch64/lib/armv8/*|usr/lib"
)
# ===== 执行注册 =====
_register_desktop_projects
_register_service_projects