-
Notifications
You must be signed in to change notification settings - Fork 35
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Road to 1.0.0 #924
Comments
Notes regarding Gazelle plugin
See below for new plan. |
What do we need |
The Gazelle plugin needs to resolve module names to Bazel labels. |
Ahh, so that won't be in this repo in the end? Got it. |
For anyone following along at home, this branch has the examples working if you run
|
Can we add #1079 to this? |
Done. |
…er big updates (#957) Lots of big changes in this PR: - The SPM-related rules no longer depend upon a Swift deps index JSON file. - Remove the `from_file` module extension tag class, as the ruleset no longer needs to read the Swift deps index file. - Remove the `swift_update_packages` macro as it is no longer required. - Remove support for `byName` references outside of a Swift package. This was supported in early SPM versions. It was one of the driving factors for having to pre-process the Swift dependencies and generate a Swift deps index file. Removing this support reduces the complexity of the `rules_swift_package_manager` implementation. - Remove `update_repos` command from the Gazelle plugin. - Add `swift_deps_info` repository rule to generate a Swift deps index JSON file as part of the build, not in the Gazelle plugin. This index file is used by the Gazelle plugin to resolve Swift module names to their respective Bazel target. - Introduce `from_package` module extension tag class telling the ruleset where the `Package.swift` and `Package.resolved` files for the workspace live. These are used to identify the Swift package transitive dependencies for the project. - Remove the `http_archive_ext_deps` example. The example existed to demonstrate and test indexing of Swift targets that were downloaded using `http_archive`. The Gazelle internals no longer provide some of the information needed for this to work properly with bzlmod enabled. Given that SPM has been widely adopted and there are some workarounds, we are removing support for this functionality in the Gazelle plugin when bzlmod is enabled. - Add output to the example test runner that demarcates different phases for the testing. Related to #924.
Just a quick update regarding the v1 release. I have been working on #1079. I have a draft PR (#1217) with everything working except the I put together #1266 which attempts to prevent
Looking through the actual command-line, I do not see the If anyone has any thoughts or suggestions, please send them my way. |
…#1) - Brought over the Swift gazelle files from `rules_swift_package_manager`. - Set up CI. Related to cgrindel/rules_swift_package_manager#924.
Goals
Tasks
Package.swift
andPackage.resolved
in the repository rule.mod tidy
will update theMODULE.bazel
file with the correctuse_repos
declaration.swift_deps START
andswift_deps END
comments.bzlmod/workspace
to usefrom_package()
.UpdateFor now, I removed//:swift_update_pkgs
to just run SPM commands without using Go. Be sure to use the Swift toolchain, not the Swift installed on the system. (Possibly, create a new macro that creates the commands for running Swift package commands.)swift_update_packages
. If people would like a way to update Swift packages using Bazel, we will do it as a separate feature.grpc_package_example
symlink_example
ios_sim
rules_swift_package_manager
and set up CI swift_gazelle_plugin#1rules_swift_package_manager
.The text was updated successfully, but these errors were encountered: