Commit 6782842
Enable publishing for Session Replay and Logs modules (#11)
* Publish new (#1)
* feat: change group id
* feat: update maven plugin
* feat: flashcat site
* chore: configure SDK v0.3.0 release settings
- Exclude logs, flags, session-replay modules from publishing
- Update version to 0.3.0 with dynamic versioning from git tags
- Add JVM --add-opens for java.lang.invoke to fix JDK 17+ reflection
- Comment out excluded module dependencies in samples and integration tests
- Exclude sample projects from build (depend on removed features)
* feat: add ding notify
* chore: update GitHub Actions trigger branch to publish
Update workflows to trigger on the publish branch instead of publish-new:
- publish-maven.yml: Change publish trigger branch
- codeql-analysis.yml: Change push and pull request target branches
* Add "No-Op" modules for Session Replay, Logs, and Profiling features to provide empty implementations with minimal footprint.
* refactor: optimize dependency isolation and compatibility
- Downgrade androidx.core to 1.12.0 and move key dependencies (Gson, OkHttp, WorkManager) to compileOnly scope to reduce SDK footprint and avoid version conflicts.
- Implement WorkManagerUtils with reflection-based safe initialization check to handle optional WorkManager dependency.
- Update API surface and transitive dependency lists across multiple modules.
- Fix Detekt configuration to handle missing classpath files gracefully.
- Bump SDK version to 0.3.1-SNAPSHOT.
* Enable Logging, Session Replay, and Feature Flags in sample applications
- Add `setApplicationLaunchSampleRate` and `useCustomEndpoint` to `ProfilingConfiguration.Builder` in the no-op profiling module.
- Uncomment and enable Log, Session Replay, Feature Flag, and Timber integration dependencies across multiple sample modules (automotive, benchmark, kotlin, tv, vendor-lib, wear).
- Restore initialization code for Logs, Session Replay, and Timber in sample application classes.
- Downgrade several transitive dependencies (e.g., Gson, OkHttp, Okio, and various AndroidX libraries) to older versions across multiple modules.
- Include `:features:dd-sdk-android-flags` and related modules in the global settings.
- Implement a dependency substitution rule in the Kotlin sample to use no-op logs when appropriate.
* Add no-op implementations for Feature Flags and OpenFeature modules
* feat: add `dd-sdk-android-flags-noop` module
- Provides a no-op implementation of the Flags SDK to allow safe compilation without the full feature.
- Includes core interfaces: `FlagsClient`, `FlagsConfiguration`, `EvaluationContext`, and `ResolutionDetails`.
- Defines `NoOpFlagsClient` which returns default values for all flag evaluations.
* feat: add `dd-sdk-android-flags-openfeature-noop` module
- Provides a no-op implementation of the OpenFeature provider.
- Includes `DatadogFlagsProvider` which implements `FeatureProvider` by returning default values.
- Adds `asOpenFeatureProvider()` extension on `FlagsClient`.
* chore: update sample application
- Configure Kotlin sample to use `noop` variants for the `noop` build flavor.
- Uncomment and initialize Feature Flags in `SampleApplication.kt` using the new APIs.
* build: include new modules in project settings and build configurations.
* Noop logs profiling session replay (#2)
* Add "No-Op" modules for Session Replay, Logs, and Profiling features to provide empty implementations with minimal footprint.
* refactor: optimize dependency isolation and compatibility
- Downgrade androidx.core to 1.12.0 and move key dependencies (Gson, OkHttp, WorkManager) to compileOnly scope to reduce SDK footprint and avoid version conflicts.
- Implement WorkManagerUtils with reflection-based safe initialization check to handle optional WorkManager dependency.
- Update API surface and transitive dependency lists across multiple modules.
- Fix Detekt configuration to handle missing classpath files gracefully.
- Bump SDK version to 0.3.1-SNAPSHOT.
* Enable Logging, Session Replay, and Feature Flags in sample applications
- Add `setApplicationLaunchSampleRate` and `useCustomEndpoint` to `ProfilingConfiguration.Builder` in the no-op profiling module.
- Uncomment and enable Log, Session Replay, Feature Flag, and Timber integration dependencies across multiple sample modules (automotive, benchmark, kotlin, tv, vendor-lib, wear).
- Restore initialization code for Logs, Session Replay, and Timber in sample application classes.
- Downgrade several transitive dependencies (e.g., Gson, OkHttp, Okio, and various AndroidX libraries) to older versions across multiple modules.
- Include `:features:dd-sdk-android-flags` and related modules in the global settings.
- Implement a dependency substitution rule in the Kotlin sample to use no-op logs when appropriate.
* Add no-op implementations for Feature Flags and OpenFeature modules
* feat: add `dd-sdk-android-flags-noop` module
- Provides a no-op implementation of the Flags SDK to allow safe compilation without the full feature.
- Includes core interfaces: `FlagsClient`, `FlagsConfiguration`, `EvaluationContext`, and `ResolutionDetails`.
- Defines `NoOpFlagsClient` which returns default values for all flag evaluations.
* feat: add `dd-sdk-android-flags-openfeature-noop` module
- Provides a no-op implementation of the OpenFeature provider.
- Includes `DatadogFlagsProvider` which implements `FeatureProvider` by returning default values.
- Adds `asOpenFeatureProvider()` extension on `FlagsClient`.
* chore: update sample application
- Configure Kotlin sample to use `noop` variants for the `noop` build flavor.
- Uncomment and initialize Feature Flags in `SampleApplication.kt` using the new APIs.
* build: include new modules in project settings and build configurations.
* Update build configuration and test dependencies across SDK modules
- Add missing test dependencies (`gson`, `okHttp`, `fresco`, `robolectric`) to multiple feature modules
- Update `dd-sdk-android-profiling` to use version catalog for AndroidX Core dependencies
- Add several unit test exclusions in `dd-sdk-android-flags` and `dd-sdk-android-internal`
- Register no-op and alias tasks in `dd-sdk-android-dependencies` to support Android aggregation tasks (assemble, lint, test, etc.)
- Define new AndroidX core versions and modules in `libs.versions.toml`
- Temporarily comment out `WorkerParametersForgeryFactory` in core tests
* Update shadowJar configuration and dependencies
* chore: update shadowJar and jar tasks
- Change shadowJar archive classifier to "all"
- Configure jar task to depend on and include contents of shadowJar (excluding manifest)
* chore: update transitive dependencies
- Add okhttp, okio, and collection to dd-sdk-android-flags-noop
- Add coroutines and kotlin-stdlib-jdk variants to dd-sdk-android-flags-openfeature-noop
* Noop logs profiling session replay (#3)
* Add "No-Op" modules for Session Replay, Logs, and Profiling features to provide empty implementations with minimal footprint.
* refactor: optimize dependency isolation and compatibility
- Downgrade androidx.core to 1.12.0 and move key dependencies (Gson, OkHttp, WorkManager) to compileOnly scope to reduce SDK footprint and avoid version conflicts.
- Implement WorkManagerUtils with reflection-based safe initialization check to handle optional WorkManager dependency.
- Update API surface and transitive dependency lists across multiple modules.
- Fix Detekt configuration to handle missing classpath files gracefully.
- Bump SDK version to 0.3.1-SNAPSHOT.
* Enable Logging, Session Replay, and Feature Flags in sample applications
- Add `setApplicationLaunchSampleRate` and `useCustomEndpoint` to `ProfilingConfiguration.Builder` in the no-op profiling module.
- Uncomment and enable Log, Session Replay, Feature Flag, and Timber integration dependencies across multiple sample modules (automotive, benchmark, kotlin, tv, vendor-lib, wear).
- Restore initialization code for Logs, Session Replay, and Timber in sample application classes.
- Downgrade several transitive dependencies (e.g., Gson, OkHttp, Okio, and various AndroidX libraries) to older versions across multiple modules.
- Include `:features:dd-sdk-android-flags` and related modules in the global settings.
- Implement a dependency substitution rule in the Kotlin sample to use no-op logs when appropriate.
* Add no-op implementations for Feature Flags and OpenFeature modules
* feat: add `dd-sdk-android-flags-noop` module
- Provides a no-op implementation of the Flags SDK to allow safe compilation without the full feature.
- Includes core interfaces: `FlagsClient`, `FlagsConfiguration`, `EvaluationContext`, and `ResolutionDetails`.
- Defines `NoOpFlagsClient` which returns default values for all flag evaluations.
* feat: add `dd-sdk-android-flags-openfeature-noop` module
- Provides a no-op implementation of the OpenFeature provider.
- Includes `DatadogFlagsProvider` which implements `FeatureProvider` by returning default values.
- Adds `asOpenFeatureProvider()` extension on `FlagsClient`.
* chore: update sample application
- Configure Kotlin sample to use `noop` variants for the `noop` build flavor.
- Uncomment and initialize Feature Flags in `SampleApplication.kt` using the new APIs.
* build: include new modules in project settings and build configurations.
* Update build configuration and test dependencies across SDK modules
- Add missing test dependencies (`gson`, `okHttp`, `fresco`, `robolectric`) to multiple feature modules
- Update `dd-sdk-android-profiling` to use version catalog for AndroidX Core dependencies
- Add several unit test exclusions in `dd-sdk-android-flags` and `dd-sdk-android-internal`
- Register no-op and alias tasks in `dd-sdk-android-dependencies` to support Android aggregation tasks (assemble, lint, test, etc.)
- Define new AndroidX core versions and modules in `libs.versions.toml`
- Temporarily comment out `WorkerParametersForgeryFactory` in core tests
* Update shadowJar configuration and dependencies
* chore: update shadowJar and jar tasks
- Change shadowJar archive classifier to "all"
- Configure jar task to depend on and include contents of shadowJar (excluding manifest)
* chore: update transitive dependencies
- Add okhttp, okio, and collection to dd-sdk-android-flags-noop
- Add coroutines and kotlin-stdlib-jdk variants to dd-sdk-android-flags-openfeature-noop
* Remove shadowJar artifacts from API and runtime elements
- Remove `shadowJar` task artifacts from `apiElements` and `runtimeElements` configurations in `dd-sdk-android-dependencies/build.gradle.kts`.
* Remove shadowJar artifacts from API and runtime elements (#4)
* Add "No-Op" modules for Session Replay, Logs, and Profiling features to provide empty implementations with minimal footprint.
* refactor: optimize dependency isolation and compatibility
- Downgrade androidx.core to 1.12.0 and move key dependencies (Gson, OkHttp, WorkManager) to compileOnly scope to reduce SDK footprint and avoid version conflicts.
- Implement WorkManagerUtils with reflection-based safe initialization check to handle optional WorkManager dependency.
- Update API surface and transitive dependency lists across multiple modules.
- Fix Detekt configuration to handle missing classpath files gracefully.
- Bump SDK version to 0.3.1-SNAPSHOT.
* Enable Logging, Session Replay, and Feature Flags in sample applications
- Add `setApplicationLaunchSampleRate` and `useCustomEndpoint` to `ProfilingConfiguration.Builder` in the no-op profiling module.
- Uncomment and enable Log, Session Replay, Feature Flag, and Timber integration dependencies across multiple sample modules (automotive, benchmark, kotlin, tv, vendor-lib, wear).
- Restore initialization code for Logs, Session Replay, and Timber in sample application classes.
- Downgrade several transitive dependencies (e.g., Gson, OkHttp, Okio, and various AndroidX libraries) to older versions across multiple modules.
- Include `:features:dd-sdk-android-flags` and related modules in the global settings.
- Implement a dependency substitution rule in the Kotlin sample to use no-op logs when appropriate.
* Add no-op implementations for Feature Flags and OpenFeature modules
* feat: add `dd-sdk-android-flags-noop` module
- Provides a no-op implementation of the Flags SDK to allow safe compilation without the full feature.
- Includes core interfaces: `FlagsClient`, `FlagsConfiguration`, `EvaluationContext`, and `ResolutionDetails`.
- Defines `NoOpFlagsClient` which returns default values for all flag evaluations.
* feat: add `dd-sdk-android-flags-openfeature-noop` module
- Provides a no-op implementation of the OpenFeature provider.
- Includes `DatadogFlagsProvider` which implements `FeatureProvider` by returning default values.
- Adds `asOpenFeatureProvider()` extension on `FlagsClient`.
* chore: update sample application
- Configure Kotlin sample to use `noop` variants for the `noop` build flavor.
- Uncomment and initialize Feature Flags in `SampleApplication.kt` using the new APIs.
* build: include new modules in project settings and build configurations.
* Update build configuration and test dependencies across SDK modules
- Add missing test dependencies (`gson`, `okHttp`, `fresco`, `robolectric`) to multiple feature modules
- Update `dd-sdk-android-profiling` to use version catalog for AndroidX Core dependencies
- Add several unit test exclusions in `dd-sdk-android-flags` and `dd-sdk-android-internal`
- Register no-op and alias tasks in `dd-sdk-android-dependencies` to support Android aggregation tasks (assemble, lint, test, etc.)
- Define new AndroidX core versions and modules in `libs.versions.toml`
- Temporarily comment out `WorkerParametersForgeryFactory` in core tests
* Update shadowJar configuration and dependencies
* chore: update shadowJar and jar tasks
- Change shadowJar archive classifier to "all"
- Configure jar task to depend on and include contents of shadowJar (excluding manifest)
* chore: update transitive dependencies
- Add okhttp, okio, and collection to dd-sdk-android-flags-noop
- Add coroutines and kotlin-stdlib-jdk variants to dd-sdk-android-flags-openfeature-noop
* Remove shadowJar artifacts from API and runtime elements
- Remove `shadowJar` task artifacts from `apiElements` and `runtimeElements` configurations in `dd-sdk-android-dependencies/build.gradle.kts`.
* Prevent task registration collisions by checking for existing tasks before registering shadow and aggregation tasks in `dd-sdk-android-dependencies/build.gradle.kts`.
* Update task registration for `assembleDebug`, `assembleRelease`, `testDebugUnitTest`, and `testReleaseUnitTest` to use conditional checks.
* Apply the same conditional logic to no-op tasks including `lintRelease`, `checkDependencyLicenses`, `checkApiSurfaceChanges`, `checkCompilerMetadataChanges`, `checkTransitiveDependenciesList`, `koverXmlReportRelease`, and `printDetektClasspath`.
* fix(build): resolve R8 conflicts, missing test dependencies, and JDK compatibility issues
* Fix R8 "defined multiple times" error by optimizing shadowJar configurations.
* Fix WorkManager 2.7.1 unit test compilation and runtime errors.
* Enhance reflection tools for JDK 17+ compatibility.
* Globally add missing test dependencies (Gson/OkHttp) to fix NoClassDefFoundError in feature and integration modules.
* Add Proguard -dontwarn rules for missing classes in reliability tests.
* Re-enable publishing and logs/session-replay features
* chore: enable publishing for feature flags modules
- Uncomment `publishingConfig` in `dd-sdk-android-flags`
- Uncomment `publishingConfig` in `dd-sdk-android-flags-openfeature`
* feat: restore logs and session-replay in sample applications
- Re-enable `dd-sdk-android-logs` dependency and implementation across `vendor-lib`, `benchmark`, `automotive`, `tv`, and `wear` samples
- Re-enable `dd-sdk-android-session-replay` (and material/compose variants) in `benchmark` and `tv` samples
- Uncomment Log and Session Replay initialization and usage in `LocalServer.kt` and `TvSampleApplication.kt`
- Restore Timber integration in the `tv` sample
* feat: Publish dd-sdk-android-dependencies artifact
Enable publishing for the `dd-sdk-android-dependencies` module. This configures the `maven-publish` plugin to create and publish a shadow JAR containing all transitive dependencies.
* Enable publishing for Session Replay and Logs modules
- Uncomment `publishingConfig` in `dd-sdk-android-session-replay-compose`
- Uncomment `publishingConfig` in `dd-sdk-android-session-replay`
- Uncomment `publishingConfig` in `dd-sdk-android-logs`
- Uncomment `publishingConfig` in `dd-sdk-android-session-replay-material`
* Configure Maven Central publishing and signing for shaded dependencies
- Add `com.vanniktech.maven.publish.base` plugin for Maven Central Portal integration
- Implement manual Maven publication for the shadow JAR including POM metadata (license, organization, developer, and SCM info)
- Add signing configuration using GPG environment variables (`GPG_PRIVATE_KEY`, `GPG_PASSWORD`)
- Ensure signing is skipped for local publications or when `dd-skip-signing` is set
---------
Co-authored-by: Fiona <baiyang.feng@outlook.com>1 parent 4fb7c07 commit 6782842
5 files changed
Lines changed: 83 additions & 22 deletions
File tree
- dd-sdk-android-dependencies
- features
- dd-sdk-android-logs
- dd-sdk-android-session-replay-compose
- dd-sdk-android-session-replay-material
- dd-sdk-android-session-replay
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| 9 | + | |
| 10 | + | |
9 | 11 | | |
10 | 12 | | |
11 | 13 | | |
12 | 14 | | |
13 | 15 | | |
| 16 | + | |
| 17 | + | |
14 | 18 | | |
15 | 19 | | |
16 | 20 | | |
| |||
34 | 38 | | |
35 | 39 | | |
36 | 40 | | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
37 | 48 | | |
38 | 49 | | |
39 | 50 | | |
| |||
42 | 53 | | |
43 | 54 | | |
44 | 55 | | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
45 | 92 | | |
46 | 93 | | |
47 | 94 | | |
48 | 95 | | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
49 | 118 | | |
50 | 119 | | |
51 | 120 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
84 | 84 | | |
85 | 85 | | |
86 | 86 | | |
87 | | - | |
88 | | - | |
89 | | - | |
90 | | - | |
91 | | - | |
92 | | - | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
93 | 91 | | |
Lines changed: 3 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
85 | 85 | | |
86 | 86 | | |
87 | 87 | | |
88 | | - | |
89 | | - | |
90 | | - | |
91 | | - | |
92 | | - | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
93 | 91 | | |
Lines changed: 3 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
69 | 69 | | |
70 | 70 | | |
71 | 71 | | |
72 | | - | |
73 | | - | |
74 | | - | |
75 | | - | |
76 | | - | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
77 | 75 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
87 | 87 | | |
88 | 88 | | |
89 | 89 | | |
90 | | - | |
91 | | - | |
92 | | - | |
93 | | - | |
94 | | - | |
95 | | - | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
96 | 94 | | |
0 commit comments