-
Notifications
You must be signed in to change notification settings - Fork 34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cannot include package with binary target #153
Comments
- Fix product dependency lookup to use the dependency name. - Add support for `binary` targets. They download pre-compiled artifacts and provide them as xcframeworks. - Update Starlark codegen to support function calls. - Add `firebase_example` files. Still needs to be included in the integration test list. Related to #153.
- Add `test_suite` to `firebase_example`. - Support excluding files based upon Swift target `exclude`. - Support wildcard modules in the modulemap parser. - Remove the listing of files in `clang_files.collect_files`. - Remove Bazel build files from downloaded Swift packages. - Ensure that potential private header files are included in the `srcs` for clang targets. Related to #153. Closes #157. Closes #75.
- When retrieving headers from a modulemap, try to only return headers for the named module. - Ensure that the public includes are updated with the path to any headers declared in a modulemap. - Fix path relativization to handle the case when the path is the same as the relativize_to. - Ensure that `objc_library` declarations enable clang module support. Related to #153.
- Detect all Bazel supported header files. - Fix the workspace name of the firebase example. - Add flags to `.bazelrc` that are required for the firebase example. Related to #153.
- Adding the recursive list of header paths caused compilation issues building [firebase/abseil-cpp-SwiftPM](https://github.com/firebase/abseil-cpp-SwiftPM). - Fixed bug with header identification not using the supported list of headers. - Fixed bug in fail call. Related to #153.
…169) - Add `src_type` to modules in the `swift_deps_index.json`. This value identifies the type of source files in the module. This information is used to resolve dependencies specifically as it relates to ObjC modules consumed by `objc_library` targets. - Implement `swift_objc_module_alias` macro. It defines a `swift_library` that re-exports the specified modules defined in the provided `deps`. - For Swift targets implemented using ObjC, generate two Bazel targets. One represents is the `objc_library`. The other is a `swift_objc_module_alias` that is referenced by external repositories. - Use `product_memberships` to determine whether the Bazel target(s) for a Swift target should be publicly visible. Related to #153.
Just a note that I tested f3ee05d and saw:
|
@pswaminathan Thanks for checking out the progress. Great news about Braze. I am currently working on support for SPM conditions. I believe that will address the platform errors. The Firebase dependency has uncovered several interesting corner cases. I did want to mention that this issue lists version 8.9.1. For now, I am working to get the latest version 10.4.0 to work. Hopefully, the earlier version will work once I am done. |
Great! I can also test with other versions as well as it gets closer—just wanted to start off with the same version we're using. |
- Refactor how build settings are read and stored. This provides a means for supporting conditions on the build settings. - Added some missing documentation. - Add `//config_settings/platform_types` that will be used for platform name conditions. Related to #153.
- Rename `spm_conditions` to `bzl_selects`. - Update how SPM platform targets are generated. It now uses a struct with the required fields. - Add `label()` functions for SPM condition generation. Related to #153
- Add conditional support for `headerSearchPaths`. - Add conditional support for `unsafeFlags`. - Refactor tests for `swiftpkg_build_files`. Related to #153.
- Values for the same condition can be found in multiple entries. Update `bzl_selects.to_starlark` to collect the values. - Ensure generated `apple_dynamic_xcframework_import` declarations are publicly visible. Related to #153
@pswaminathan Which features from firebase do you use? I am adding examples from this quickstart repo to ensure that Also, I may end up breaking up verifying the different parts of firebase into separate tickets. That will allow me to declare victory on this ticket, as I added binary target support. |
@cgrindel @pswaminathan I'm also encountering this issue with Firebase and Agora. |
@AttilaTheFun Support for binary targets is available in the |
Hi @cgrindel! I'm not sure how to use a branch with a http archive in bazel. What would I replace this with to use the main branch?
Alternately maybe you could create a 0.3.0 pre-release? |
@cgrindel from our manually generated build files, here is what we are depending on:
This corresponds roughly to the XCFrameworks exported, and which we would probably be importing. I can test out main some time this week and see if that works for us.
That works for me! |
@AttilaTheFun I just create release 0.2.1. Let me know if that addresses the binary target issue. FYI. I have a |
The only modules in your list that are not covered by an example are |
Declaring victory on this issue as binary target support has been added. @AttilaTheFun Let me know here or in a new bug, if you have issues using release 0.2.1 or later. |
@cgrindel I tried to use the 0.2.1 release but I got this error:
These are the only changes I have in my repo to update to 0.2.1:
|
@AttilaTheFun I think that you might be running into the fact that Skylib changed how they package their Gazelle extension. Note the new target for the Skylib language: gazelle_binary(
name = "gazelle_bin",
languages = DEFAULT_LANGUAGES + [
"@bazel_skylib_gazelle_plugin//bzl",
],
) #226 will update the |
@cgrindel Okay, I updated the gazelle extension and that seems to be working now but I'm still getting this issue when trying to use firebase analytics:
In my build file I'm depending on:
And in my Package.swift I have:
It should be noted that I'm using a newer version of the firebase SDK than the one in your example. |
@cgrindel I also tried adding Agora and it built but when I run the application in the iOS simulator it's crashing with this message:
My Package.swift has:
And my BUILD file has:
|
@AttilaTheFun I created #230 to track the Agora issue. Let's continue the conversation there. |
Probably mirrors cgrindel/rules_spm#175, but figured I would leave it here for completeness. Example is Firebase:
The text was updated successfully, but these errors were encountered: