Skip to content

Commit

Permalink
chore: bump kotlin and ndk versions, default rust for python
Browse files Browse the repository at this point in the history
  • Loading branch information
notmandatory committed Nov 6, 2024
1 parent 9370b9f commit 5a6d8e4
Show file tree
Hide file tree
Showing 11 changed files with 22 additions and 41 deletions.
12 changes: 1 addition & 11 deletions .github/workflows/publish-android.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,13 @@ name: Publish bdk-android to Maven Central
on: [workflow_dispatch]

# The default Android NDK on the ubuntu-22.04 image is 25.2.9519653
# We replace the default environment variable ANDROID_NDK_ROOT: /usr/local/lib/android/sdk/ndk/25.2.9519653
# with an older version of the NDK (21.4.7075529) using the fix proposed here: https://github.com/actions/runner-images/issues/5930
# For information on why this is needed at the moment see issues #242 and #243, and PR #282
env:
ANDROID_NDK_ROOT: /usr/local/lib/android/sdk/ndk/21.4.7075529
ANDROID_NDK_ROOT: /usr/local/lib/android/sdk/ndk/25.2.9519653

jobs:
build:
runs-on: ubuntu-20.04
steps:
- name: "Install Android NDK 21.4.7075529"
run: |
ANDROID_ROOT=/usr/local/lib/android
ANDROID_SDK_ROOT=${ANDROID_ROOT}/sdk
SDKMANAGER=${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager
echo "y" | $SDKMANAGER "ndk;21.4.7075529"
- name: "Check out PR branch"
uses: actions/checkout@v3

Expand Down
12 changes: 1 addition & 11 deletions .github/workflows/test-android.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,23 +11,13 @@ on:
- "bdk-android/**"

# The default Android NDK on the ubuntu-22.04 image is 25.2.9519653
# We replace the default environment variable ANDROID_NDK_ROOT: /usr/local/lib/android/sdk/ndk/25.2.9519653
# with an older version of the NDK (21.4.7075529) using the fix proposed here: https://github.com/actions/runner-images/issues/5930
# For information on why this is needed at the moment see issues #242 and #243, and PR #282
env:
ANDROID_NDK_ROOT: /usr/local/lib/android/sdk/ndk/21.4.7075529
ANDROID_NDK_ROOT: /usr/local/lib/android/sdk/ndk/25.2.9519653

jobs:
build:
runs-on: ubuntu-20.04
steps:
- name: "Install Android NDK 21.4.7075529"
run: |
ANDROID_ROOT=/usr/local/lib/android
ANDROID_SDK_ROOT=${ANDROID_ROOT}/sdk
SDKMANAGER=${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager
echo "y" | $SDKMANAGER "ndk;21.4.7075529"
- name: "Check out PR branch"
uses: actions/checkout@v3

Expand Down
10 changes: 5 additions & 5 deletions bdk-android/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,28 +48,28 @@ dependencies {
* [Padawan Wallet](https://github.com/thunderbiscuit/padawan-wallet)

### How to build
_Note that Kotlin version `1.6.10` or later is required to build the library._
_Note that Kotlin version `1.9.23` or later is required to build the library._

1. Clone this repository.
```shell
git clone https://github.com/bitcoindevkit/bdk-ffi
```
2. Follow the "General" bdk-ffi ["Getting Started (Developer)"] instructions.
3. Install Rust (note that we are currently building using Rust 1.67.0):
3. Install Rust (note that we are currently building using Rust stable):
```shell
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
rustup default 1.67.0
rustup default stable
```
4. Install required targets
```sh
rustup target add x86_64-linux-android aarch64-linux-android armv7-linux-androideabi
```
5. Install Android SDK and Build-Tools for API level 30+
6. Setup `$ANDROID_SDK_ROOT` and `$ANDROID_NDK_ROOT` path variables (which are required by the
build tool), for example (note that currently, NDK version 21.4.7075529 is required):
build tool), for example (note that currently, NDK version 25.2.9519653 is required):
```shell
export ANDROID_SDK_ROOT=~/Android/Sdk
export ANDROID_NDK_ROOT=$ANDROID_SDK_ROOT/ndk/21.4.7075529
export ANDROID_NDK_ROOT=$ANDROID_SDK_ROOT/ndk/25.2.9519653
```
7. Build kotlin bindings
```sh
Expand Down
2 changes: 1 addition & 1 deletion bdk-android/lib/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ val libraryVersion: String by project

plugins {
id("com.android.library")
id("org.jetbrains.kotlin.android") version "1.6.10"
id("org.jetbrains.kotlin.android") version "1.9.23"
id("maven-publish")
id("signing")

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,10 @@ internal class UniFfiAndroidPlugin : Plugin<Project> {
environment(
// add build toolchain to PATH
Pair("PATH", "${System.getenv("PATH")}:${System.getenv("ANDROID_NDK_ROOT")}/toolchains/llvm/prebuilt/$llvmArchPath/bin"),
Pair("CFLAGS", "-D__ANDROID_MIN_SDK_VERSION__=21"),
Pair("CFLAGS", "-D__ANDROID_MIN_SDK_VERSION__=24"),
Pair("AR", "llvm-ar"),
Pair("CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER", "aarch64-linux-android21-clang"),
Pair("CC", "aarch64-linux-android21-clang")
Pair("CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER", "aarch64-linux-android24-clang"),
Pair("CC", "aarch64-linux-android24-clang")
)

doLast {
Expand All @@ -66,10 +66,10 @@ internal class UniFfiAndroidPlugin : Plugin<Project> {
environment(
// add build toolchain to PATH
Pair("PATH", "${System.getenv("PATH")}:${System.getenv("ANDROID_NDK_ROOT")}/toolchains/llvm/prebuilt/$llvmArchPath/bin"),
Pair("CFLAGS", "-D__ANDROID_MIN_SDK_VERSION__=21"),
Pair("CFLAGS", "-D__ANDROID_MIN_SDK_VERSION__=24"),
Pair("AR", "llvm-ar"),
Pair("CARGO_TARGET_X86_64_LINUX_ANDROID_LINKER", "x86_64-linux-android21-clang"),
Pair("CC", "x86_64-linux-android21-clang")
Pair("CARGO_TARGET_X86_64_LINUX_ANDROID_LINKER", "x86_64-linux-android24-clang"),
Pair("CC", "x86_64-linux-android24-clang")
)

doLast {
Expand Down
6 changes: 3 additions & 3 deletions bdk-jvm/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,17 +47,17 @@ dependencies {
* [Tatooine Faucet](https://github.com/thunderbiscuit/tatooine)

## How to build
_Note that Kotlin version `1.6.10` or later is required to build the library._
_Note that Kotlin version `1.9.23` or later is required to build the library._
1. Install JDK 11. It must be version 11 (not 17), otherwise it won't build. For example, with SDKMAN!:
```shell
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk install java 11.0.19-tem
```
2. Install Rust (note that we are currently building using Rust 1.67.0):
2. Install Rust (note that we are currently building using Rust stable):
```shell
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
rustup default 1.67.0
rustup default stable
```
3. Clone this repository.
```shell
Expand Down
2 changes: 1 addition & 1 deletion bdk-jvm/lib/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
val libraryVersion: String by project

plugins {
id("org.jetbrains.kotlin.jvm") version "1.6.10"
id("org.jetbrains.kotlin.jvm") version "1.9.23"
id("java-library")
id("maven-publish")
id("signing")
Expand Down
2 changes: 1 addition & 1 deletion bdk-python/scripts/generate-linux.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ cd ../bdk-ffi/
cargo run --bin uniffi-bindgen generate src/bdk.udl --language python --out-dir ../bdk-python/src/bdkpython/ --no-format

echo "Generating native binaries..."
rustup default 1.67.0
rustup default stable
cargo build --profile release-smaller

echo "Copying linux libbdkffi.so..."
Expand Down
2 changes: 1 addition & 1 deletion bdk-python/scripts/generate-macos-arm64.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ cd ../bdk-ffi/
cargo run --bin uniffi-bindgen generate src/bdk.udl --language python --out-dir ../bdk-python/src/bdkpython/ --no-format

echo "Generating native binaries..."
rustup default 1.67.0
rustup default stable
rustup target add aarch64-apple-darwin
cargo build --profile release-smaller --target aarch64-apple-darwin

Expand Down
2 changes: 1 addition & 1 deletion bdk-python/scripts/generate-windows.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ cd ../bdk-ffi/
cargo run --bin uniffi-bindgen generate src/bdk.udl --language python --out-dir ../bdk-python/src/bdkpython/ --no-format

echo "Generating native binaries..."
rustup default 1.67.0
rustup default stable
rustup target add x86_64-pc-windows-msvc
cargo build --profile release-smaller --target x86_64-pc-windows-msvc

Expand Down
1 change: 1 addition & 0 deletions clippy.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
msrv="1.77.1"

0 comments on commit 5a6d8e4

Please sign in to comment.