@@ -22,16 +22,18 @@ public func getDirectory(ofFile filePath: String = #file) -> String {
2222}
2323
2424// Input: <SRC_ROOT>/3rdparty/cimgui/generator/output/definitions.json
25- public let kInputFile : String
25+ public let kInputFiles : [ String ]
2626// Output <SRC_ROOT>/Sources/ImGui/ImGui+Definitions.swift
27- public let kOutputFile : String
27+ public let kOutputFiles : [ String ]
2828
2929if CommandLine . arguments. count == 3 {
30- kInputFile = CommandLine . arguments [ 1 ]
31- kOutputFile = CommandLine . arguments [ 2 ]
30+ kInputFiles = [ CommandLine . arguments [ 1 ] ]
31+ kOutputFiles = [ CommandLine . arguments [ 2 ] ]
3232} else {
33- kInputFile = getDirectory ( ) + " /../../3rdparty/cimgui/generator/output/definitions.json "
34- kOutputFile = getDirectory ( ) + " /../ImGui/ImGui+Definitions.swift "
33+ let src = getDirectory ( ) + " /../../3rdparty/cimgui/generator/output/ "
34+ let dest = getDirectory ( ) + " /../ImGui/ "
35+ kInputFiles = [ " definitions.json " ] . map { " \( src) \( $0) " }
36+ kOutputFiles = [ " ImGui+Definitions.swift " ] . map { " \( dest) \( $0) " }
3537}
3638
3739public let kHeader = """
@@ -52,14 +54,16 @@ import CImGui
5254public let kFooter = """
5355"""
5456
55- try convert ( filePath: kInputFile, validOnly: true ) { body in
56- let out : String = [ kHeader, body, kFooter] . joined ( separator: " \n \n " )
57+ for (inputFile, outputFile) in zip ( kInputFiles, kOutputFiles) {
58+ try convert ( filePath: inputFile, validOnly: true ) { body in
59+ let out : String = [ kHeader, body, kFooter] . joined ( separator: " \n \n " )
5760
58- guard let data: Data = out. data ( using: . utf8) else {
59- throw ConversionError ( localizedDescription: " Could not generate data from output string \( out) " )
60- }
61+ guard let data: Data = out. data ( using: . utf8) else {
62+ throw ConversionError ( localizedDescription: " Could not generate data from output string \( out) " )
63+ }
6164
62- let outURL = URL ( fileURLWithPath: kOutputFile )
65+ let outURL = URL ( fileURLWithPath: outputFile )
6366
64- try data. write ( to: outURL)
67+ try data. write ( to: outURL)
68+ }
6569}
0 commit comments