提交 841636ae 编写于 作者: fxy060608's avatar fxy060608

wip(uts): update compiler

上级 4f641298
......@@ -9,6 +9,7 @@ import type {
InputKotlinOptions,
OutputKotlinOptions,
UtsKotlinOptions,
UtsResult,
} from './types'
import { printStartup, printUtsResult, printUtsResults, timeEnd } from './utils'
......@@ -194,7 +195,13 @@ function buildKotlin({
})
return Promise.all(
files.map((filename) => buildKotlinFile(filename, input, output))
files.map((filename) =>
buildKotlinFile(filename, input, output).catch((error) => {
return {
error,
} as UtsResult
})
)
)
.then((res) => {
return copyAssets(UtsTarget.KOTLIN, inputDir, outputDir, extname!).then(
......
......@@ -46,4 +46,5 @@ export interface UtsSwiftOptions {
export interface UtsResult {
filename?: string
time?: number
error?: Error
}
......@@ -30,16 +30,37 @@ export function printStartup(target: UtsTarget, mode: string) {
export function printUtsResults(results: UtsResult[]) {
let longest = 0
for (const result of results) {
const l = result.filename!.length
if (l > longest) longest = l
}
console.log(
colors.dim(`${colors.green(`✓`)} ${results.length} files transformed.`)
)
let failed: UtsResult[] = []
let transformed: UtsResult[] = []
results.forEach((result) => {
printUtsResult(result, longest)
if (result.error) {
failed.push(result)
} else {
transformed.push(result)
}
})
if (failed.length) {
console.log(colors.dim(`${colors.red(`✗`)} ${failed.length} files failed.`))
failed.forEach((result) => {
console.error(result.error!.message.split(`Caused by:`)[0])
})
}
if (transformed.length) {
for (const result of transformed) {
const l = result.filename!.length
if (l > longest) longest = l
}
console.log(
colors.dim(
`${colors.green(`✓`)} ${transformed.length} files transformed.`
)
)
transformed.forEach((result) => {
if (result.filename) {
printUtsResult(result, longest)
}
})
}
}
export function printUtsResult(result: UtsResult, maxLength = 0) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册