Merge pull request #87 from bitcoindevkit/publish-to-staging
Publish bdk-jvm and bdk-android to Maven Central
This commit is contained in:
commit
4e14e8d22a
56
.github/workflows/publish-android.yaml
vendored
Normal file
56
.github/workflows/publish-android.yaml
vendored
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
name: Publish bdk-android to Maven Central
|
||||||
|
on: [workflow_dispatch]
|
||||||
|
|
||||||
|
env:
|
||||||
|
ANDROID_NDK_ROOT: /usr/local/lib/android/sdk/ndk/21.4.7075529
|
||||||
|
# By default the new ubuntu-20.04 images use the following ANDROID_NDK_ROOT
|
||||||
|
# ANDROID_NDK_ROOT: /usr/local/lib/android/sdk/ndk/25.0.8775105
|
||||||
|
|
||||||
|
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@v2
|
||||||
|
|
||||||
|
- name: Update bdk-ffi git submodule
|
||||||
|
run: |
|
||||||
|
git submodule set-url bdk-ffi https://github.com/bitcoindevkit/bdk-ffi.git
|
||||||
|
git submodule update --init bdk-ffi
|
||||||
|
|
||||||
|
- name: cache
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: |
|
||||||
|
~/.cargo/registry
|
||||||
|
~/.cargo/git
|
||||||
|
bdk-ffi/target
|
||||||
|
key: ${{ runner.os }}-${{ hashFiles('**/Cargo.toml','**/Cargo.lock') }}
|
||||||
|
|
||||||
|
- name: Set up JDK
|
||||||
|
uses: actions/setup-java@v2
|
||||||
|
with:
|
||||||
|
distribution: temurin
|
||||||
|
java-version: 11
|
||||||
|
|
||||||
|
- name: Install rust android targets
|
||||||
|
run: rustup target add x86_64-linux-android aarch64-linux-android armv7-linux-androideabi
|
||||||
|
|
||||||
|
- name: Build bdk-android library
|
||||||
|
run: ./gradlew :android:buildAndroidLib
|
||||||
|
|
||||||
|
- name: Publish to Maven Local and Maven Central
|
||||||
|
env:
|
||||||
|
ORG_GRADLE_PROJECT_signingKeyId: ${{ secrets.PGP_KEY_ID }}
|
||||||
|
ORG_GRADLE_PROJECT_signingKey: ${{ secrets.PGP_SECRET_KEY }}
|
||||||
|
ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.PGP_PASSPHRASE }}
|
||||||
|
ORG_GRADLE_PROJECT_ossrhUsername: ${{ secrets.NEXUS_USERNAME }}
|
||||||
|
ORG_GRADLE_PROJECT_ossrhPassword: ${{ secrets.NEXUS_PASSWORD }}
|
||||||
|
run: ./gradlew :android:publishToSonatype closeAndReleaseSonatypeStagingRepository
|
23
.github/workflows/publish-jvm.yaml
vendored
23
.github/workflows/publish-jvm.yaml
vendored
@ -85,18 +85,11 @@ jobs:
|
|||||||
name: artifact
|
name: artifact
|
||||||
path: ./jvm/src/main/resources/
|
path: ./jvm/src/main/resources/
|
||||||
|
|
||||||
- name: Upload everything in jvm/src/
|
- name: Publish to Maven Central
|
||||||
uses: actions/upload-artifact@v3
|
env:
|
||||||
with:
|
ORG_GRADLE_PROJECT_signingKeyId: ${{ secrets.PGP_KEY_ID }}
|
||||||
name: final-src-directory
|
ORG_GRADLE_PROJECT_signingKey: ${{ secrets.PGP_SECRET_KEY }}
|
||||||
path: /home/runner/work/bdk-kotlin/bdk-kotlin/jvm/
|
ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.PGP_PASSPHRASE }}
|
||||||
|
ORG_GRADLE_PROJECT_ossrhUsername: ${{ secrets.NEXUS_USERNAME }}
|
||||||
- name: Publish to MavenLocal
|
ORG_GRADLE_PROJECT_ossrhPassword: ${{ secrets.NEXUS_PASSWORD }}
|
||||||
run: ./gradlew :jvm:publishToMavenLocal --exclude-task signMavenPublication
|
run: ./gradlew :jvm:publishToSonatype closeAndReleaseSonatypeStagingRepository
|
||||||
|
|
||||||
# Copy/paste this artifact in your local Maven repository at ~/.m2/repository/
|
|
||||||
- name: Upload library from MavenLocal
|
|
||||||
uses: actions/upload-artifact@v3
|
|
||||||
with:
|
|
||||||
name: mavenlocal-bdk-jvm-artifact
|
|
||||||
path: ~/.m2/repository/
|
|
||||||
|
@ -1,4 +0,0 @@
|
|||||||
# Module bdk-android
|
|
||||||
The [bitcoindevkit](https://bitcoindevkit.org/) language bindings library for Android.
|
|
||||||
|
|
||||||
# Package org.bitcoindevkit
|
|
@ -4,9 +4,6 @@ plugins {
|
|||||||
id("maven-publish")
|
id("maven-publish")
|
||||||
id("signing")
|
id("signing")
|
||||||
|
|
||||||
// API docs
|
|
||||||
id("org.jetbrains.dokka")
|
|
||||||
|
|
||||||
// Custom plugin to generate the native libs and bindings file
|
// Custom plugin to generate the native libs and bindings file
|
||||||
id("org.bitcoindevkit.plugins.generate-android-bindings")
|
id("org.bitcoindevkit.plugins.generate-android-bindings")
|
||||||
}
|
}
|
||||||
@ -95,16 +92,11 @@ afterEvaluate {
|
|||||||
}
|
}
|
||||||
|
|
||||||
signing {
|
signing {
|
||||||
useGpgCmd()
|
// useGpgCmd()
|
||||||
|
// sign(publishing.publications)
|
||||||
|
val signingKeyId: String? by project
|
||||||
|
val signingKey: String? by project
|
||||||
|
val signingPassword: String? by project
|
||||||
|
useInMemoryPgpKeys(signingKeyId, signingKey, signingPassword)
|
||||||
sign(publishing.publications)
|
sign(publishing.publications)
|
||||||
}
|
}
|
||||||
|
|
||||||
// tasks.withType<org.jetbrains.dokka.gradle.DokkaTask>().configureEach {
|
|
||||||
// dokkaSourceSets {
|
|
||||||
// named("main") {
|
|
||||||
// moduleName.set("bdk-android")
|
|
||||||
// moduleVersion.set("0.8.0-SNAPSHOT")
|
|
||||||
// includes.from("Module.md")
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
@ -13,15 +13,15 @@ plugins {
|
|||||||
id("signing")
|
id("signing")
|
||||||
id("maven-publish")
|
id("maven-publish")
|
||||||
id("io.github.gradle-nexus.publish-plugin") version "1.1.0"
|
id("io.github.gradle-nexus.publish-plugin") version "1.1.0"
|
||||||
id("org.jetbrains.dokka") version "1.6.10"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
signing {
|
// signing {
|
||||||
val signingKey: String? by project
|
// val signingKeyId: String? by project
|
||||||
val signingPassword: String? by project
|
// val signingKey: String? by project
|
||||||
useInMemoryPgpKeys(signingKey, signingPassword)
|
// val signingPassword: String? by project
|
||||||
sign(publishing.publications)
|
// useInMemoryPgpKeys(signingKeyId, signingKey, signingPassword)
|
||||||
}
|
// sign(publishing.publications)
|
||||||
|
// }
|
||||||
|
|
||||||
// does this need to be defined here? Not sure
|
// does this need to be defined here? Not sure
|
||||||
// it used to be defined in the nexusPublishing block but is not required
|
// it used to be defined in the nexusPublishing block but is not required
|
||||||
|
@ -1,4 +0,0 @@
|
|||||||
# Module bdk-jvm
|
|
||||||
The [bitcoindevkit](https://bitcoindevkit.org/) language bindings library for the JVM.
|
|
||||||
|
|
||||||
# Package org.bitcoindevkit
|
|
@ -7,9 +7,6 @@ plugins {
|
|||||||
id("maven-publish")
|
id("maven-publish")
|
||||||
id("signing")
|
id("signing")
|
||||||
|
|
||||||
// API docs
|
|
||||||
id("org.jetbrains.dokka")
|
|
||||||
|
|
||||||
// Custom plugin to generate the native libs and bindings file
|
// Custom plugin to generate the native libs and bindings file
|
||||||
id("org.bitcoindevkit.plugins.generate-jvm-bindings")
|
id("org.bitcoindevkit.plugins.generate-jvm-bindings")
|
||||||
}
|
}
|
||||||
@ -93,16 +90,9 @@ afterEvaluate {
|
|||||||
}
|
}
|
||||||
|
|
||||||
signing {
|
signing {
|
||||||
useGpgCmd()
|
val signingKeyId: String? by project
|
||||||
|
val signingKey: String? by project
|
||||||
|
val signingPassword: String? by project
|
||||||
|
useInMemoryPgpKeys(signingKeyId, signingKey, signingPassword)
|
||||||
sign(publishing.publications)
|
sign(publishing.publications)
|
||||||
}
|
}
|
||||||
|
|
||||||
// tasks.withType<org.jetbrains.dokka.gradle.DokkaTask>().configureEach {
|
|
||||||
// dokkaSourceSets {
|
|
||||||
// named("main") {
|
|
||||||
// moduleName.set("bdk-jvm")
|
|
||||||
// moduleVersion.set("0.8.0-SNAPSHOT")
|
|
||||||
// includes.from("Module.md")
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user