@@ -15,7 +15,7 @@ const unzipper = require('unzipper');
15
15
const os = require ( 'node:os' ) ;
16
16
const { mkdirp } = require ( 'mkdirp' ) ;
17
17
const { resolve } = require ( 'node:path' ) ;
18
- const { exec, spawn } = require ( 'node:child_process' ) ;
18
+ const { exec } = require ( 'node:child_process' ) ;
19
19
const downloadTestCerts = require ( './lib/download-test-certs.js' ) ;
20
20
const { promisify } = require ( 'node:util' ) ;
21
21
@@ -162,30 +162,13 @@ async function buildRust(root) {
162
162
const bindingsPath = resolve ( generatedDir , 'c2pa.node' ) ;
163
163
const cargoPath = resolve ( root , 'Cargo.toml' ) ;
164
164
await mkdirp ( generatedDir ) ;
165
-
166
165
return new Promise ( ( resolve , reject ) => {
167
- const child = spawn ( 'npx' , [
168
- 'cargo-cp-artifact' ,
169
- '-nc' , bindingsPath ,
170
- '--' ,
171
- 'cargo' , 'build' ,
172
- '--message-format=json-render-diagnostics' ,
173
- '--release' ,
174
- `--manifest-path=${ cargoPath } `
175
- ] , {
176
- stdio : 'inherit' // This will show real-time output
177
- } ) ;
178
-
179
- child . on ( 'exit' , ( code ) => {
180
- if ( code === 0 ) {
181
- resolve ( ) ;
182
- } else {
183
- reject ( new Error ( `Cargo build failed with exit code ${ code } ` ) ) ;
184
- }
185
- } ) ;
186
-
187
- child . on ( 'error' , ( err ) => {
188
- reject ( err ) ;
166
+ const result = exec (
167
+ `npx cargo-cp-artifact -nc "${ bindingsPath } " -- cargo build --message-format=json-render-diagnostics --release --manifest-path="${ cargoPath } "` ,
168
+ execCallback ,
169
+ ) ;
170
+ result . on ( 'exit' , ( code ) => {
171
+ code === 0 ? resolve ( ) : reject ( ) ;
189
172
} ) ;
190
173
} ) ;
191
174
}
0 commit comments