From e9f92705087ccec0c1b15d64f95741c03f1b0deb Mon Sep 17 00:00:00 2001 From: Ahmed Ibrahim Date: Thu, 17 Sep 2026 12:13:16 +0300 Subject: [PATCH] Move tracker-detection models into tracker-detection-api Entity, TrackingEvent, TrackerStatus and TrackerType move from browser-api into tracker-detection-api, keeping their legacy com.duckduckgo.app.trackerdetection.model package so no consumer file changes its imports. browser-api re-exports tracker-detection-api with `api project(...)`, which keeps the existing consumers (:app, privacy-dashboard-impl, pir-impl) compiling without adding the dependency to each of them. tracker-detection-api no longer needs browser-api now that the models it references are local. The root build.gradle rule forbidding -api -> -api dependencies gains :tracker-detection-api on its allowlist, alongside :browser-api and the other shared api modules, so the re-export is legal. Asana: https://app.asana.com/1/137249556945/task/1216988666064181 Co-Authored-By: Claude Opus 5 --- browser-api/build.gradle | 1 + build.gradle | 1 + tracker-detection/tracker-detection-api/build.gradle | 4 ---- .../java/com/duckduckgo/app/trackerdetection/model/Entity.kt | 0 .../duckduckgo/app/trackerdetection/model/TrackingEvent.kt | 0 5 files changed, 2 insertions(+), 4 deletions(-) rename {browser-api => tracker-detection/tracker-detection-api}/src/main/java/com/duckduckgo/app/trackerdetection/model/Entity.kt (100%) rename {browser-api => tracker-detection/tracker-detection-api}/src/main/java/com/duckduckgo/app/trackerdetection/model/TrackingEvent.kt (100%) diff --git a/browser-api/build.gradle b/browser-api/build.gradle index 726f58e634ad..361edf13296c 100644 --- a/browser-api/build.gradle +++ b/browser-api/build.gradle @@ -22,6 +22,7 @@ plugins { apply from: "$rootProject.projectDir/gradle/android-library.gradle" dependencies { + api project(path: ':tracker-detection-api') implementation project(path: ':navigation-api') api project(path: ':browser-mode-api') implementation project(path: ':design-system') diff --git a/build.gradle b/build.gradle index f1e99eeade51..436b8b27a10b 100644 --- a/build.gradle +++ b/build.gradle @@ -178,6 +178,7 @@ subprojects { && dependencyPath != ":js-messaging-api" && dependencyPath != ":browser-api" && dependencyPath != ":browser-mode-api" + && dependencyPath != ":tracker-detection-api" ) { if (projectPath.endsWith(":feature-toggles-api") && (dependencyPath == ":experiments-api" diff --git a/tracker-detection/tracker-detection-api/build.gradle b/tracker-detection/tracker-detection-api/build.gradle index 891e6bfc59d6..020f3a37ceeb 100644 --- a/tracker-detection/tracker-detection-api/build.gradle +++ b/tracker-detection/tracker-detection-api/build.gradle @@ -21,10 +21,6 @@ plugins { apply from: "$rootProject.projectDir/gradle/android-library.gradle" -dependencies { - implementation project(path: ':browser-api') -} - android { namespace 'com.duckduckgo.tracker.detection.api' } diff --git a/browser-api/src/main/java/com/duckduckgo/app/trackerdetection/model/Entity.kt b/tracker-detection/tracker-detection-api/src/main/java/com/duckduckgo/app/trackerdetection/model/Entity.kt similarity index 100% rename from browser-api/src/main/java/com/duckduckgo/app/trackerdetection/model/Entity.kt rename to tracker-detection/tracker-detection-api/src/main/java/com/duckduckgo/app/trackerdetection/model/Entity.kt diff --git a/browser-api/src/main/java/com/duckduckgo/app/trackerdetection/model/TrackingEvent.kt b/tracker-detection/tracker-detection-api/src/main/java/com/duckduckgo/app/trackerdetection/model/TrackingEvent.kt similarity index 100% rename from browser-api/src/main/java/com/duckduckgo/app/trackerdetection/model/TrackingEvent.kt rename to tracker-detection/tracker-detection-api/src/main/java/com/duckduckgo/app/trackerdetection/model/TrackingEvent.kt