docs(文档): 整理SIMCAE打包上传说明
This commit is contained in:
+4
-5
@@ -25,9 +25,8 @@ SimCAE Hub 的 Go API。
|
||||
|
||||
SDK 打包命令、两种打包模式、参数含义和输出位置,统一看:
|
||||
|
||||
../打包成SDK.md
|
||||
../updater打包成SDK.md
|
||||
|
||||
生成 SDK 后,把 Launcher、Updater、Bootstrap 和必要运行库放进业务软件
|
||||
根目录或 bin 目录,再把完整软件目录压缩上传到 SimCAE Hub 管理后台的
|
||||
发布包页面。服务端会生成 config/app_config.json,并在启用 Manifest 签名
|
||||
时生成 config/manifest_public_key.pem。
|
||||
生成 SDK 后,SDK 根目录里只带给 SIMCAE 发布人员看的 SIMCAE打包上传.md。
|
||||
后续如何把 Launcher、Updater、Bootstrap 和必要运行库放进业务软件、如何
|
||||
组装 Qt IFW 交付包并上传,以该文档为准。
|
||||
|
||||
+11
-20
@@ -10,14 +10,15 @@ param(
|
||||
$ErrorActionPreference = "Stop"
|
||||
|
||||
$RepoRoot = Split-Path -Parent $PSScriptRoot
|
||||
$DefaultSdkName = if ($IncludeQtRuntime) { "UpdateClientSDK-With-QtDll" } else { "UpdateClientSDK" }
|
||||
if ([string]::IsNullOrWhiteSpace($SourceDir)) {
|
||||
$SourceDir = Join-Path $RepoRoot "out/bin/Release"
|
||||
}
|
||||
if ([string]::IsNullOrWhiteSpace($OutputDir)) {
|
||||
$OutputDir = Join-Path $RepoRoot "dist/SimCAEHubUpdateClientSDK"
|
||||
$OutputDir = Join-Path $RepoRoot "dist/$DefaultSdkName"
|
||||
}
|
||||
if ([string]::IsNullOrWhiteSpace($ZipFile)) {
|
||||
$ZipFile = Join-Path $RepoRoot "dist/SimCAEHubUpdateClientSDK.zip"
|
||||
$ZipFile = Join-Path $RepoRoot "dist/$DefaultSdkName.zip"
|
||||
}
|
||||
|
||||
$source = (Resolve-Path $SourceDir).Path
|
||||
@@ -45,8 +46,7 @@ $binDir = Join-Path $OutputDir "bin"
|
||||
$configDir = Join-Path $OutputDir "config"
|
||||
$scriptsDir = Join-Path $OutputDir "scripts"
|
||||
$commonDir = Join-Path $OutputDir "Common"
|
||||
$docsDir = Join-Path $OutputDir "Docs"
|
||||
New-Item $binDir,$configDir,$scriptsDir,$commonDir,$docsDir -ItemType Directory -Force | Out-Null
|
||||
New-Item $binDir,$configDir,$scriptsDir,$commonDir -ItemType Directory -Force | Out-Null
|
||||
|
||||
$excludedTopLevel = @("config", "update", "update_temp", "manifest_public_key.pem")
|
||||
if (-not $IncludeDemoMainApp) { $excludedTopLevel += "MainApp.exe" }
|
||||
@@ -108,21 +108,12 @@ foreach ($commonFile in $commonSourceFiles) {
|
||||
Copy-Item $commonPath (Join-Path $commonDir $commonFile) -Force
|
||||
}
|
||||
|
||||
$docsSourceDir = Join-Path $RepoRoot "Docs"
|
||||
if (Test-Path $docsSourceDir) {
|
||||
Copy-Item (Join-Path $docsSourceDir "*") $docsDir -Recurse -Force
|
||||
}
|
||||
|
||||
$wordGuideSource = @($RepoRoot, $docsSourceDir) |
|
||||
Where-Object { Test-Path $_ } |
|
||||
ForEach-Object { Get-ChildItem $_ -File -Filter "*.docx" } |
|
||||
Where-Object { $_.Name -like "*SDK*.docx" -and $_.Name -notlike "~$*" } |
|
||||
Sort-Object Name |
|
||||
Select-Object -First 1
|
||||
if ($wordGuideSource) {
|
||||
Copy-Item $wordGuideSource.FullName (Join-Path $OutputDir $wordGuideSource.Name) -Force
|
||||
$sdkGuideName = [string]::Concat("SIMCAE", [char]0x6253, [char]0x5305, [char]0x4e0a, [char]0x4f20, ".md")
|
||||
$sdkGuideSource = Join-Path $RepoRoot $sdkGuideName
|
||||
if (Test-Path $sdkGuideSource) {
|
||||
Copy-Item $sdkGuideSource (Join-Path $OutputDir $sdkGuideName) -Force
|
||||
} else {
|
||||
Write-Warning "SDK Word guide is missing. Continue packaging with Markdown documents in Docs/."
|
||||
throw "SIMCAE packaging guide is missing: $sdkGuideSource"
|
||||
}
|
||||
|
||||
Copy-Item (Join-Path $PSScriptRoot "package-client.ps1") (Join-Path $scriptsDir "package-client.ps1") -Force
|
||||
@@ -137,8 +128,8 @@ Copy-Item (Join-Path $PSScriptRoot "install-sdk.ps1") (Join-Path $scriptsDir "in
|
||||
contains_demo_main_app = [bool]$IncludeDemoMainApp
|
||||
contains_qt_runtime = [bool]$IncludeQtRuntime
|
||||
contains_final_config = $false
|
||||
docs_entry = "Docs/01-客户端接入打包部署指南.md"
|
||||
word_guide_included = [bool]$wordGuideSource
|
||||
docs_entry = $sdkGuideName
|
||||
word_guide_included = $false
|
||||
integration_sources = $commonSourceFiles
|
||||
} | ConvertTo-Json -Depth 3 | Set-Content (Join-Path $OutputDir "sdk_manifest.json") -Encoding UTF8
|
||||
|
||||
|
||||
+13
-17
@@ -5,8 +5,8 @@ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
REPO_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
||||
|
||||
SOURCE_DIR="$REPO_ROOT/out/linux/bin"
|
||||
OUTPUT_DIR="$REPO_ROOT/dist/SimCAEHubUpdateClientSDK-linux"
|
||||
ARCHIVE_FILE="$REPO_ROOT/dist/SimCAEHubUpdateClientSDK-linux.tar.gz"
|
||||
OUTPUT_DIR="$REPO_ROOT/dist/UpdateClientSDK-linux"
|
||||
ARCHIVE_FILE="$REPO_ROOT/dist/UpdateClientSDK-linux.tar.gz"
|
||||
SDK_VERSION="0.1.0"
|
||||
INCLUDE_DEMO_MAIN_APP=0
|
||||
INCLUDE_QT_RUNTIME=0
|
||||
@@ -17,8 +17,8 @@ Usage: package-sdk.sh [options]
|
||||
|
||||
Options:
|
||||
--source-dir DIR Linux Release output directory. Default: ./out/linux/bin
|
||||
--output-dir DIR SDK directory to generate. Default: ./dist/SimCAEHubUpdateClientSDK-linux
|
||||
--archive FILE SDK tar.gz path. Default: ./dist/SimCAEHubUpdateClientSDK-linux.tar.gz
|
||||
--output-dir DIR SDK directory to generate. Default: ./dist/UpdateClientSDK-linux
|
||||
--archive FILE SDK tar.gz path. Default: ./dist/UpdateClientSDK-linux.tar.gz
|
||||
--sdk-version VERSION SDK version. Default: 0.1.0
|
||||
--include-demo-mainapp Include MainApp demo executable in SDK bin.
|
||||
--include-qt-runtime Include Qt runtime files from the Release output directory.
|
||||
@@ -58,7 +58,7 @@ if [[ -n "$DEBUG_ARTIFACT" ]]; then
|
||||
fi
|
||||
|
||||
rm -rf "$OUTPUT_DIR"
|
||||
mkdir -p "$OUTPUT_DIR/bin" "$OUTPUT_DIR/config" "$OUTPUT_DIR/scripts" "$OUTPUT_DIR/Common" "$OUTPUT_DIR/Docs"
|
||||
mkdir -p "$OUTPUT_DIR/bin" "$OUTPUT_DIR/config" "$OUTPUT_DIR/scripts" "$OUTPUT_DIR/Common"
|
||||
|
||||
is_qt_runtime_item() {
|
||||
local base="$1"
|
||||
@@ -103,17 +103,13 @@ for common_file in ConfigHelper.h ConfigHelper.cpp IntegrityHelper.h IntegrityHe
|
||||
cp "$common_path" "$OUTPUT_DIR/Common/$common_file"
|
||||
done
|
||||
|
||||
if [[ -d "$REPO_ROOT/Docs" ]]; then
|
||||
cp -a "$REPO_ROOT/Docs/." "$OUTPUT_DIR/Docs/"
|
||||
fi
|
||||
|
||||
WORD_GUIDE="$(find "$REPO_ROOT" "$REPO_ROOT/Docs" -maxdepth 1 -type f -name '*SDK*.docx' ! -name '~$*' 2>/dev/null | sort | sed -n '1p')"
|
||||
WORD_GUIDE_INCLUDED=false
|
||||
if [[ -n "$WORD_GUIDE" ]]; then
|
||||
cp "$WORD_GUIDE" "$OUTPUT_DIR/$(basename "$WORD_GUIDE")"
|
||||
WORD_GUIDE_INCLUDED=true
|
||||
SDK_GUIDE_NAME="SIMCAE打包上传.md"
|
||||
SDK_GUIDE_SOURCE="$REPO_ROOT/$SDK_GUIDE_NAME"
|
||||
if [[ -f "$SDK_GUIDE_SOURCE" ]]; then
|
||||
cp "$SDK_GUIDE_SOURCE" "$OUTPUT_DIR/$SDK_GUIDE_NAME"
|
||||
else
|
||||
echo "Warning: SDK Word guide is missing. Continue packaging with Markdown documents in Docs/." >&2
|
||||
echo "SIMCAE packaging guide is missing: $SDK_GUIDE_SOURCE" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cp "$SCRIPT_DIR/package-sdk.sh" "$OUTPUT_DIR/scripts/package-sdk.sh"
|
||||
@@ -135,8 +131,8 @@ cat > "$OUTPUT_DIR/sdk_manifest.json" <<EOF
|
||||
"contains_demo_main_app": $([[ "$INCLUDE_DEMO_MAIN_APP" -eq 1 ]] && echo true || echo false),
|
||||
"contains_qt_runtime": $([[ "$INCLUDE_QT_RUNTIME" -eq 1 ]] && echo true || echo false),
|
||||
"contains_final_config": false,
|
||||
"docs_entry": "Docs/01-客户端接入打包部署指南.md",
|
||||
"word_guide_included": $WORD_GUIDE_INCLUDED,
|
||||
"docs_entry": "$SDK_GUIDE_NAME",
|
||||
"word_guide_included": false,
|
||||
"integration_sources": [
|
||||
"ConfigHelper.h",
|
||||
"ConfigHelper.cpp",
|
||||
|
||||
Reference in New Issue
Block a user