Skip to content

Commit c8d8cdd

Browse files
BridgeJS: Macro-annotation based import
1 parent 7ddf818 commit c8d8cdd

File tree

22 files changed

+1392
-485
lines changed

22 files changed

+1392
-485
lines changed

Plugins/BridgeJS/Sources/BridgeJSBuildPlugin/BridgeJSBuildPlugin.swift

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ struct BridgeJSBuildPlugin: BuildToolPlugin {
6363

6464
private func createImportTSCommand(context: PluginContext, target: SwiftSourceModuleTarget) throws -> Command? {
6565
let outputSwiftPath = context.pluginWorkDirectoryURL.appending(path: "BridgeJS.ImportTS.swift")
66+
let outputMacroSwiftPath = context.pluginWorkDirectoryURL.appending(path: "BridgeJS.ImportTS.Macros.swift")
6667
let outputSkeletonPath = context.pluginWorkDirectoryURL.appending(path: "BridgeJS.ImportTS.json")
6768
let inputTSFile = target.directoryURL.appending(path: "bridge-js.d.ts")
6869
guard FileManager.default.fileExists(atPath: inputTSFile.path) else {
@@ -87,6 +88,8 @@ struct BridgeJSBuildPlugin: BuildToolPlugin {
8788
outputSkeletonPath.path,
8889
"--output-swift",
8990
outputSwiftPath.path,
91+
"--output-macro-swift",
92+
outputMacroSwiftPath.path,
9093
"--module-name",
9194
target.name,
9295
// Generate the output files even if nothing is imported not to surprise
@@ -98,7 +101,8 @@ struct BridgeJSBuildPlugin: BuildToolPlugin {
98101
],
99102
inputFiles: inputFiles,
100103
outputFiles: [
101-
outputSwiftPath
104+
outputSwiftPath,
105+
outputMacroSwiftPath,
102106
]
103107
)
104108
}

Plugins/BridgeJS/Sources/BridgeJSCommandPlugin/BridgeJSCommandPlugin.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,8 @@ extension BridgeJSCommandPlugin.Context {
135135
generatedJavaScriptDirectory.appending(path: "BridgeJS.ImportTS.json").path,
136136
"--output-swift",
137137
generatedDirectory.appending(path: "BridgeJS.ImportTS.swift").path,
138+
"--output-macro-swift",
139+
generatedDirectory.appending(path: "BridgeJS.ImportTS.Macros.swift").path,
138140
"--verbose",
139141
options.verbose ? "true" : "false",
140142
"--module-name",

0 commit comments

Comments
 (0)