This repository is a Swift Package for distributing releases of Mozilla's various Rust-based application components. It provides the Swift source code packaged in a format understood by the Swift package manager, and depends on a pre-compiled binary release of the underlying Rust code published from [mozilla/application-services](https://raw.github.com/mozilla/rust-components-swift/main/ https://github.com/mozilla/application-service).
For more information, please consult:
ios-rust
crate which is currently
responsible for publishing the pre-built MozillaRustComponents.xcframework.zip
and FocusRustComponents.xcframework.zip
bundles on which this repository depends.Here's a diagram of how this repository relates to the application-services repository and its release artifacts:
Key points:
application-services
repo publishes two binary artifacts MozillaRustComponents.xcframework.zip
and FocusRustComponents.xcframework.zip
containing
the Rust code and FFI definitions for all components, compiled together into a single library.Package.swift
file refrences the xcframeworks as Swift binary targets.Package.swift
file defines a library per target (one for all the components used by firefox-ios
and one for focus-ios
)
firefox-ios
files are in the swift-source/all
directory.FocusRustComponentWrapper
wraps the Focus xcframework.Whenever a new release of the underlying components is availble, we need to tag a new release in this repo to make them available to Swift components. To do so:
Package.swift
to update the URL and checksum of MozillaRustComponents.xcframework.zip
../make_tag.sh --as-version {APP_SERVICES_VERSION} X.Y.Z
to create the new tag.git push origin X.Y.Z
to publish it to GitHub.Check out the instructions in the docs in application-services
for adding a new component and publishing it for iOS. The docs are also published for convenience in https://mozilla.github.io/application-services/book/index.html.
For testing instructions, you can checkout the docs in the application-services
which are published for convenience in https://mozilla.github.io/application-services/book/index.html
Please open a ticket in https://github.com/mozilla/application-services/issues for any rust-component-swift related issues.
link |
Stars: 23 |
Last commit: 18 hours ago |
Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics