Skip to content

Commit 39445ab

Browse files
build: use com.vanniktech.maven.publish plugin for android publication
1 parent 05ed211 commit 39445ab

4 files changed

Lines changed: 50 additions & 58 deletions

File tree

bdk-android/build.gradle.kts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
plugins {
22
id("com.android.library").version("8.13.2").apply(false)
33
id("org.jetbrains.kotlin.android").version("2.1.10").apply(false)
4-
id("org.gradle.maven-publish")
5-
id("org.gradle.signing")
64
id("org.jetbrains.dokka").version("2.1.0").apply(false)
7-
id("org.jetbrains.dokka-javadoc").version("2.1.0").apply(false)
5+
id("com.vanniktech.maven.publish").version("0.36.0").apply(false)
86
}
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22

33
The [bitcoindevkit](https://bitcoindevkit.org/) language bindings library for Kotlin on Android.
44

5-
# Package org.bitcoindevkit
5+
The functionality exposed in this library is in fact a combination of the [bdk_wallet](https://crates.io/crates/bdk_wallet), [bdk_core](https://crates.io/crates/bdk_core), [bdk_electrum](https://crates.io/crates/bdk_electrum), [bdk_esplora](https://crates.io/crates/bdk_esplora), [bitcoin](https://crates.io/crates/bitcoin), and [miniscript](https://crates.io/crates/miniscript) crates.
66

7-
The functionality exposed in this package is in fact a combination of the [bdk_wallet](https://crates.io/crates/bdk_wallet), [bdk_core](https://crates.io/crates/bdk_core), [bdk_electrum](https://crates.io/crates/bdk_electrum), [bdk_esplora](https://crates.io/crates/bdk_esplora), [bitcoin](https://crates.io/crates/bitcoin), and [miniscript](https://crates.io/crates/miniscript) crates.
7+
# Package org.bitcoindevkit

bdk-android/justfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ docs:
1616
[group("Repo")]
1717
[doc("Publish the library to your local Maven repository.")]
1818
publish-local:
19-
./gradlew publishToMavenLocal -P localBuild
19+
./gradlew publishToMavenLocal
2020

2121
[group("Build")]
2222
[doc("Build the library for given ARCH.")]

bdk-android/lib/build.gradle.kts

Lines changed: 46 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
1+
import com.vanniktech.maven.publish.AndroidSingleVariantLibrary
2+
import com.vanniktech.maven.publish.JavadocJar
3+
import com.vanniktech.maven.publish.SourcesJar
14
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
25
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
36

47
plugins {
58
id("com.android.library")
69
id("org.jetbrains.kotlin.android")
7-
id("org.gradle.maven-publish")
8-
id("org.gradle.signing")
910
id("org.jetbrains.dokka")
10-
id("org.jetbrains.dokka-javadoc")
11+
id("com.vanniktech.maven.publish")
1112
}
1213

1314
group = "org.bitcoindevkit"
@@ -29,13 +30,6 @@ android {
2930
proguardFiles(file("proguard-android-optimize.txt"), file("proguard-rules.pro"))
3031
}
3132
}
32-
33-
publishing {
34-
singleVariant("release") {
35-
withSourcesJar()
36-
withJavadocJar()
37-
}
38-
}
3933
}
4034

4135
tasks.withType<KotlinCompile> {
@@ -64,59 +58,59 @@ dependencies {
6458
androidTestImplementation("org.jetbrains.kotlin:kotlin-test-junit:1.6.10")
6559
}
6660

67-
afterEvaluate {
68-
publishing {
69-
publications {
70-
create<MavenPublication>("maven") {
71-
groupId = group.toString()
72-
artifactId = "bdk-android"
73-
version = version.toString()
61+
mavenPublishing {
62+
coordinates(
63+
groupId = group.toString(),
64+
artifactId = "bdk-android",
65+
version = version.toString()
66+
)
7467

75-
from(components["release"])
76-
pom {
77-
name.set("bdk-android")
78-
description.set("Bitcoin Dev Kit Kotlin language bindings.")
79-
url.set("https://bitcoindevkit.org")
80-
licenses {
81-
license {
82-
name.set("APACHE 2.0")
83-
url.set("https://github.com/bitcoindevkit/bdk/blob/master/LICENSE-APACHE")
84-
}
85-
license {
86-
name.set("MIT")
87-
url.set("https://github.com/bitcoindevkit/bdk/blob/master/LICENSE-MIT")
88-
}
89-
}
90-
developers {
91-
developer {
92-
id.set("bdkdevelopers")
93-
name.set("Bitcoin Dev Kit Developers")
94-
email.set("dev@bitcoindevkit.org")
95-
}
96-
}
97-
scm {
98-
connection.set("scm:git:github.com/bitcoindevkit/bdk-ffi.git")
99-
developerConnection.set("scm:git:ssh://github.com/bitcoindevkit/bdk-ffi.git")
100-
url.set("https://github.com/bitcoindevkit/bdk-ffi/tree/master")
101-
}
102-
}
68+
pom {
69+
name.set("bdk-android")
70+
description.set("Bitcoin Dev Kit language bindings for Android.")
71+
url.set("https://bitcoindevkit.org")
72+
inceptionYear.set("2021")
73+
licenses {
74+
license {
75+
name.set("APACHE 2.0")
76+
url.set("https://github.com/bitcoindevkit/bdk/blob/master/LICENSE-APACHE")
77+
}
78+
license {
79+
name.set("MIT")
80+
url.set("https://github.com/bitcoindevkit/bdk/blob/master/LICENSE-MIT")
81+
}
82+
}
83+
developers {
84+
developer {
85+
id.set("bdkdevelopers")
86+
name.set("Bitcoin Dev Kit Developers")
87+
email.set("dev@bitcoindevkit.org")
10388
}
10489
}
90+
scm {
91+
url.set("https://github.com/bitcoindevkit/bdk-ffi/")
92+
connection.set("scm:git:github.com/bitcoindevkit/bdk-ffi.git")
93+
developerConnection.set("scm:git:ssh://github.com/bitcoindevkit/bdk-ffi.git")
94+
}
10595
}
106-
}
10796

108-
signing {
109-
if (project.hasProperty("localBuild")) {
110-
isRequired = false
111-
}
112-
sign(publishing.publications)
97+
configure(
98+
AndroidSingleVariantLibrary(
99+
javadocJar = JavadocJar.Dokka("dokkaGeneratePublicationHtml"),
100+
sourcesJar = SourcesJar.Sources(),
101+
variant = "release",
102+
)
103+
)
104+
105+
publishToMavenCentral()
106+
signAllPublications()
113107
}
114108

115109
dokka {
116110
moduleName.set("bdk-android")
117111
moduleVersion.set(version.toString())
118112
dokkaSourceSets.main {
119-
includes.from("README.md")
113+
includes.from("../docs/DOKKA_LANDING.md")
120114
sourceLink {
121115
localDirectory.set(file("src/main/kotlin"))
122116
remoteUrl("https://bitcoindevkit.org/")

0 commit comments

Comments
 (0)