UNPKG

@arkts/sdk-downloader

Version:
1 lines 3.88 kB
{"version":3,"file":"github-action.cjs","names":["SdkArch","SdkOS"],"sources":["../src/github-action.ts"],"sourcesContent":["import type { SdkVersion } from './enums/sdk'\nimport path from 'node:path'\nimport * as cache from '@actions/cache'\nimport * as core from '@actions/core'\nimport P from 'pino'\nimport pretty from 'pino-pretty'\nimport { logSdkDirStructure, runCommandLineDownload } from './command-line'\nimport { SdkArch, SdkOS } from './enums/sdk'\n\nasync function run(): Promise<void> {\n // 获取输入参数\n const version = core.getInput('version', { required: true }) as keyof typeof SdkVersion\n const archInput = core.getInput('arch', { required: false }) || 'X86'\n const osInput = core.getInput('os', { required: false }) || 'Linux'\n const cacheDir = core.getInput('cache_dir', { required: false }) || '.cache/sdk'\n const targetDir = core.getInput('target_dir', { required: false }) || 'sdk'\n const logType = core.getInput('log_type', { required: false }) || 'explicit'\n const logTimeout = Number.parseInt(core.getInput('log_timeout', { required: false }) || '5000', 10)\n const isCache = core.getBooleanInput('cache', { required: false })\n const logger = P(pretty({ colorize: true, colorizeObjects: true, singleLine: true }))\n\n // 转换字符串输入为枚举值(保持原始大小写)\n const arch = archInput.toLowerCase() === 'arm' ? SdkArch.ARM : SdkArch.X86\n const os = osInput.toLowerCase() === 'macos'\n ? SdkOS.MacOS\n : osInput.toLowerCase() === 'windows'\n ? SdkOS.Windows\n : SdkOS.Linux\n\n const cacheKey = `ohos-sdk-${version}-${arch}-${os}`\n const cacheHit = await cache.restoreCache([path.resolve(targetDir)], cacheKey)\n if (cacheHit) {\n logger.warn(`Cache hit: ${cacheHit}, skipping download...`)\n await logSdkDirStructure(logger, targetDir)\n core.setOutput('sdkPath', path.resolve(targetDir))\n return\n }\n else {\n logger.warn(`Cache miss, starting to download...`)\n }\n\n await runCommandLineDownload({\n apiVersion: version,\n arch: SdkArch[arch] as keyof typeof SdkArch,\n os: SdkOS[os] as keyof typeof SdkOS,\n cacheDir,\n targetDir,\n logType: logType as 'explicit' | 'full' | 'silent',\n logTimeout,\n logger,\n })\n\n if (isCache) {\n logger.info(`Download & extract successfully, saving cache to ${cacheKey}...`)\n const cacheId = await cache.saveCache([path.resolve(targetDir)], cacheKey)\n logger.info(`Cache saved with id: ${cacheId}.`)\n }\n core.setOutput('sdkPath', path.resolve(targetDir))\n}\n\n// 运行 Action\nrun()\n"],"mappings":";;;;;;;;;AASA,eAAe,MAAqB;CAElC,MAAM,UAAU,eAAK,SAAS,WAAW,EAAE,UAAU,KAAM,EAAC;CAC5D,MAAM,YAAY,eAAK,SAAS,QAAQ,EAAE,UAAU,MAAO,EAAC,IAAI;CAChE,MAAM,UAAU,eAAK,SAAS,MAAM,EAAE,UAAU,MAAO,EAAC,IAAI;CAC5D,MAAM,WAAW,eAAK,SAAS,aAAa,EAAE,UAAU,MAAO,EAAC,IAAI;CACpE,MAAM,YAAY,eAAK,SAAS,cAAc,EAAE,UAAU,MAAO,EAAC,IAAI;CACtE,MAAM,UAAU,eAAK,SAAS,YAAY,EAAE,UAAU,MAAO,EAAC,IAAI;CAClE,MAAM,aAAa,OAAO,SAAS,eAAK,SAAS,eAAe,EAAE,UAAU,MAAO,EAAC,IAAI,QAAQ,GAAG;CACnG,MAAM,UAAU,eAAK,gBAAgB,SAAS,EAAE,UAAU,MAAO,EAAC;CAClE,MAAM,SAAS,kBAAE,yBAAO;EAAE,UAAU;EAAM,iBAAiB;EAAM,YAAY;CAAM,EAAC,CAAC;CAGrF,MAAM,OAAO,UAAU,aAAa,KAAK,QAAQA,yBAAQ,MAAMA,yBAAQ;CACvE,MAAM,KAAK,QAAQ,aAAa,KAAK,UACjCC,uBAAM,QACN,QAAQ,aAAa,KAAK,YACxBA,uBAAM,UACNA,uBAAM;CAEZ,MAAM,YAAY,WAAW,QAAQ,GAAG,KAAK,GAAG,GAAG;CACnD,MAAM,WAAW,MAAM,gBAAM,aAAa,CAAC,kBAAK,QAAQ,UAAU,AAAC,GAAE,SAAS;AAC9E,KAAI,UAAU;AACZ,SAAO,MAAM,aAAa,SAAS,wBAAwB;AAC3D,QAAM,wCAAmB,QAAQ,UAAU;AAC3C,iBAAK,UAAU,WAAW,kBAAK,QAAQ,UAAU,CAAC;AAClD;CACD,MAEC,QAAO,MAAM,qCAAqC;AAGpD,OAAM,4CAAuB;EAC3B,YAAY;EACZ,MAAMD,yBAAQ;EACd,IAAIC,uBAAM;EACV;EACA;EACS;EACT;EACA;CACD,EAAC;AAEF,KAAI,SAAS;AACX,SAAO,MAAM,mDAAmD,SAAS,KAAK;EAC9E,MAAM,UAAU,MAAM,gBAAM,UAAU,CAAC,kBAAK,QAAQ,UAAU,AAAC,GAAE,SAAS;AAC1E,SAAO,MAAM,uBAAuB,QAAQ,GAAG;CAChD;AACD,gBAAK,UAAU,WAAW,kBAAK,QAAQ,UAAU,CAAC;AACnD;AAGD,KAAK"}