Clean up docs for custom Gradle plugins

This commit is contained in:
thunderbiscuit
2022-04-12 15:04:24 -04:00
parent 51f978e78e
commit 12e04a634b
3 changed files with 66 additions and 64 deletions

View File

@@ -1,16 +1,22 @@
# Readme
The purpose of this directory is to host a Gradle plugin that adds tasks for building the native binaries required by bdk-jvm/ bdk-android and building the language bindings files.
The purpose of this directory is to host the Gradle plugins that add tasks for building the native binaries required by bdk-jvm and bdk-android, and building the language bindings files.
The plugin is applied to the specific `build.gradle.kts` files in `bdk-jvm` and `bdk-android` through the `plugins` block:
The plugins are applied to the specific `build.gradle.kts` files in `bdk-jvm` and `bdk-android` through the `plugins` block:
```kotlin
// bdk-jvm
plugins {
id("org.bitcoindevkit.plugin.generate-bdk-bindings")
id("org.bitcoindevkit.plugin.generate-jvm-bindings")
}
// bdk-android
plugins {
id("org.bitcoindevkit.plugins.generate-android-bindings")
}
```
It adds a series of tasks (`buildJvmBinary`, `moveNativeJvmLib`, `generateJvmBindings`) which are then brought together into an aggregate task called `buildJvmLib`.
They add a series of tasks which are brought together into an aggregate task called `buildJvmLib` for `bdk-jvm` and `buildAndroidLib` for `bdk-android`.
This task:
1. Builds the native JVM library (on your given platform) using `bdk-ffi`
This aggregate task:
1. Builds the native library(ies) using `bdk-ffi`
2. Places it in the correct resource directory
3. Builds the bindings file