Conversation
* Add rules_xcodeproj to `envoy_mobile_repositories.bzl` * Update rules_apple * Add a top-level `:xcodeproj` target * Add `ios_local` docs similar to the existing `android_local` docs * Update iOS example apps to use `//library/swift:ios_lib` for an improved development experience * Define `apple.experimental.tree_artifact_outputs=1` in `.bazelrc`, which rules_xcodeproj requires * Make example/test apps visible to the `xcodeproj` target Signed-off-by: JP Simard <jp@jpsim.com>
.bazelrc
Outdated
| build --verbose_failures | ||
| build --workspace_status_command=envoy/bazel/get_workspace_status | ||
| build --xcode_version=13.2.1 | ||
| build --define=apple.experimental.tree_artifact_outputs=1 |
There was a problem hiding this comment.
probably won't want this globally otherwise you'll have to manually zip the artifacts for distribution.
There was a problem hiding this comment.
This didn't seem to affect the distribution (see CI run), but it did break the framework_imports_extractor rule, which is breaking the Objective-C Hello World example app.
I could use your help to update that if you have the time.
There was a problem hiding this comment.
can we make rules_xcodeproj pass this as needed instead?
There was a problem hiding this comment.
i think we can otherwise read this in the rule, and branch on that to just re-propagate the same files in that rule tho, but in general i think the zip is normally preferred just for ease of moving it around
There was a problem hiding this comment.
I think in theory rules_xcodeproj can be configured to unarchive the files itself if this flag is off: https://github.com/buildbuddy-io/rules_xcodeproj/blob/06854652458c21da467ddff4fd4129c29ff137b1/xcodeproj/internal/top_level_targets.bzl#L74-L76
However, there may be a bug in its implementation for this because when I try to do that I get this error:
Framework with file path "FilePath(type: generator.FilePath.PathType.generated, path: ios-sim_arm64-min12.0-applebin_ios-ios_sim_arm64-dbg-ST-aa7db8051c58/bin/Envoy.framework, isFolder: false)" not found in `files`
There was a problem hiding this comment.
I was able to remove this and get around that archived_bundles_allowed issue by removing the Objective-C app from the Xcode project. I'll follow up on fixing that in rules_xcodeproj.
| name: 'Short-circuit' | ||
| - env: | ||
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
| run: ./bazelw build --config=ios --config=remote-ci-macos --remote_header="Authorization=Bearer $GITHUB_TOKEN" //examples/swift/hello_world:app |
There was a problem hiding this comment.
might be easiest to drop this file changes to avoid conflicts with the dist change
There was a problem hiding this comment.
Yes, I'll update this PR once the dist changes merge.
* main: Add assert when failing to get_env (#2253) Update Kotlin standard libraries to 1.6.21 (#2256) iOS: Change release artifacts to use xcframeworks (#2217) build: remove dist/ (#2184) Fix Envoy Mobile bug where writing prevents the read loop from running, (#2221) Add comments to CronetBidirectionalStream (#2266) CronetBidirectionalStream (#2164) Signed-off-by: JP Simard <jp@jpsim.com>
By setting `archived_bundles_allowed = True` in the xcodeproj setup and excluding the Objective-C example app from the generated Xcode project. Signed-off-by: JP Simard <jp@jpsim.com>
* origin/main: (97 commits) docs: update python packages to work with Python 3.10 (#2286) test: adding a cancel test, cleaning up copy-paste code (#2283) envoy: update to d88f31b (#2279) api: disallow setting 'host' header directly (#2275) android: add support for registering a platform KV store (#2134) Bump Lyft Support Rotation (#2278) tools: Enable the VSCode completion db to use bazelisk if available (#2277) Release v0.4.6.20220513-4 Fix android_release_deploy Release v0.4.6.20220513-3 Release v0.4.6.20220513-2 net: enable happy eyeballs by default (#2272) git: avoid merge conflicts when adding changelog entries (#2273) docs: fix sphinx reference mismatch warning (#2274) tests: add -Xcheck:jni to kotlin integration tests by default (#2269) configuration: enable h2 ping by default (#2270) Add version history entries for user-facing changes (#2271) configuration: filter unroutable addresses on Android by default (#2267) Integrate rules_xcodeproj (#2263) Add assert when failing to get_env (#2253) ... Signed-off-by: JP Simard <jp@jpsim.com>
envoy_mobile_repositories.bzl:xcodeprojtargetios_localdocs similar to the existingandroid_localdocs//library/swift:ios_libfor an improved development experienceapple.experimental.tree_artifact_outputs=1in.bazelrc, which rules_xcodeproj requiresxcodeprojtargetRisk Level: Low, only affects local development.
Testing: Using Xcode features in local development.
Docs Changes: Added
ios_localdocs similar to the existingandroid_localdocsRelease Notes: N/A, internal only