You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
refactor: Extract shared build logic into reusable Gradle convention extensions
- Move repetitive build script logic from `app/android`, `app/web`, and `core/data/db-sqldelight` into a centralized `ProjectExtensions.kt` within the `build-logic` module.
- Implement `forceAndroidXDependencyVersions()` to standardize lifecycle and savedstate dependency resolution across Android modules.
- Implement `configureWasmJsChromeForKarmaTests()` and `configureWebSqlite3mcWasmResources()` to encapsulate WebAssembly test environment setup and SQLite3MC binary management.
- Implement `excludeSqliteJdbcFromNonTestConfigurations()` to handle SQLDelight driver substitutions consistently.
- Apply the `gradle.convention` plugin to `app/android` and `app/web` modules to leverage the new helpers.
- Update `build-logic` documentation and AI agent guidelines to encourage the use of thin Gradle scripts and centralized project extensions.
- Add `gradle-download-task` as a dependency for the convention module to support automated resource fetching.
`convention/src/main/kotlin/com/softartdev/notedelight/ProjectExtensions.kt` contains reusable extension functions used by module `build.gradle.kts` files to keep scripts small and focused.
76
+
77
+
Current extracted helpers include:
78
+
-`disableIosReleaseTasks()` for iOS pod release link task disabling
79
+
-`excludeSqliteJdbcFromNonTestConfigurations()` for SQLDelight/JVM driver substitution
80
+
-`configureWasmJsChromeForKarmaTests()` for web Karma Chrome auto-detection (`CHROME_BIN`)
81
+
-`configureWebSqlite3mcWasmResources()` for SQLite3MultipleCiphers WASM download/unzip task wiring
82
+
-`forceAndroidXDependencyVersions()` for Android dependency resolution forcing
Copy file name to clipboardExpand all lines: docs/AI_AGENT_GUIDE.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -229,6 +229,7 @@ class YourViewModelTest {
229
229
3.**Refactor incrementally**: Small, safe changes
230
230
4.**Run tests frequently**: After each change
231
231
5.**Verify all platforms**: Test on Android, Desktop, etc.
232
+
6.**Keep Gradle scripts thin**: Move repeated/non-trivial `build.gradle.kts` logic into `build-logic/convention/src/main/kotlin/com/softartdev/notedelight/ProjectExtensions.kt` and call it from modules
0 commit comments