Skip to content
This repository has been archived by the owner on Nov 15, 2022. It is now read-only.

Commit

Permalink
Merge pull request #87 from bitcoindevkit/publish-to-staging
Browse files Browse the repository at this point in the history
Publish bdk-jvm and bdk-android to Maven Central
  • Loading branch information
thunderbiscuit authored Sep 8, 2022
2 parents 9c485a9 + 222d159 commit 4e14e8d
Show file tree
Hide file tree
Showing 7 changed files with 81 additions and 58 deletions.
56 changes: 56 additions & 0 deletions .github/workflows/publish-android.yaml
Original file line number Diff line number Diff line change
@@ -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 changes: 8 additions & 15 deletions .github/workflows/publish-jvm.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -85,18 +85,11 @@ jobs:
name: artifact
path: ./jvm/src/main/resources/

- name: Upload everything in jvm/src/
uses: actions/upload-artifact@v3
with:
name: final-src-directory
path: /home/runner/work/bdk-kotlin/bdk-kotlin/jvm/

- name: Publish to MavenLocal
run: ./gradlew :jvm:publishToMavenLocal --exclude-task signMavenPublication

# 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/
- name: Publish to 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 :jvm:publishToSonatype closeAndReleaseSonatypeStagingRepository
4 changes: 0 additions & 4 deletions android/Module.md

This file was deleted.

20 changes: 6 additions & 14 deletions android/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,6 @@ plugins {
id("maven-publish")
id("signing")

// API docs
id("org.jetbrains.dokka")

// Custom plugin to generate the native libs and bindings file
id("org.bitcoindevkit.plugins.generate-android-bindings")
}
Expand Down Expand Up @@ -95,16 +92,11 @@ afterEvaluate {
}

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)
}

// 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")
// }
// }
// }
14 changes: 7 additions & 7 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,15 @@ plugins {
id("signing")
id("maven-publish")
id("io.github.gradle-nexus.publish-plugin") version "1.1.0"
id("org.jetbrains.dokka") version "1.6.10"
}

signing {
val signingKey: String? by project
val signingPassword: String? by project
useInMemoryPgpKeys(signingKey, signingPassword)
sign(publishing.publications)
}
// signing {
// val signingKeyId: String? by project
// val signingKey: String? by project
// val signingPassword: String? by project
// useInMemoryPgpKeys(signingKeyId, signingKey, signingPassword)
// sign(publishing.publications)
// }

// does this need to be defined here? Not sure
// it used to be defined in the nexusPublishing block but is not required
Expand Down
4 changes: 0 additions & 4 deletions jvm/Module.md

This file was deleted.

18 changes: 4 additions & 14 deletions jvm/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,6 @@ plugins {
id("maven-publish")
id("signing")

// API docs
id("org.jetbrains.dokka")

// Custom plugin to generate the native libs and bindings file
id("org.bitcoindevkit.plugins.generate-jvm-bindings")
}
Expand Down Expand Up @@ -93,16 +90,9 @@ afterEvaluate {
}

signing {
useGpgCmd()
val signingKeyId: String? by project
val signingKey: String? by project
val signingPassword: String? by project
useInMemoryPgpKeys(signingKeyId, signingKey, signingPassword)
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")
// }
// }
// }

0 comments on commit 4e14e8d

Please sign in to comment.