@@ -38,7 +38,7 @@ function findWorkspaceRoot() {
38
38
}
39
39
40
40
// Determine which version(s) to build based on command line argument --version
41
- const allowedVersions = [ "msfs2020 " , "msfs2024 " ] ;
41
+ const allowedVersions = [ "2020 " , "2024 " ] ;
42
42
43
43
const { values } = parseArgs ( {
44
44
args : Bun . argv ,
@@ -91,20 +91,28 @@ if (existsSync(outDir)) rmdirSync(outDir, { recursive: true });
91
91
const relativeWorkdDir = process . cwd ( ) . replace ( workspaceRoot , "" ) . replaceAll ( "\\" , "/" ) ;
92
92
93
93
// Build the selected versions
94
- for ( const version of versionsToBuild ) {
95
- console . info ( `[*] Building for ${ version } ` ) ;
96
-
97
- // Create the subfolder
98
- const simDir = join ( outDir , version ) ;
99
- const relativeSimDir = simDir . replace ( workspaceRoot , "" ) . replaceAll ( "\\" , "/" ) ;
100
- mkdirSync ( simDir , { recursive : true } ) ;
101
-
102
- // Run cargo-msfs
103
- await $ `docker run \
104
- -v ${ workspaceRoot } :/workspace \
105
- -w /workspace${ relativeWorkdDir } \
106
- ${ IMAGE_NAME } \
107
- bash -c "cargo-msfs build ${ version } -i ./src/wasm -o ./${ relativeSimDir } /msfs_navigation_data_interface.wasm"` . catch (
108
- ( err : { exitCode ?: number } ) => process . exit ( err . exitCode ?? 1 ) ,
109
- ) ;
110
- }
94
+ await Promise . all (
95
+ versionsToBuild . map ( async simVersion => {
96
+ console . info ( `[*] Building for ${ simVersion } ` ) ;
97
+
98
+ // Create the subfolder
99
+ const simDir = join ( outDir , simVersion ) ;
100
+ const relativeSimDir = simDir . replace ( workspaceRoot , "" ) . replaceAll ( "\\" , "/" ) ;
101
+ mkdirSync ( simDir , { recursive : true } ) ;
102
+
103
+ // Run cargo-msfs
104
+ await $ `docker run \
105
+ --rm -t \
106
+ --name msfs-${ simVersion } -wasm-builder \
107
+ -v ${ workspaceRoot } :/workspace \
108
+ -w /workspace${ relativeWorkdDir } \
109
+ -e CARGO_TARGET_DIR=/workspace/targets/${ simVersion } \
110
+ ${ IMAGE_NAME } \
111
+ bash -c "cargo-msfs build msfs${ simVersion } -i ./src/wasm -o ./${ relativeSimDir } /msfs_navigation_data_interface.wasm 1> >(sed "s/^/[${ simVersion } ]/") 2> >(sed "s/^/[${ simVersion } ]/" >&2)"` . catch (
112
+ ( err : { exitCode ?: number ; stderr ?: Buffer } ) => {
113
+ console . error ( `[-] Error building for ${ simVersion } : ${ err . exitCode } ${ err . stderr ?. toString ( ) } ` ) ;
114
+ process . exit ( 1 ) ;
115
+ } ,
116
+ ) ;
117
+ } ) ,
118
+ ) ;
0 commit comments