migueldeicaza / SwiftGodot

New Godot bindings for Swift
https://migueldeicaza.github.io/SwiftGodotDocs/tutorials/swiftgodot-tutorials/
MIT License
1.19k stars 77 forks source link

ABI Tracking #557

Open migueldeicaza opened 1 month ago

migueldeicaza commented 1 month ago

Need a tool to compare an ABI, before and after a change is done, so we can show this alongside a GitHub PR to determine when and how we change the API to avoid disrupting users.

From a Slack discussion, some tools we could use:

swiftc -emit-module-interface-path MyModule.swiftinterface MyModule.swift?

swiftc \
  -emit-module \
  -emit-module-path MyModule.swiftmodule \
  -emit-module-interface \
  -emit-module-interface-path MyModule.swiftinterface \
  -module-name MyModule \
  *.swift

Another alternative is: https://github.com/swiftlang/swift-docc-symbolkit?tab=readme-ov-file