chore(flatpak-builder): Add more details when failing

This commit is contained in:
JellyBrick
2024-10-14 19:57:41 +09:00
parent 32d3c58b44
commit d3acb4945a
2 changed files with 70 additions and 9 deletions

View File

@ -74,35 +74,66 @@
"target": [
{
"target": "AppImage",
"arch": ["x64", "arm64", "armv7l"]
"arch": [
"x64",
"arm64",
"armv7l"
]
},
{
"target": "flatpak",
"arch": ["x64", "arm64", "armv7l"]
"arch": [
"x64",
"arm64",
"armv7l"
]
},
{
"target": "deb",
"arch": ["x64", "arm64", "armv7l"]
"arch": [
"x64",
"arm64",
"armv7l"
]
},
{
"target": "rpm",
"arch": ["x64", "arm64"]
"arch": [
"x64",
"arm64"
]
},
{
"target": "snap",
"arch": ["x64", "arm64", "armv7l"]
"arch": [
"x64",
"arm64",
"armv7l"
]
},
{
"target": "freebsd",
"arch": ["x64", "arm64", "armv7l"]
"arch": [
"x64",
"arm64",
"armv7l"
]
},
{
"target": "pacman",
"arch": ["x64", "arm64", "armv7l"]
"arch": [
"x64",
"arm64",
"armv7l"
]
},
{
"target": "tar.gz",
"arch": ["x64", "arm64", "armv7l"]
"arch": [
"x64",
"arm64",
"armv7l"
]
}
],
"compression": "maximum"
@ -191,7 +222,8 @@
},
"patchedDependencies": {
"vudio@2.1.1": "patches/vudio@2.1.1.patch",
"app-builder-lib@24.13.3": "patches/app-builder-lib@24.13.3.patch"
"app-builder-lib@24.13.3": "patches/app-builder-lib@24.13.3.patch",
"@malept/flatpak-bundler": "patches/@malept__flatpak-bundler.patch"
}
},
"dependencies": {

View File

@ -0,0 +1,29 @@
diff --git a/index.js b/index.js
index 5968fcf47b69094993b0f861c03f5560e4a6a9b7..0fe16d4f40612c0abfa57898909ce0083f56944c 100644
--- a/index.js
+++ b/index.js
@@ -56,19 +56,23 @@ function getOptionsWithDefaults (options, manifest) {
async function spawnWithLogging (options, command, args, allowFail) {
return new Promise((resolve, reject) => {
logger(`$ ${command} ${args.join(' ')}`)
+ const output = []
const child = childProcess.spawn(command, args, { cwd: options['working-dir'] })
child.stdout.on('data', (data) => {
+ output.push(data)
logger(`1> ${data}`)
})
child.stderr.on('data', (data) => {
+ output.push(data)
logger(`2> ${data}`)
})
child.on('error', (error) => {
+ logger(`error - ${error.message} ${error.stack}`)
reject(error)
})
child.on('close', (code) => {
if (!allowFail && code !== 0) {
- reject(new Error(`${command} failed with status code ${code}`))
+ reject(new Error(`${command} ${args.join(' ')} failed with status code ${code} ${output.join(' ')}`))
}
resolve(code === 0)
})