Commit Graph
985 Commits
Author SHA1 Message Date
thunderbiscuit 51f978e78e Add custom Gradle plugin to build bdk-android library 2022-04-12 14:41:04 -04:00
thunderbiscuit b8e1282eba Fix dokka theme bug with AGP 2022-04-07 15:45:48 -04:00
thunderbiscuit 758608419b Temp: Start Android plugin 2022-04-07 13:50:34 -04:00
thunderbiscuit e566c4017c Remove intermediate tasks from Bitcoindevkit group
This ensures they don't show up when using ./gradlew :jvm:tasks. The
only two tasks that will appear in the end will be buildJvmLib and
buildAndroidLib.
2022-04-05 22:17:12 -04:00
thunderbiscuit 35f097542b Add documentation for plugin 2022-04-05 21:36:06 -04:00
thunderbiscuit 06d3f96706 Add aggregate task buildJvmLib 2022-04-05 21:35:59 -04:00
thunderbiscuit a8d0bf52d2 Add Gradle plugin MVP for building JVM library 2022-04-05 21:35:51 -04:00
Steve Myers 1bcacece65 Update docs.patch file 2022-04-05 16:45:24 -07:00
Steve Myers 25863c527f Comment out jvm test walletTxBuilderDrainWallet 2022-04-05 15:05:04 -07:00
Steve Myers 1905d8804d Add jvm walletTxBuilderDrainWallet test 2022-04-05 15:05:02 -07:00
Steve Myers 65b9a3f9b6 Fix CI caching for bdk-ffi/target 2022-04-05 15:05:00 -07:00
Steve Myers 43865b0ad0 Update bdk-ffi to v0.5.0 2022-04-05 15:04:58 -07:00
Steve Myers 907f67eb83 Update bdk-ffi and add TxBuilder tests 2022-04-05 15:04:56 -07:00
Steve Myers f205269d97 Fix tests network and addresses to TESTNET
Must be TESTNET to match BlockchainConfig.
2022-04-05 15:04:54 -07:00
Sudarsan Balaji a12e5ed396 Use Path instead of PathBuf 2022-04-04 11:07:51 +01:00
Sudarsan Balaji fc00d0d38c Use unwrap_or_else panic instead of expect 2022-04-04 11:01:50 +01:00
Sudarsan Balaji 7ea5e75bc4 Use write_all when not writing partially 2022-04-04 10:59:19 +01:00
Sudarsan Balaji a5bd16db4d Enforce rust naming conventions 2022-04-04 10:58:01 +01:00
Steve Myers d72905168b Merge bitcoindevkit/bdk-ffi#128: Release/0.5
8a556d0ba0 Bump bdk-ffi version to 0.5.0 (Steve Myers)
d7c5f24fe8 Bump bdk-ffi-bindgen version to 0.2.0 (Steve Myers)
f1431c3073 Update CHANGELOG.md (Steve Myers)

Pull request description:

Top commit has no ACKs.

Tree-SHA512: 2d612936740b93148c90acf512005c82e1fe38b4708710952abeac03d361e7dca6c6bdea4e82981a87dbba1cb6d37c0bd48b4ab252467798aa60aca463af5e5e
2022-04-01 19:24:48 -07:00
Steve Myers 8a556d0ba0 Bump bdk-ffi version to 0.5.0 v0.5.0 2022-04-01 19:16:53 -07:00
Steve Myers d7c5f24fe8 Bump bdk-ffi-bindgen version to 0.2.0 2022-04-01 19:16:29 -07:00
Steve Myers f1431c3073 Update CHANGELOG.md 2022-04-01 19:15:58 -07:00
Steve Myers e797efea57 Merge bitcoindevkit/bdk-ffi#126: Add workspace and bdk-ffi-bindgen binary cli tool
b207464fe6 Update README.md with bdk-ffi-bindgen info (Steve Myers)
fca5d1602b Add workspace and move bin to bdk-ffi-bindgen package (Steve Myers)
f4e097c4ac Only print python fix up lib path if used (Steve Myers)
c66dfdd52a Use structopt to capture generate options (Steve Myers)
ce848725b4 Add binary to remove the need for uniffi-bindgen cli tool (thunderbiscuit)

Pull request description:

  This PR is based on the mozilla/application-services [embedded-uniffi-bindgen](https://github.com/mozilla/application-services/tree/main/tools/embedded-uniffi-bindgen) tool. The purpose is to keep the bdk-ffi and bdk-ffi-bindgen tool in sync with the same version of uniffi-rs.

  Fixes #124, this PR replaces #122.

  The `bdkffi` library code remains unchanged but the `bin/generate` and `bin/generate-bindings` bins are combined and put in a new workspace binary package called `bdk-ffi-bindgen`.  The `bdk-ffi-bindgen` binary uses the following options, defaults, and environment variables:

  ```shell
  % cargo run -p bdk-ffi-bindgen -- --help

  bdk-ffi-bindgen 0.1.0
  A tool to generate bdk-ffi language bindings

  USAGE:
      bdk-ffi-bindgen [OPTIONS] --language <language> --out-dir <out-dir>

  FLAGS:
      -h, --help       Prints help information
      -V, --version    Prints version information

  OPTIONS:
      -l, --language <language>
              Language to generate bindings for [env: BDKFFI_BINDGEN_LANGUAGE=]  [possible values: kotlin, swift, python]

      -o, --out-dir <out-dir>
              Output directory to put generated language bindings [env: BDKFFI_BINDGEN_OUTPUT_DIR=]

      -p, --python-fixup-path <python-fixup-path>    Python fix up lib path [env: BDKFFI_BINDGEN_PYTHON_FIXUP_PATH=]
      -u, --udl-file <udl-file>                      UDL file [env: BDKFFI_BINDGEN_UDL=]  [default: src/bdk.udl]

  ```

Top commit has no ACKs.

Tree-SHA512: fa1a1c097fe5d0e704d76078c10f82c466dad5d045c8c93d579c2d13c448c52fb6a4f99dfd3dbc46be30471477ae2d1f9264201e14bae7948b408c8e0b3c9b81
2022-04-01 18:58:18 -07:00
thunderbiscuit 0aa9db450d Add library version to API docs 2022-04-01 12:56:16 -04:00
Sudarsan Balaji a41d628b14 Fix typo 2022-04-01 13:56:43 +05:30
Steve Myers b207464fe6 Update README.md with bdk-ffi-bindgen info 2022-03-31 20:18:31 -07:00
Steve Myers fca5d1602b Add workspace and move bin to bdk-ffi-bindgen package 2022-03-31 19:29:05 -07:00
Steve Myers f4e097c4ac Only print python fix up lib path if used 2022-03-31 19:29:03 -07:00
Steve Myers c66dfdd52a Use structopt to capture generate options 2022-03-31 19:29:01 -07:00
thunderbiscuit ce848725b4 Add binary to remove the need for uniffi-bindgen cli tool 2022-03-31 19:28:59 -07:00
Sudarsan Balaji 5512b31969 Simplify 2022-03-31 17:26:32 +01:00
Sudarsan Balaji a48f9b4387 Simplify 2022-03-31 17:22:52 +01:00
Sudarsan Balaji 87a0a15ea7 Fix formatting
cargo fmt
2022-03-31 17:18:03 +01:00
Sudarsan Balaji ee91ad5b31 Add TxBuilder::drain_to 2022-03-31 17:17:43 +01:00
Sudarsan Balaji ba68103be1 Add TxBuilder::drain_wallet 2022-03-31 17:17:24 +01:00
Steve Myers 4f121f8289 Merge commit 'refs/pull/31/head' of github.com:bitcoindevkit/bdk-kotlin 2022-03-30 12:03:11 -07:00
thunderbiscuit 42b8db8609 Fix docs homepages module.md files 2022-03-30 14:29:09 -04:00
Steve Myers bc43d2eb1a Map TxBuilder address error to BdkError::Generic 2022-03-28 17:30:40 -07:00
Sudarsan Balaji adc3f68e31 Remove unnecessary map_err 2022-03-28 20:04:22 +01:00
Sudarsan Balaji dd5622f724 Remove PSBT constructor 2022-03-25 17:39:25 +00:00
Sudarsan Balaji e5aa51c3f8 Use TxBuilder in PSBT constructor 2022-03-25 17:37:25 +00:00
Sudarsan Balaji a39fc787d5 Add initial version of TxBuilder 2022-03-25 17:24:21 +00:00
Sudarsan Balaji 51603e06d9 Remove to_owned() 2022-03-25 15:18:25 +00:00
thunderbiscuit 61295bf7ac Merge pull request #33 from kirillzh/issue-32/publish-android-sources-and-docs
#32: Enable publishing bdk-android sources and java docs
2022-03-23 19:47:40 -04:00
Steve Myers f99ba7f992 Add CI steps to build bdk-ffi libraries 2022-03-22 13:54:42 -05:00
Sudarsan Balaji fa1b94da10 Merge commit 'refs/pull/34/head' of https://github.com/bitcoindevkit/bdk-kotlin 2022-03-21 20:27:45 +00:00
Steve Myers a1b89adf84 Remove unneeded WalletHolder and WalletOperations traits 2022-03-20 19:59:20 -05:00
Kirill Zhukov 16e6a4b170 Update README and build.sh script to use latest env var naming.
ANDROID_HOME, ANDROID_SDK_HOME, and ANDROID_NDK_HOME are not used by the Android platform and SDK tools so these are considered deprecated/invalid.

Google recommends using ANDROID_SDK_ROOT and ANDROID_NDK_ROOT instead:
- https://groups.google.com/g/android-ndk/c/qZjhOaynHXc/m/2ux2ZZdxy2MJ
- https://developer.android.com/studio/command-line/variables
2022-03-20 16:52:56 -07:00
Kirill Zhukov aea8d703e1 Enable publishing sources and javadocs for bdk-android.
This resolves bitcoindevkit#32.
Using new API from AGP 7.1.0 to generate and publish Android sources and javadocs.

https://developer.android.com/studio/releases/gradle-plugin#publish-javadoc-jar
https://developer.android.com/studio/releases/gradle-plugin#publish-sources-jar
2022-03-20 15:47:21 -07:00
Kirill Zhukov bb9d0869ac Update AGP to 7.1.2.
AGP 7.1.0 adds maven-publish APIs for making publishing javadocs and sources for Android libraries very easy. We can use that to resolve #32.

Changelog: https://developer.android.com/studio/releases/gradle-plugin#versioning-update.
2022-03-20 15:47:19 -07:00