Commit a54c828
committed
feat: convert Zayit to Kotlin Multiplatform (JVM desktop + Android + iOS)
The whole project is now KMP. JVM desktop is unchanged; Android and iOS build
with stub UIs, and everything platform-agnostic moved into commonMain.
leaf libraries (icons, texteffects, navigation, pagination, htmlparser, logger)
- add Android + iOS targets
- logger: Sentry + timestamp behind expect/actual (JVM=Sentry, mobile=stub),
kotlin.concurrent.Volatile, drop @JvmField
- navigation: java.util.UUID -> kotlin.uuid.Uuid; nowEpochMillis via kotlin.time.Clock
- htmlparser: jsoup -> ksoup 0.2.6 (parser runs on all platforms)
SeforimApp
- add Android (KMP library) + iOS targets; iOS framework + MainViewController entry
- relocate JVM-only deps (Nucleus, network, releasefetcher, ktor-cio) commonMain -> jvmMain
- move ~75 files of platform-agnostic code (onboarding/settings/search use-cases,
state, AppSettings, core utils, theme enums) into commonMain
- AccentColor split: enum in commonMain, Jewel/Nucleus color resolution in jvmMain
- search engine via common SearchEngine interface (JVM=Lucene, mobile=StubSearchEngine)
- stub App() for Android/iOS; Jewel/Nucleus/Lucene/AWT desktop UI stays in jvmMain
androidApp
- new thin com.android.application module (AGP 9 forbids it in the KMP module) that
hosts the launchable APK and depends on :SeforimApp
build
- AGP 9.1.1 built-in Kotlin (no kotlin-android plugin), compileSdk 36,
android.library plugin available to subprojects, SeforimLibrary submodule bump
Signed-off-by: Elie Gambache <elyahou.hadass@gmail.com>1 parent 882a1d2 commit a54c828
109 files changed
Lines changed: 363 additions & 189 deletions
File tree
- SeforimApp
- src
- androidMain/kotlin/io/github/kdroidfilter/seforimapp/theme
- commonMain
- composeResources/font
- kotlin/io/github/kdroidfilter/seforimapp
- core
- annotations
- catalog
- coroutines
- presentation
- components
- text
- theme
- utils
- selection
- settings
- features
- bookcontent
- state
- ui
- components
- panels/bookcontent/views
- onboarding
- data
- diskspace
- download
- extract
- region
- typeofinstall
- userprofile
- search
- domain
- settings
- data
- dbupdate
- display
- fonts
- general
- zmanim/data
- framework/di
- iosMain/kotlin/io/github/kdroidfilter/seforimapp
- jvmMain/kotlin/io/github/kdroidfilter/seforimapp
- core/presentation/theme
- features
- bookcontent/ui/panels/bookcontent/views
- onboarding/download
- settings/ui
- framework/database
- jvmTest/kotlin/io/github/kdroidfilter/seforimapp/core
- catalog
- androidApp
- src/main
- gradle
- htmlparser
- src/commonMain/kotlin/io/github/kdroidfilter/seforim/htmlparser
- icons
- logger
- src
- androidJvmMain/kotlin/io/github/kdroidfilter/seforimapp/logger
- androidMain/kotlin/io/github/kdroidfilter/seforimapp/logger
- commonMain/kotlin/io/github/kdroidfilter/seforimapp/logger
- iosMain/kotlin/io/github/kdroidfilter/seforimapp/logger
- jvmMain/kotlin/io/github/kdroidfilter/seforimapp/logger
- pagination
- src/commonMain/kotlin/io/github/kdroidfilter/seforimapp/pagination
- texteffects
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
| 11 | + | |
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| |||
35 | 35 | | |
36 | 36 | | |
37 | 37 | | |
38 | | - | |
39 | | - | |
40 | | - | |
41 | | - | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
42 | 43 | | |
43 | 44 | | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
44 | 51 | | |
45 | 52 | | |
46 | 53 | | |
| |||
57 | 64 | | |
58 | 65 | | |
59 | 66 | | |
60 | | - | |
61 | 67 | | |
62 | 68 | | |
63 | 69 | | |
| |||
80 | 86 | | |
81 | 87 | | |
82 | 88 | | |
83 | | - | |
84 | | - | |
85 | | - | |
86 | | - | |
87 | | - | |
88 | | - | |
89 | 89 | | |
90 | 90 | | |
91 | 91 | | |
| |||
103 | 103 | | |
104 | 104 | | |
105 | 105 | | |
106 | | - | |
107 | 106 | | |
108 | 107 | | |
109 | 108 | | |
110 | 109 | | |
111 | 110 | | |
112 | | - | |
113 | | - | |
114 | | - | |
115 | 111 | | |
116 | 112 | | |
117 | 113 | | |
| |||
126 | 122 | | |
127 | 123 | | |
128 | 124 | | |
129 | | - | |
130 | | - | |
131 | | - | |
132 | | - | |
133 | | - | |
134 | | - | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
135 | 128 | | |
136 | 129 | | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
137 | 141 | | |
138 | 142 | | |
139 | 143 | | |
| |||
192 | 196 | | |
193 | 197 | | |
194 | 198 | | |
195 | | - | |
196 | | - | |
197 | | - | |
198 | | - | |
199 | | - | |
200 | | - | |
201 | | - | |
202 | | - | |
203 | | - | |
204 | | - | |
205 | | - | |
206 | | - | |
207 | | - | |
208 | | - | |
209 | | - | |
210 | | - | |
211 | | - | |
212 | | - | |
213 | | - | |
214 | | - | |
215 | | - | |
216 | 199 | | |
217 | 200 | | |
218 | 201 | | |
| |||
Lines changed: 0 additions & 19 deletions
This file was deleted.
Lines changed: 22 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
27 | | - | |
| 27 | + | |
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
| |||
0 commit comments