Upgrade uniffi-rs to 0.23.0 and migrate Gradle plugins
This commit is contained in:
parent
a75c868eb2
commit
c93f292b0e
158
Cargo.lock
generated
158
Cargo.lock
generated
@ -156,13 +156,11 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "bdk-ffi"
|
name = "bdk-ffi"
|
||||||
version = "0.27.0"
|
version = "0.27.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"assert_matches",
|
"assert_matches",
|
||||||
"bdk",
|
"bdk",
|
||||||
"uniffi",
|
"uniffi",
|
||||||
"uniffi_build",
|
|
||||||
"uniffi_macros",
|
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -172,7 +170,7 @@ dependencies = [
|
|||||||
"anyhow",
|
"anyhow",
|
||||||
"camino",
|
"camino",
|
||||||
"structopt",
|
"structopt",
|
||||||
"uniffi_bindgen",
|
"uniffi_bindgen 0.21.1",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -309,15 +307,16 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cargo_metadata"
|
name = "cargo_metadata"
|
||||||
version = "0.14.2"
|
version = "0.15.3"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "4acbb09d9ee8e23699b9634375c72795d095bf268439da88562cf9b501f181fa"
|
checksum = "08a1ec454bc3eead8719cb56e15dbbfecdbc14e4b3a3ae4936cc6e31f5fc0d07"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"camino",
|
"camino",
|
||||||
"cargo-platform",
|
"cargo-platform",
|
||||||
"semver",
|
"semver",
|
||||||
"serde",
|
"serde",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
|
"thiserror",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -514,6 +513,12 @@ dependencies = [
|
|||||||
"wasi",
|
"wasi",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "glob"
|
||||||
|
version = "0.3.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "goblin"
|
name = "goblin"
|
||||||
version = "0.5.4"
|
version = "0.5.4"
|
||||||
@ -525,6 +530,17 @@ dependencies = [
|
|||||||
"scroll",
|
"scroll",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "goblin"
|
||||||
|
version = "0.6.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "0d6b4de4a8eb6c46a8c77e1d3be942cb9a8bf073c22374578e5ba4b08ed0ff68"
|
||||||
|
dependencies = [
|
||||||
|
"log",
|
||||||
|
"plain",
|
||||||
|
"scroll",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "hashbrown"
|
name = "hashbrown"
|
||||||
version = "0.12.3"
|
version = "0.12.3"
|
||||||
@ -1179,6 +1195,26 @@ version = "0.16.0"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
|
checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "thiserror"
|
||||||
|
version = "1.0.38"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0"
|
||||||
|
dependencies = [
|
||||||
|
"thiserror-impl",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "thiserror-impl"
|
||||||
|
version = "1.0.38"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro2",
|
||||||
|
"quote",
|
||||||
|
"syn",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tokio"
|
name = "tokio"
|
||||||
version = "1.25.0"
|
version = "1.25.0"
|
||||||
@ -1255,19 +1291,13 @@ checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "uniffi"
|
name = "uniffi"
|
||||||
version = "0.21.1"
|
version = "0.23.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "b983553c0d1ad73547c65fa0c399aa800bee4a70ad330198e1c7a523212da5ee"
|
checksum = "f71cc01459bc34cfe43fabf32b39f1228709bc6db1b3a664a92940af3d062376"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"bytes",
|
"uniffi_build",
|
||||||
"camino",
|
"uniffi_core",
|
||||||
"cargo_metadata",
|
|
||||||
"log",
|
|
||||||
"once_cell",
|
|
||||||
"paste",
|
|
||||||
"static_assertions",
|
|
||||||
"uniffi_bindgen",
|
|
||||||
"uniffi_macros",
|
"uniffi_macros",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -1283,26 +1313,50 @@ dependencies = [
|
|||||||
"camino",
|
"camino",
|
||||||
"clap 3.2.23",
|
"clap 3.2.23",
|
||||||
"fs-err",
|
"fs-err",
|
||||||
"goblin",
|
"goblin 0.5.4",
|
||||||
"heck 0.4.1",
|
"heck 0.4.1",
|
||||||
"once_cell",
|
"once_cell",
|
||||||
"paste",
|
"paste",
|
||||||
"serde",
|
"serde",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
"toml",
|
"toml",
|
||||||
"uniffi_meta",
|
"uniffi_meta 0.21.1",
|
||||||
|
"weedle2",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "uniffi_bindgen"
|
||||||
|
version = "0.23.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "dbbba5103051c18f10b22f80a74439ddf7100273f217a547005d2735b2498994"
|
||||||
|
dependencies = [
|
||||||
|
"anyhow",
|
||||||
|
"askama",
|
||||||
|
"bincode",
|
||||||
|
"camino",
|
||||||
|
"fs-err",
|
||||||
|
"glob",
|
||||||
|
"goblin 0.6.1",
|
||||||
|
"heck 0.4.1",
|
||||||
|
"once_cell",
|
||||||
|
"paste",
|
||||||
|
"serde",
|
||||||
|
"serde_json",
|
||||||
|
"toml",
|
||||||
|
"uniffi_meta 0.23.0",
|
||||||
|
"uniffi_testing",
|
||||||
"weedle2",
|
"weedle2",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "uniffi_build"
|
name = "uniffi_build"
|
||||||
version = "0.21.1"
|
version = "0.23.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "d035e50433ee3d52ab0dcdcf3b9b26f2cc2ec39294b3c07d95865a518709455f"
|
checksum = "0ee1a28368ff3d83717e3d3e2e15a66269c43488c3f036914131bb68892f29fb"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"camino",
|
"camino",
|
||||||
"uniffi_bindgen",
|
"uniffi_bindgen 0.23.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -1316,10 +1370,36 @@ dependencies = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "uniffi_macros"
|
name = "uniffi_checksum_derive"
|
||||||
version = "0.21.1"
|
version = "0.23.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "c96a574677566f83ea8458dac1dd7792fd63e7c3f9dbcd865f0e8d6f8057b127"
|
checksum = "03de61393a42b4ad4984a3763c0600594ac3e57e5aaa1d05cede933958987c03"
|
||||||
|
dependencies = [
|
||||||
|
"quote",
|
||||||
|
"syn",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "uniffi_core"
|
||||||
|
version = "0.23.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "7a2b4852d638d74ca2d70e450475efb6d91fe6d54a7cd8d6bd80ad2ee6cd7daa"
|
||||||
|
dependencies = [
|
||||||
|
"anyhow",
|
||||||
|
"bytes",
|
||||||
|
"camino",
|
||||||
|
"cargo_metadata",
|
||||||
|
"log",
|
||||||
|
"once_cell",
|
||||||
|
"paste",
|
||||||
|
"static_assertions",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "uniffi_macros"
|
||||||
|
version = "0.23.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "fa03394de21e759e0022f1ea8d992d2e39290d735b9ed52b1f74b20a684f794e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bincode",
|
"bincode",
|
||||||
"camino",
|
"camino",
|
||||||
@ -1331,7 +1411,7 @@ dependencies = [
|
|||||||
"syn",
|
"syn",
|
||||||
"toml",
|
"toml",
|
||||||
"uniffi_build",
|
"uniffi_build",
|
||||||
"uniffi_meta",
|
"uniffi_meta 0.23.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -1342,7 +1422,33 @@ checksum = "729835442da829c9b6f7c111c76cf87b2498e129101203bec94f0c39a3296a38"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"serde",
|
"serde",
|
||||||
"siphasher",
|
"siphasher",
|
||||||
"uniffi_checksum_derive",
|
"uniffi_checksum_derive 0.21.1",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "uniffi_meta"
|
||||||
|
version = "0.23.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "66fdab2c436aed7a6391bec64204ec33948bfed9b11b303235740771f85c4ea6"
|
||||||
|
dependencies = [
|
||||||
|
"serde",
|
||||||
|
"siphasher",
|
||||||
|
"uniffi_checksum_derive 0.23.0",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "uniffi_testing"
|
||||||
|
version = "0.23.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "92b0570953ec41d97ce23e3b92161ac18231670a1f97523258a6d2ab76d7f76c"
|
||||||
|
dependencies = [
|
||||||
|
"anyhow",
|
||||||
|
"camino",
|
||||||
|
"cargo_metadata",
|
||||||
|
"fs-err",
|
||||||
|
"once_cell",
|
||||||
|
"serde",
|
||||||
|
"serde_json",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -21,8 +21,7 @@ internal class UniFfiAndroidPlugin : Plugin<Project> {
|
|||||||
val buildAndroidAarch64Binary by tasks.register<Exec>("buildAndroidAarch64Binary") {
|
val buildAndroidAarch64Binary by tasks.register<Exec>("buildAndroidAarch64Binary") {
|
||||||
|
|
||||||
workingDir("${projectDir}/../../bdk-ffi")
|
workingDir("${projectDir}/../../bdk-ffi")
|
||||||
val cargoArgs: MutableList<String> =
|
val cargoArgs: List<String> = listOf("build", "--features", "uniffi/cli", "--profile", "release-smaller", "--target", "aarch64-linux-android")
|
||||||
mutableListOf("build", "--profile", "release-smaller", "--target", "aarch64-linux-android")
|
|
||||||
|
|
||||||
executable("cargo")
|
executable("cargo")
|
||||||
args(cargoArgs)
|
args(cargoArgs)
|
||||||
@ -36,9 +35,7 @@ internal class UniFfiAndroidPlugin : Plugin<Project> {
|
|||||||
|
|
||||||
environment(
|
environment(
|
||||||
// add build toolchain to PATH
|
// add build toolchain to PATH
|
||||||
Pair("PATH",
|
Pair("PATH", "${System.getenv("PATH")}:${System.getenv("ANDROID_NDK_ROOT")}/toolchains/llvm/prebuilt/$llvmArchPath/bin"),
|
||||||
"${System.getenv("PATH")}:${System.getenv("ANDROID_NDK_ROOT")}/toolchains/llvm/prebuilt/$llvmArchPath/bin"),
|
|
||||||
|
|
||||||
Pair("CFLAGS", "-D__ANDROID_API__=21"),
|
Pair("CFLAGS", "-D__ANDROID_API__=21"),
|
||||||
Pair("CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER", "aarch64-linux-android21-clang"),
|
Pair("CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER", "aarch64-linux-android21-clang"),
|
||||||
Pair("CC", "aarch64-linux-android21-clang")
|
Pair("CC", "aarch64-linux-android21-clang")
|
||||||
@ -53,8 +50,7 @@ internal class UniFfiAndroidPlugin : Plugin<Project> {
|
|||||||
val buildAndroidX86_64Binary by tasks.register<Exec>("buildAndroidX86_64Binary") {
|
val buildAndroidX86_64Binary by tasks.register<Exec>("buildAndroidX86_64Binary") {
|
||||||
|
|
||||||
workingDir("${project.projectDir}/../../bdk-ffi")
|
workingDir("${project.projectDir}/../../bdk-ffi")
|
||||||
val cargoArgs: MutableList<String> =
|
val cargoArgs: List<String> = listOf("build", "--features", "uniffi/cli", "--profile", "release-smaller", "--target", "x86_64-linux-android")
|
||||||
mutableListOf("build", "--profile", "release-smaller", "--target", "x86_64-linux-android")
|
|
||||||
|
|
||||||
executable("cargo")
|
executable("cargo")
|
||||||
args(cargoArgs)
|
args(cargoArgs)
|
||||||
@ -68,9 +64,7 @@ internal class UniFfiAndroidPlugin : Plugin<Project> {
|
|||||||
|
|
||||||
environment(
|
environment(
|
||||||
// add build toolchain to PATH
|
// add build toolchain to PATH
|
||||||
Pair("PATH",
|
Pair("PATH", "${System.getenv("PATH")}:${System.getenv("ANDROID_NDK_ROOT")}/toolchains/llvm/prebuilt/$llvmArchPath/bin"),
|
||||||
"${System.getenv("PATH")}:${System.getenv("ANDROID_NDK_ROOT")}/toolchains/llvm/prebuilt/$llvmArchPath/bin"),
|
|
||||||
|
|
||||||
Pair("CFLAGS", "-D__ANDROID_API__=21"),
|
Pair("CFLAGS", "-D__ANDROID_API__=21"),
|
||||||
Pair("CARGO_TARGET_X86_64_LINUX_ANDROID_LINKER", "x86_64-linux-android21-clang"),
|
Pair("CARGO_TARGET_X86_64_LINUX_ANDROID_LINKER", "x86_64-linux-android21-clang"),
|
||||||
Pair("CC", "x86_64-linux-android21-clang")
|
Pair("CC", "x86_64-linux-android21-clang")
|
||||||
@ -85,8 +79,7 @@ internal class UniFfiAndroidPlugin : Plugin<Project> {
|
|||||||
val buildAndroidArmv7Binary by tasks.register<Exec>("buildAndroidArmv7Binary") {
|
val buildAndroidArmv7Binary by tasks.register<Exec>("buildAndroidArmv7Binary") {
|
||||||
|
|
||||||
workingDir("${project.projectDir}/../../bdk-ffi")
|
workingDir("${project.projectDir}/../../bdk-ffi")
|
||||||
val cargoArgs: MutableList<String> =
|
val cargoArgs: List<String> = listOf("build", "--features", "uniffi/cli", "--profile", "release-smaller", "--target", "armv7-linux-androideabi")
|
||||||
mutableListOf("build", "--profile", "release-smaller", "--target", "armv7-linux-androideabi")
|
|
||||||
|
|
||||||
executable("cargo")
|
executable("cargo")
|
||||||
args(cargoArgs)
|
args(cargoArgs)
|
||||||
@ -100,12 +93,9 @@ internal class UniFfiAndroidPlugin : Plugin<Project> {
|
|||||||
|
|
||||||
environment(
|
environment(
|
||||||
// add build toolchain to PATH
|
// add build toolchain to PATH
|
||||||
Pair("PATH",
|
Pair("PATH", "${System.getenv("PATH")}:${System.getenv("ANDROID_NDK_ROOT")}/toolchains/llvm/prebuilt/$llvmArchPath/bin"),
|
||||||
"${System.getenv("PATH")}:${System.getenv("ANDROID_NDK_ROOT")}/toolchains/llvm/prebuilt/$llvmArchPath/bin"),
|
|
||||||
|
|
||||||
Pair("CFLAGS", "-D__ANDROID_API__=21"),
|
Pair("CFLAGS", "-D__ANDROID_API__=21"),
|
||||||
Pair("CARGO_TARGET_ARMV7_LINUX_ANDROIDEABI_LINKER",
|
Pair("CARGO_TARGET_ARMV7_LINUX_ANDROIDEABI_LINKER", "armv7a-linux-androideabi21-clang"),
|
||||||
"armv7a-linux-androideabi21-clang"),
|
|
||||||
Pair("CC", "armv7a-linux-androideabi21-clang")
|
Pair("CC", "armv7a-linux-androideabi21-clang")
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -145,17 +135,10 @@ internal class UniFfiAndroidPlugin : Plugin<Project> {
|
|||||||
dependsOn(moveNativeAndroidLibs)
|
dependsOn(moveNativeAndroidLibs)
|
||||||
|
|
||||||
workingDir("${project.projectDir}/../../bdk-ffi")
|
workingDir("${project.projectDir}/../../bdk-ffi")
|
||||||
|
val cargoArgs: List<String> = listOf("run", "--features", "uniffi/cli", "--bin", "uniffi-bindgen", "generate", "src/bdk.udl", "--language", "kotlin", "--out-dir", "../bdk-android/lib/src/main/kotlin")
|
||||||
|
|
||||||
executable("cargo")
|
executable("cargo")
|
||||||
args(
|
args(cargoArgs)
|
||||||
"run",
|
|
||||||
"--package",
|
|
||||||
"bdk-ffi-bindgen",
|
|
||||||
"--",
|
|
||||||
"--language",
|
|
||||||
"kotlin",
|
|
||||||
"--out-dir",
|
|
||||||
"../bdk-android/lib/src/main/kotlin"
|
|
||||||
)
|
|
||||||
|
|
||||||
doLast {
|
doLast {
|
||||||
println("Android bindings file successfully created")
|
println("Android bindings file successfully created")
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "bdk-ffi"
|
name = "bdk-ffi"
|
||||||
version = "0.27.0"
|
version = "0.27.1"
|
||||||
authors = ["Steve Myers <steve@notmandatory.org>", "Sudarsan Balaji <sudarsan.balaji@artfuldev.com>"]
|
authors = ["Steve Myers <steve@notmandatory.org>", "Sudarsan Balaji <sudarsan.balaji@artfuldev.com>"]
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
license = "MIT OR Apache-2.0"
|
license = "MIT OR Apache-2.0"
|
||||||
@ -9,13 +9,16 @@ license = "MIT OR Apache-2.0"
|
|||||||
crate-type = ["staticlib", "cdylib"]
|
crate-type = ["staticlib", "cdylib"]
|
||||||
name = "bdkffi"
|
name = "bdkffi"
|
||||||
|
|
||||||
|
[[bin]]
|
||||||
|
name = "uniffi-bindgen"
|
||||||
|
path = "uniffi-bindgen.rs"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
bdk = { version = "0.27.1", features = ["all-keys", "use-esplora-ureq", "sqlite-bundled", "rpc"] }
|
bdk = { version = "0.27.1", features = ["all-keys", "use-esplora-ureq", "sqlite-bundled", "rpc"] }
|
||||||
uniffi_macros = { version = "0.21.0", features = ["builtin-bindgen"] }
|
uniffi = { version = "0.23.0" }
|
||||||
uniffi = { version = "0.21.0", features = ["builtin-bindgen"] }
|
|
||||||
|
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
uniffi_build = { version = "0.21.0", features = ["builtin-bindgen"] }
|
uniffi = { version = "0.23.0", features = ["build"] }
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
assert_matches = "1.5.0"
|
assert_matches = "1.5.0"
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
fn main() {
|
fn main() {
|
||||||
uniffi_build::generate_scaffolding("src/bdk.udl").unwrap();
|
uniffi::generate_scaffolding("./src/bdk.udl").unwrap();
|
||||||
}
|
}
|
||||||
|
@ -32,7 +32,7 @@ use std::io::Cursor;
|
|||||||
use std::str::FromStr;
|
use std::str::FromStr;
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
|
|
||||||
uniffi_macros::include_scaffolding!("bdk");
|
uniffi::include_scaffolding!("bdk");
|
||||||
|
|
||||||
/// A output script and an amount of satoshis.
|
/// A output script and an amount of satoshis.
|
||||||
pub struct ScriptAmount {
|
pub struct ScriptAmount {
|
||||||
|
3
bdk-ffi/uniffi-bindgen.rs
Normal file
3
bdk-ffi/uniffi-bindgen.rs
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
fn main() {
|
||||||
|
uniffi::uniffi_bindgen_main()
|
||||||
|
}
|
@ -12,26 +12,26 @@ internal class UniFfiJvmPlugin : Plugin<Project> {
|
|||||||
override fun apply(target: Project): Unit = target.run {
|
override fun apply(target: Project): Unit = target.run {
|
||||||
|
|
||||||
// register a task called buildJvmBinaries which will run something like
|
// register a task called buildJvmBinaries which will run something like
|
||||||
// cargo build --release --target aarch64-apple-darwin
|
// cargo build --features uniffi/cli --release --target aarch64-apple-darwin
|
||||||
val buildJvmBinaries by tasks.register<DefaultTask>("buildJvmBinaries") {
|
val buildJvmBinaries by tasks.register<DefaultTask>("buildJvmBinaries") {
|
||||||
if (operatingSystem == OS.MAC) {
|
if (operatingSystem == OS.MAC) {
|
||||||
exec {
|
exec {
|
||||||
workingDir("${project.projectDir}/../../bdk-ffi")
|
workingDir("${project.projectDir}/../../bdk-ffi")
|
||||||
executable("cargo")
|
executable("cargo")
|
||||||
val cargoArgs: List<String> = listOf("build", "--profile", "release-smaller", "--target", "x86_64-apple-darwin")
|
val cargoArgs: List<String> = listOf("build", "--features", "uniffi/cli", "--profile", "release-smaller", "--target", "x86_64-apple-darwin")
|
||||||
args(cargoArgs)
|
args(cargoArgs)
|
||||||
}
|
}
|
||||||
exec {
|
exec {
|
||||||
workingDir("${project.projectDir}/../../bdk-ffi")
|
workingDir("${project.projectDir}/../../bdk-ffi")
|
||||||
executable("cargo")
|
executable("cargo")
|
||||||
val cargoArgs: List<String> = listOf("build", "--profile", "release-smaller", "--target", "aarch64-apple-darwin")
|
val cargoArgs: List<String> = listOf("build", "--features", "uniffi/cli", "--profile", "release-smaller", "--target", "aarch64-apple-darwin")
|
||||||
args(cargoArgs)
|
args(cargoArgs)
|
||||||
}
|
}
|
||||||
} else if(operatingSystem == OS.LINUX) {
|
} else if(operatingSystem == OS.LINUX) {
|
||||||
exec {
|
exec {
|
||||||
workingDir("${project.projectDir}/../../bdk-ffi")
|
workingDir("${project.projectDir}/../../bdk-ffi")
|
||||||
executable("cargo")
|
executable("cargo")
|
||||||
val cargoArgs: List<String> = listOf("build", "--profile", "release-smaller", "--target", "x86_64-unknown-linux-gnu")
|
val cargoArgs: List<String> = listOf("build", "--features", "uniffi/cli", "--profile", "release-smaller", "--target", "x86_64-unknown-linux-gnu")
|
||||||
args(cargoArgs)
|
args(cargoArgs)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -90,17 +90,10 @@ internal class UniFfiJvmPlugin : Plugin<Project> {
|
|||||||
dependsOn(moveNativeJvmLibs)
|
dependsOn(moveNativeJvmLibs)
|
||||||
|
|
||||||
workingDir("${project.projectDir}/../../bdk-ffi")
|
workingDir("${project.projectDir}/../../bdk-ffi")
|
||||||
|
val cargoArgs: List<String> = listOf("run", "--features", "uniffi/cli", "--bin", "uniffi-bindgen", "generate", "src/bdk.udl", "--language", "kotlin", "--out-dir", "../bdk-jvm/lib/src/main/kotlin")
|
||||||
|
|
||||||
executable("cargo")
|
executable("cargo")
|
||||||
args(
|
args(cargoArgs)
|
||||||
"run",
|
|
||||||
"--package",
|
|
||||||
"bdk-ffi-bindgen",
|
|
||||||
"--",
|
|
||||||
"--language",
|
|
||||||
"kotlin",
|
|
||||||
"--out-dir",
|
|
||||||
"../bdk-jvm/lib/src/main/kotlin"
|
|
||||||
)
|
|
||||||
|
|
||||||
doLast {
|
doLast {
|
||||||
println("JVM bindings file successfully created")
|
println("JVM bindings file successfully created")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user