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).
This repository is mostly updated by automation, all the logic is copied from [mozilla/application-services](https://raw.github.com/mozilla/rust-components-swift/main/ https://github.com/mozilla/application-service)
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.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.Nightly releases are automated and run every night as a cron job that pushes directly to the main branch. Nightly releases are tagged with three components (i.e X.0.Y
) where the first component is the current Firefox release (i.e 117
, etc) and the last component is a timestamp.
Note that we need three components because that's a Swift Package manager requirement.
To cut a release of rust-components-swift
, you will need to do the following:
./automation/update-from-application-services.py <X.Y>
, where X.Y
is the version of application services.X.0.Y
, where X.Y
is the version of application servicesTo enable local development of rust-component-swift
read the instructions documented in application services
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.
Please open a ticket in https://github.com/mozilla/application-services/issues for any rust-component-swift related issues.
link |
Stars: 25 |
Last commit: Yesterday |
See https://github.com/mozilla/application-services for changelog
Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics