Some of our consumers use this handy plugin [1] to automagically
include dependency license info in their app. By including our
own dependency license info in our .pom file we can make it
easy for those consumers to include correct license info for
all the transitive dependencies they pick up through us.
[1] https://github.com/google/play-services-plugins/tree/master/oss-licenses-plugin
* Prevent reqwest from being compiled into anything other than non-megazords and tests
* Detect if the non-megazord backend got compiled in taskcluster
* Changelog entry for reqwest megazord removal
* Define conversions to/from protobuf types
* Define bookmark message types
* Add method of getting 'shallow' tree info
* Properly provide parent/position for items
* Add the rust side of the Bookmarks FFI
* Kotlin bookmarks FFI
* Copy xcode project over from logins to start places ios ffi
* places ios: C bindings for places
* protobuf setup for places ios (and docs)
* Fix some things that were annoying me about BookmarkRootGuid, and move it to it's own file
* Add a bookmarks FFI function to return all bookmarks with the requested URL
* Clean up leftover logins stuff in places ios
* Implement swift bookmarks API
* Fix bad comment and missing null check in kotlin bookmarks
* Try and add places to the iOS megazord (hit issue with msg_types name collision)
* Rename msg_types to be unique, finish integration with iOS megazord
* Finish documenting how to pass protobuf data back and forth for swift
* Comment tweak and change canEdit -> isRoot
* Small tweaks to the swift API (some renaming, change class => struct, etc)
* Don't require type in update (since it can't be changed), and handle errors better
* Undo struct -> class change since it subtly broke things
* Respond to feedback from justin
* Allow requesting a only the first level of folder children
* connUseAfterApiClosed -> connUseAfterAPIClosed
* WIP iOS tests
* Make iOS tests build
* Improve path handling for iOS
* Fix megazord test setup and document the weird testing steps that were needed
* Fix failing iOS tests
* Move protobuf-returning functions into their own file
* Add searchBookmarks function
* Use a sealed class and data classes in the kotlin API
* Require that callers of getBookmarksTree pass in the root and whether or not to fetch recursively, rather than using the most expensive possible default
* rename deleteBookmark => deleteBookmarkNode
* Use InterruptScope in the reader bookmark methods
* Fix rebase issue
* Allow interrupt() on iOS
* Use changes from #788 to make places xcode project build much faster
* Change `extern` to `public`, use fewer protobuf types in the rust because they make testing it painful
* More tests of new rust code
* Expose relevant errors over the FFI, and document them (also, fix the kotlin doc formatting)
* fix 'its' being wrong basically everywhere
* Fix many doc typos
* Use FfiStr in bookmarks
* Fix doc nit
* Make missing titles come through as '' for better API consistency
* Tests for the rest of the new rust functions
* Clarify doc nit
* Changelog entry for bookmark ffi
* Expose runMaintenance to Swift
* Handle NoItem => NoSuchGuid
* Rename places::storage::bookmarks::public to places::storage::bookmarks::public_node
* Lina's review feedback
This patch adds:
* Kotlin FFI integration with unit tests
* simplifies decryption to accept raw header values
* adds new storage system
Closes #693, #544, #543, #542
Callbacks across the FFI can be unsafe and for our use case
it is just easier to document which rust methods modify the internal FxA state
and trigger the persist callbacks from the Swift side after calling them.
The grand patch with all we learned over past 3 days.
A key factor is that Xcode legacy build must be used, or
the build.sh files need to be changed to not touch the output .a
file unless it doesn't exist or the input files have changed.
The xcrun is called twice for each project (for device and sim) and
the second run fails to access the C/Rust .a files linked in the build script.
* Build_megazord.sh for iOS added
* Xcode megazord project
* Update non-megazord projects to properly use SWIFT_OBJC_BRIDGING_HEADER.
* Rename and build as static framework
Add a readme
* Add build-carthage.sh for ios builds
* Implement a bridge from the rust log crate to android.
* Ensure we still have logs available in non-megazord contexts
* Changelog entry
* Gradle plugin bump to 0.3.0
* Android version bump to v0.14.0