22 lines
1.1 KiB
Plaintext
22 lines
1.1 KiB
Plaintext
|
|
# Import process
|
||
|
|
|
||
|
|
1. `git pull` to pull a new version from sso://team/beto-rust-devs/beto-rust
|
||
|
|
|
||
|
|
## If the dependency tree did not change significantly
|
||
|
|
|
||
|
|
2. It will be easier to manually update the Android.bp file to include the new dependencies.
|
||
|
|
For each new library that is needed, add it to the `rustlibs` section of the build rule. The
|
||
|
|
build rule is typically `lib<crate_name>`, but sometimes variants with different features exist,
|
||
|
|
in which case you will have to look up the target name in the relevent `Android.bp` file in code
|
||
|
|
search.
|
||
|
|
|
||
|
|
## If the dependency tree changed significantly
|
||
|
|
|
||
|
|
2. Locally check out the `beto-core-staging` project, and run `scripts/prepare-boringssl.sh`.
|
||
|
|
4. Modify `.cargo/config.toml` to point to the external `rust-openssl` and `bssl-sys` crates.
|
||
|
|
5. Run `cargo2android.py --config cargo2android.json`
|
||
|
|
6. There are probably going to be merge conflicts. Fix them manually. Remove the
|
||
|
|
"Do not modify this file" comment added by cargo2android.json
|
||
|
|
7. Also modify `patches/Android.bp.patch` to include your manual changes.
|
||
|
|
8. Remove `cargo.out` and `target.tmp`, as those should not be checked in
|