Commit ee90198
Fix build (#12)
* 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
* Refactor Maven publishing configuration
- Introduce `basePublishingConfig` helper in `MavenConfig.kt` to deduplicate logic between Android and Java publishing
- Add `publishingJavaConfig` to support Java library publishing via the Vanniktech plugin
- Refactor `dd-sdk-android-dependencies` to use the new `publishingJavaConfig` helper
- Simplify manual publication in `dd-sdk-android-dependencies` by leveraging common configuration and removing redundant signing/POM setup
---------
Co-authored-by: Fiona <baiyang.feng@outlook.com>1 parent f84df1f commit ee90198
0 file changed
0 commit comments