Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build(deps): bump ndk version to r24 #180

Closed
wants to merge 1 commit into from

Conversation

mikehardy
Copy link
Member

This is the current latest stable version. r23 is LTS, r25 is at beta2

Related #179

This is speculative. It might work. It might not. I'm going to trust CI on it though after the work I've put in on CI just now...

I won't be surprised if this also needs some other chunks of toolchain updated like perhaps build tools, or if it flags new warnings in code and generates some set-warnings-as-errors / fix warnings/errors work. We'll see...

@mikehardy
Copy link
Member Author

Total failure 😅 - will investigate locally as time permits. Not super high priority just wanted to see if it could go in

@mikehardy mikehardy marked this pull request as draft April 21, 2022 22:06
@david-allison
Copy link
Member

 error occurred: Failed to find tool. Is `/Users/runner/Library/Android/sdk/ndk/24.0.8215888/toolchains/llvm/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-ar` installed?

@mikehardy
Copy link
Member Author

Oh this is gonna be a rabbit hole - I didn't realize how much infra was contained in the NDK as I'd never really used it before. Hooboy.

So, if you go to r23:

No time to play with this yet

dae added a commit to ankitects/Anki-Android-Backend that referenced this pull request Jun 16, 2023
- Update the backend protobuf generation to match the refactoring done
on the desktop code recently. This involved switching from the Python-based
script to a new one in Rust. Comments from the proto files are now
included in the generated backend bindings.

Also:

- Rumo contributed changes to the upstream Chrono crate which make
it work properly on Android, and these changes have been merged in,
so AnkiDroid no longer needs to pin an older version.
- Update to latest NDK, as latest Rust requires it (closes ankidroid#180).
- Update to latest Rust
- Add a workaround for a crashing bug in the sim caused by the above.
Needs testing to make sure building/running on macOS still works.
- Switch from protobuf to protobuf-lite, which is what Google recommend
for use on Android.
- Add a script to make it easier to reformat Rust code when it fails
checks.
dae added a commit to ankitects/Anki-Android-Backend that referenced this pull request Jun 22, 2023
- Update the backend protobuf generation to match the refactoring done
on the desktop code recently. This involved switching from the Python-based
script to a new one in Rust. Comments from the proto files are now
included in the generated backend bindings.
- Switch from protobuf to protobuf-lite, which is what Google recommend
for use on Android.
- Recent desktop changes introduce a protobuf construct that protobuf-lite
doesn't support, so the offending file needed to be removed
as part of the build. This was easier to do by directly invoking protobuf,
instead of relying on the Gradle protobuf plugin. As a bonus, this should
also solve the protobuf-sources-are-missing-from-bundle issue. (file
removal is no longer required due to a refactor).
- Update Rust deps. is_terminal was failing to build on Windows, and
is no longer required after updating to the latest android_logger
- Rumo contributed changes to the upstream Chrono crate which make
it work properly on Android, and these changes have been merged in,
so AnkiDroid no longer needs to pin an older version.
- Update to latest NDK, as latest Rust requires it (closes ankidroid#180).
- Update to latest Rust
- Add a script to make it easier to reformat Rust code when it fails
checks.
mikehardy pushed a commit that referenced this pull request Aug 23, 2023
- Update the backend protobuf generation to match the refactoring done
on the desktop code recently. This involved switching from the Python-based
script to a new one in Rust. Comments from the proto files are now
included in the generated backend bindings.
- Switch from protobuf to protobuf-lite, which is what Google recommend
for use on Android.
- Recent desktop changes introduce a protobuf construct that protobuf-lite
doesn't support, so the offending file needed to be removed
as part of the build. This was easier to do by directly invoking protobuf,
instead of relying on the Gradle protobuf plugin. As a bonus, this should
also solve the protobuf-sources-are-missing-from-bundle issue. (file
removal is no longer required due to a refactor).
- Update Rust deps. is_terminal was failing to build on Windows, and
is no longer required after updating to the latest android_logger
- Rumo contributed changes to the upstream Chrono crate which make
it work properly on Android, and these changes have been merged in,
so AnkiDroid no longer needs to pin an older version.
- Update to latest NDK, as latest Rust requires it (closes #180).
- Update to latest Rust
- Add a script to make it easier to reformat Rust code when it fails
checks.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants