Files
jiapuapp/design-pipeline/scripts/build-shared-scroll-skins.mjs
T
2026-07-22 17:31:38 +08:00

29 lines
1.2 KiB
JavaScript

import fs from 'node:fs'
import path from 'node:path'
import { fileURLToPath } from 'node:url'
import { validateAssetBuildManifest } from './asset-build-manifest.mjs'
import { resolvePythonExecutable, runPythonCommand } from './python-runtime.mjs'
const scriptDirectory = path.dirname(fileURLToPath(import.meta.url))
const pipelineDirectory = path.resolve(scriptDirectory, '..')
const workspace = path.resolve(pipelineDirectory, '..')
const manifestPath = path.join(pipelineDirectory, 'manifests', 'shared-scroll-skins-v3.json')
const reportPath = path.join(pipelineDirectory, 'generated', 'shared-scroll-skins-v3', 'quality-report.json')
const python = resolvePythonExecutable({ pipelineDirectory })
const manifest = JSON.parse(fs.readFileSync(manifestPath, 'utf8'))
validateAssetBuildManifest(manifest, workspace)
// Node 只负责编排锁定的清单和 Python 工具;像素处理与质量分析各自只有一个实现。
function run(script, args) {
runPythonCommand({
executable: python,
args: [path.join(scriptDirectory, script), ...args],
cwd: workspace,
})
}
run('build_scroll_skins.py', [manifestPath, '--workspace', workspace])
run('verify-assets.py', [manifestPath, '--workspace', workspace, '--report', reportPath])