build: collect frontend artifacts under output
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -4,6 +4,7 @@ builds
|
|||||||
.builds
|
.builds
|
||||||
bin
|
bin
|
||||||
out
|
out
|
||||||
|
output/
|
||||||
target
|
target
|
||||||
release
|
release
|
||||||
debug
|
debug
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ set -Eeuo pipefail
|
|||||||
|
|
||||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
PROJECT_ROOT="$(cd "${SCRIPT_DIR}/.." && pwd)"
|
PROJECT_ROOT="$(cd "${SCRIPT_DIR}/.." && pwd)"
|
||||||
|
OUTPUT_ROOT="${PROJECT_ROOT}/output"
|
||||||
|
|
||||||
require_command() {
|
require_command() {
|
||||||
local command_name="$1"
|
local command_name="$1"
|
||||||
@@ -18,6 +19,9 @@ build_project() {
|
|||||||
local project_name="$1"
|
local project_name="$1"
|
||||||
local project_dir="$2"
|
local project_dir="$2"
|
||||||
local package_manager="$3"
|
local package_manager="$3"
|
||||||
|
local build_output_dir="$4"
|
||||||
|
local output_name="$5"
|
||||||
|
local target_dir="${OUTPUT_ROOT}/${output_name}"
|
||||||
|
|
||||||
if [[ ! -f "${project_dir}/package.json" ]]; then
|
if [[ ! -f "${project_dir}/package.json" ]]; then
|
||||||
echo "未找到 ${project_name} 的 package.json:${project_dir}" >&2
|
echo "未找到 ${project_name} 的 package.json:${project_dir}" >&2
|
||||||
@@ -47,15 +51,52 @@ build_project() {
|
|||||||
esac
|
esac
|
||||||
)
|
)
|
||||||
echo "构建完成:${project_name}"
|
echo "构建完成:${project_name}"
|
||||||
|
|
||||||
|
if [[ ! -d "${project_dir}/${build_output_dir}" ]]; then
|
||||||
|
echo "${project_name} 构建产物不存在:${project_dir}/${build_output_dir}" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "${target_dir}" != "${OUTPUT_ROOT}/"* ]]; then
|
||||||
|
echo "拒绝清理非预期输出目录:${target_dir}" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -rf "${target_dir}"
|
||||||
|
mkdir -p "${target_dir}"
|
||||||
|
cp -R "${project_dir}/${build_output_dir}/." "${target_dir}/"
|
||||||
|
echo "产物已汇总:${target_dir}"
|
||||||
}
|
}
|
||||||
|
|
||||||
require_command pnpm
|
require_command pnpm
|
||||||
require_command npm
|
require_command npm
|
||||||
|
|
||||||
build_project "平台总后台" "${PROJECT_ROOT}/frontend/platform_admin" pnpm
|
mkdir -p "${OUTPUT_ROOT}"
|
||||||
build_project "气站管理后台" "${PROJECT_ROOT}/frontend/gas_admin" pnpm
|
|
||||||
build_project "配送点管理后台" "${PROJECT_ROOT}/frontend/delivery_admin" pnpm
|
build_project \
|
||||||
build_project "和气门户首页" "${PROJECT_ROOT}/frontend/site" npm
|
"平台总后台" \
|
||||||
|
"${PROJECT_ROOT}/frontend/platform_admin" \
|
||||||
|
pnpm \
|
||||||
|
dist \
|
||||||
|
platform
|
||||||
|
build_project \
|
||||||
|
"气站管理后台" \
|
||||||
|
"${PROJECT_ROOT}/frontend/gas_admin" \
|
||||||
|
pnpm \
|
||||||
|
dist \
|
||||||
|
gas
|
||||||
|
build_project \
|
||||||
|
"配送点管理后台" \
|
||||||
|
"${PROJECT_ROOT}/frontend/delivery_admin" \
|
||||||
|
pnpm \
|
||||||
|
dist \
|
||||||
|
delivery
|
||||||
|
build_project \
|
||||||
|
"和气门户首页" \
|
||||||
|
"${PROJECT_ROOT}/frontend/site" \
|
||||||
|
npm \
|
||||||
|
dist/client \
|
||||||
|
site
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo "四个前端项目全部构建完成。"
|
echo "四个前端项目全部构建完成,产物目录:${OUTPUT_ROOT}"
|
||||||
|
|||||||
Reference in New Issue
Block a user