cgrindel / rules_swift_package_manager

Collection of utilities and Bazel rules to aid in the development and maintenance of Swift repositories using Bazel.
Apache License 2.0
74 stars 29 forks source link

Support `embrace-io/embrace-apple-sdk`. #1279

Open cgrindel opened 3 weeks ago

cgrindel commented 3 weeks ago

Related Slack thread.

There are two issues:

  1. The EmbraceObjCUtilsInternal module has two module map files. The existing rules_swift_package_manager code treats this as an error. The fix is to warn the client and just use the first one that is found.
  2. The GRDB.swift package, a transitive dependency, defines a systemLibrary target. rules_swift_package_manager does not yet support these target types.
adincebic commented 1 week ago

@cgrindel what does it take to support packages with system library targets? Is the change complex?

cgrindel commented 1 week ago

what does it take to support packages with system library targets? Is the change complex?

Probably not. I have not dug into it. I would look at how SPM builds targets linked to these libraries. There is a flag which tells SPM to output its build commands. Then, it is a matter of generating the appropriate targets here.

luispadron commented 6 days ago

Related to #248

adincebic commented 6 days ago

I'll have some time next weekend to attend this issue. Thank you both for references.