Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions OneSignalSDK/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ buildscript {
huaweiHMSPushVersion = '6.3.0.304'
huaweiHMSLocationVersion = '4.0.0.300'
kotlinVersion = '1.9.25'
dokkaVersion = '1.9.10' // Dokka version compatible with Kotlin 1.9.25
coroutinesVersion = '1.7.3'
kotestVersion = '5.8.0'
ioMockVersion = '1.13.2'
Expand All @@ -37,6 +38,7 @@ buildscript {
"com.google.gms:google-services:$googleServicesGradlePluginVersion",
"com.huawei.agconnect:agcp:$huaweiAgconnectVersion",
"org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion",
"org.jetbrains.dokka:dokka-gradle-plugin:$dokkaVersion",
"io.gitlab.arturbosch.detekt:detekt-gradle-plugin:$detektVersion",
"com.diffplug.spotless:spotless-plugin-gradle:$spotlessVersion",
"com.vanniktech.maven.publish:com.vanniktech.maven.publish.gradle.plugin:0.32.0"
Expand Down
41 changes: 40 additions & 1 deletion OneSignalSDK/onesignal/maven-push.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,50 @@ buildscript {
import com.vanniktech.maven.publish.AndroidSingleVariantLibrary
import com.vanniktech.maven.publish.SonatypeHost

// Apply Dokka plugin for Kotlin documentation (KDoc)
// This is needed for generating javadoc/kdoc JARs for Kotlin projects
if (project.plugins.hasPlugin('org.jetbrains.kotlin.android')) {
apply plugin: 'org.jetbrains.dokka'

// Configure Dokka to generate Javadoc format (for compatibility with IDEs)
// Dokka 1.9.x uses a different API
afterEvaluate {
tasks.named('dokkaJavadoc') {
outputDirectory.set(file("$buildDir/dokka/javadoc"))
dokkaSourceSets {
configureEach {
jvmTarget.set("1.8")
// Include Android source sets
sourceRoots.from(android.sourceSets.main.java.srcDirs)
sourceRoots.from(android.sourceSets.main.kotlin.srcDirs)
}
}
}
}
}

mavenPublishing {
// Configure AndroidSingleVariantLibrary to publish the release variant
// Parameters:
// 1. "release" - the Android build variant to publish
// 2. true - include sources JAR (contains .java and .kt source files)
// 3. true - include javadoc/kdoc JAR (contains API documentation)
// The plugin will automatically use Dokka for Kotlin projects if available
configure(new AndroidSingleVariantLibrary("release", true, true))
publishToMavenCentral(SonatypeHost.CENTRAL_PORTAL)

signAllPublications()
// Only sign publications if signing credentials are available
// This allows publishToMavenLocal to work without signing, while Maven Central publishing still signs
afterEvaluate {
// Check if signing is configured (either via properties or extension)
def hasSigningConfig = project.hasProperty('signing.keyId') ||
project.hasProperty('signing.secretKeyRingFile') ||
(project.extensions.findByName('signing') != null)

if (hasSigningConfig) {
signAllPublications()
}
}

coordinates(project.group, project.name, project.version)

Expand Down
Loading