Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
6321b29
Publish new (#1)
Fiona2016 Jan 26, 2026
2852a76
Add "No-Op" modules for Session Replay, Logs, and Profiling features …
wnny-indea Feb 24, 2026
bca06c0
refactor: optimize dependency isolation and compatibility
wnny-indea Feb 12, 2026
aaa2cb5
Enable Logging, Session Replay, and Feature Flags in sample applications
wnny-indea Feb 25, 2026
a97649c
Add no-op implementations for Feature Flags and OpenFeature modules
wnny-indea Feb 25, 2026
79e91a3
Noop logs profiling session replay (#2)
wnny-indea Feb 25, 2026
89d3435
Update build configuration and test dependencies across SDK modules
wnny-indea Feb 25, 2026
cf0a2f0
Update shadowJar configuration and dependencies
wnny-indea Feb 25, 2026
568214d
Merge branch 'publish' into noop-logs-profiling-session-replay
wnny-indea Feb 26, 2026
128c7d2
Noop logs profiling session replay (#3)
wnny-indea Feb 26, 2026
d2f5e4e
Remove shadowJar artifacts from API and runtime elements
wnny-indea Feb 26, 2026
6a57afc
Remove shadowJar artifacts from API and runtime elements (#4)
wnny-indea Feb 26, 2026
6d722a7
Prevent task registration collisions by checking for existing tasks b…
wnny-indea Feb 26, 2026
a66a0d7
Merge branch 'publish' into noop-logs-profiling-session-replay
wnny-indea Feb 26, 2026
f22eebf
fix(build): resolve R8 conflicts, missing test dependencies, and JDK …
wnny-indea Feb 26, 2026
89b455a
Refactor dependency management and introduce No-Op SDK variants
wnny-indea Feb 26, 2026
e30ba51
Merge branch 'feat_noop_and_conflict' into fix_build
wnny-indea Feb 26, 2026
631aa71
Re-enable publishing and logs/session-replay features
wnny-indea Feb 26, 2026
fdff9e2
feat: Publish dd-sdk-android-dependencies artifact
wnny-indea Feb 27, 2026
cf8070a
Enable publishing for Session Replay and Logs modules
wnny-indea Feb 28, 2026
8a31449
Configure Maven Central publishing and signing for shaded dependencies
wnny-indea Feb 28, 2026
b5d4625
Merge branch 'publish' into fix_build
wnny-indea Feb 28, 2026
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
69 changes: 69 additions & 0 deletions dd-sdk-android-dependencies/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,15 @@

import com.datadog.gradle.config.AndroidConfig
import com.datadog.gradle.config.MavenConfig
import com.vanniktech.maven.publish.MavenPublishBaseExtension
import java.util.Base64

plugins {
`java-library`
id("com.gradleup.shadow")
`maven-publish`
signing
id("com.vanniktech.maven.publish.base")
}

dependencies {
Expand All @@ -34,6 +38,13 @@ tasks.shadowJar {
configurations = listOf(project.configurations.runtimeClasspath.get())
}

// Use Vanniktech plugin ONLY for Maven Central Portal repository setup (not for artifact configuration)
// This ensures the same publishToSonatype / Central Portal API is used as other modules
configure<MavenPublishBaseExtension> {
publishToMavenCentral(automaticRelease = false)
}

// Manual publication configuration with shadow jar as the artifact
publishing {
publications {
register<MavenPublication>("maven") {
Expand All @@ -42,10 +53,68 @@ publishing {
version = AndroidConfig.VERSION.name

artifact(tasks.shadowJar)

pom {
name.set(project.name)
description.set("Shaded dependencies for FlashCat Android SDK")
inceptionYear.set("2026")
url.set("https://github.com/flashcatcloud/fc-sdk-android/")

licenses {
license {
name.set("The Apache License, Version 2.0")
url.set("https://www.apache.org/licenses/LICENSE-2.0.txt")
distribution.set("repo")
}
}

organization {
name.set("FlashCat")
url.set("https://flashcat.cloud/")
}

developers {
developer {
id.set("flashcat")
name.set("FlashCat")
email.set("support@flashcat.cloud")
organization.set("FlashCat")
organizationUrl.set("https://flashcat.cloud/")
}
}

scm {
url.set("https://github.com/flashcatcloud/fc-sdk-android/")
connection.set("scm:git:git@github.com:flashcatcloud/fc-sdk-android.git")
developerConnection.set("scm:git:git@github.com:flashcatcloud/fc-sdk-android.git")
}
}
}
}
}

// Signing configuration (consistent with MavenConfig.publishingConfig())
signing {
val isLocalPublish = gradle.startParameter.taskNames.any {
it.contains("publishToMavenLocal", ignoreCase = true)
}
isRequired = !hasProperty("dd-skip-signing") && !isLocalPublish

val privateKey = System.getenv("GPG_PRIVATE_KEY")
val password = System.getenv("GPG_PASSWORD")

if (privateKey != null && password != null) {
val decodedKey = try {
String(Base64.getDecoder().decode(privateKey))
} catch (e: Exception) {
privateKey // Already decoded / plain text
}
useInMemoryPgpKeys(decodedKey, password)
}

sign(publishing.publications["maven"])
}

// Force the shadowJar to be the ONLY exported artifact for this module
// This prevents R8 duplicate class errors while ensuring the file exists for KSP
configurations.apiElements {
Expand Down
10 changes: 4 additions & 6 deletions features/dd-sdk-android-logs/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -84,10 +84,8 @@ androidLibraryConfig()
junitConfig()
javadocConfig()
dependencyUpdateConfig()
/*
// publishingConfig(
// "The Logs feature to use with the Datadog monitoring " +
// "library for Android applications."
// )
*/
publishingConfig(
"The Logs feature to use with the Datadog monitoring " +
"library for Android applications."
)
detektCustomConfig()
Original file line number Diff line number Diff line change
Expand Up @@ -85,9 +85,7 @@ androidLibraryConfig()
junitConfig()
javadocConfig()
dependencyUpdateConfig()
/*
// publishingConfig(
// "Session Replay Extension Support for Jetpack Compose."
// )
*/
publishingConfig(
"Session Replay Extension Support for Jetpack Compose."
)
detektCustomConfig()
Original file line number Diff line number Diff line change
Expand Up @@ -69,9 +69,7 @@ androidLibraryConfig()
junitConfig()
javadocConfig()
dependencyUpdateConfig()
/*
// publishingConfig(
// "Session Replay Extension Support for Material UI components."
// )
*/
publishingConfig(
"Session Replay Extension Support for Material UI components."
)
detektCustomConfig()
10 changes: 4 additions & 6 deletions features/dd-sdk-android-session-replay/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -87,10 +87,8 @@ androidLibraryConfig()
junitConfig()
javadocConfig()
dependencyUpdateConfig()
/*
// publishingConfig(
// "The Session Replay feature to use with the Datadog monitoring " +
// "library for Android applications."
// )
*/
publishingConfig(
"The Session Replay feature to use with the Datadog monitoring " +
"library for Android applications."
)
detektCustomConfig()
Loading