This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
$ErrorActionPreference = "Stop"
|
||||
|
||||
$scriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path
|
||||
$repoRoot = Resolve-Path (Join-Path $scriptDir "..")
|
||||
Set-Location $repoRoot
|
||||
|
||||
$pythonVersion = python -c "import sys; print('%d.%d.%d' % sys.version_info[:3])"
|
||||
Write-Host "Using Python: $pythonVersion"
|
||||
if ([version]$pythonVersion -lt [version]"3.10.0") {
|
||||
Write-Warning "Project target is Python 3.10+. Switch to a 3.10+ environment before official release builds."
|
||||
}
|
||||
$spec = Join-Path $repoRoot "cmshopee.spec"
|
||||
if (-not (Test-Path -LiteralPath $spec)) {
|
||||
throw "Missing cmshopee.spec"
|
||||
}
|
||||
|
||||
python -m PyInstaller --noconfirm --clean $spec
|
||||
|
||||
$distDir = Join-Path $repoRoot "dist\cmshopee"
|
||||
$exePath = Join-Path $distDir "cmshopee.exe"
|
||||
if (-not (Test-Path -LiteralPath $exePath)) {
|
||||
throw "Build failed: $exePath not found"
|
||||
}
|
||||
|
||||
$excluded = @(
|
||||
"config.json",
|
||||
"config\ai_models.json",
|
||||
"cmshopee.db",
|
||||
"cmshopee.db-wal",
|
||||
"cmshopee.db-shm",
|
||||
"db.sqlite",
|
||||
"chrome_user_data_dir",
|
||||
"images",
|
||||
"logs",
|
||||
"prompts",
|
||||
"title_prompt.txt"
|
||||
)
|
||||
|
||||
$found = @()
|
||||
foreach ($relative in $excluded) {
|
||||
$candidate = Join-Path $distDir $relative
|
||||
if (Test-Path -LiteralPath $candidate) {
|
||||
$found += $relative
|
||||
}
|
||||
}
|
||||
|
||||
if ($found.Count -gt 0) {
|
||||
throw "Build output contains local user data: $($found -join ', ')"
|
||||
}
|
||||
|
||||
Write-Host "Build complete: $exePath"
|
||||
Write-Host "Do not copy local data into the release package."
|
||||
|
||||
|
||||
Reference in New Issue
Block a user