Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
80 commits
Select commit Hold shift + click to select a range
a58b115
Removed app
vunder Dec 1, 2024
22fb50f
Moving sources
vunder Dec 1, 2024
2d9ba1e
KMP project files
vunder Dec 1, 2024
96c2cfa
Codi compatible with KMP/Android
vunder Dec 1, 2024
0ed0c0e
Uuid updates
vunder Dec 1, 2024
0aab2fe
Readme update
vunder Dec 1, 2024
808bd1d
Removed unnecessary dependencies
vunder Dec 2, 2024
fa5483f
Updating JVM version
vunder Dec 2, 2024
648d2e9
Added linux build action
vunder Dec 2, 2024
e65edfd
Trying jitpack build
vunder Dec 2, 2024
21b9ebc
Create jitpack.yml
vunder Dec 2, 2024
9da3511
Update jitpack.yml
vunder Dec 2, 2024
5ac28e2
Delete jitpack.yml
vunder Dec 2, 2024
7adc7e0
Configuring maven-publish
vunder Dec 19, 2024
353c4e3
Update build-linux.yml
vunder Dec 19, 2024
2a0ca76
Update DotmimServiceImpl.kt
vunder Dec 23, 2024
4c16871
kotlin.uuid
vunder Dec 28, 2024
306e8b4
Merge fix
vunder Dec 31, 2024
801f8b6
Minor project changes
vunder Jan 1, 2025
04b0822
Ktor library update to 3.0.3
vunder Jan 1, 2025
5eb30df
Added missing Ktor client libraries
vunder Jan 1, 2025
2148ae9
Added license file
vunder Jan 1, 2025
b182b8c
Updated ignores
vunder Jan 1, 2025
0eb0a1b
Removed GitHub Actions workflow
vunder Jan 1, 2025
b7ac4d5
Renamed serialized class
vunder Jan 1, 2025
77b095a
Fixed artifact groupId
vunder Jan 1, 2025
e9d9036
Updated library namespace
vunder Jan 1, 2025
39f1ad6
Lib updates
vunder Apr 2, 2025
bfe29e5
Removed ktor bundle
vunder Apr 2, 2025
ec7d358
vanniktech update
vunder Apr 2, 2025
5210725
SqliteScopeBuild with SQLiteConnection
vunder Apr 3, 2025
eff2499
Update version
vunder Apr 3, 2025
886a512
Added platform string formatting
vunder Apr 3, 2025
2f7f1ea
Added com.ionspin.kotlin:bignum
vunder Apr 3, 2025
bca0e12
SyncColumn in KMP
vunder Apr 5, 2025
0b3cfe5
SqliteQueryWrapper with sqlite native
vunder Apr 5, 2025
735d6a4
Setup* classes in KMP
vunder Apr 5, 2025
1a5180d
Sync* classes in KMP
vunder Apr 5, 2025
7d14f06
Using kotlincrypto kmp library to calculate sha256 hash
vunder Apr 6, 2025
06e3d00
Enum default name serialization
vunder Apr 6, 2025
9e0390a
Enum serialization in KMP
vunder Apr 6, 2025
ac5eecf
Updated sync set classes
vunder Apr 6, 2025
98955b7
Sqlite wrappers with sqlite native
vunder Apr 6, 2025
fbb0f6d
LocalOrchestrator and SyncAgent updated with KMP
vunder Apr 6, 2025
b7d919a
BaseOrchestrator in KMP
vunder Apr 6, 2025
1384708
Updated provision set properties and parameters
vunder Apr 6, 2025
bcfb23a
Arguments in KMP
vunder Apr 6, 2025
c620e9e
KMP methods
vunder Apr 6, 2025
579e378
BatchPartInfo in KMP
vunder Apr 6, 2025
e9e5978
WebClientOrchestrator with KMP
vunder Apr 6, 2025
23b836a
Updated PrimitiveSerializer
vunder Apr 6, 2025
471024b
Updated PrimitiveSerializer
vunder Apr 6, 2025
98fa80e
Removed platform string formatting
vunder Apr 6, 2025
5ce27e6
Added branch build script
vunder Apr 6, 2025
299e975
Fixed yaml syntax
vunder Apr 6, 2025
67eee25
Trying another apg version
vunder Apr 6, 2025
e8e714e
Updated branch build policy
vunder Apr 6, 2025
78f1726
Delete .github/workflows/branch.yaml
vunder Apr 6, 2025
3f3bbf6
Added version suffix
vunder Apr 6, 2025
eede34b
Update dependencies
vunder May 1, 2025
9e7accf
Fixed sql statement reusage
vunder May 2, 2025
f197936
Fixed row data copy
vunder May 2, 2025
59196fc
Updating version with the fixes
vunder May 2, 2025
fab4450
Ignore updates
vunder May 2, 2025
388f265
Fixed load of table columns
vunder May 2, 2025
31fbf1b
Replace Enum.values() with Enum.entries
vunder May 3, 2025
e80165b
Version update
vunder May 3, 2025
69825c1
Readme update
vunder May 3, 2025
3ef6caf
Sqlite update
vunder May 11, 2025
132484d
Library updates
vunder May 25, 2025
6fba0a4
Updating version due to wrong push to maven
vunder May 31, 2025
3fd1e60
Updated ktor to 3.2.0
vunder Jun 16, 2025
6802830
Upgrading sqlite, downgrading ktor due to error in it
vunder Jun 22, 2025
c176ad7
AGP and Ktor update
vunder Jul 7, 2025
9f0f975
Version update
vunder Jul 8, 2025
02c60e8
Fixed SonatypeHost deprecation
vunder Jul 8, 2025
4275ae9
Updated kotlinx.datetime, serialization and ktor
vunder Jul 17, 2025
19037ee
Fixed build
vunder Jul 17, 2025
7e69287
Library updates
vunder Sep 24, 2025
0487851
Ktor and sqlite version update
vunder Oct 14, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
*.iml
.gradle
/local.properties
/.idea/caches
/.idea/libraries
/.idea/modules.xml
/.idea/workspace.xml
/.idea/navEditor.xml
/.idea/assetWizardSettings.xml
.idea
.DS_Store
/build
/captures
build
captures
.externalNativeBuild
.cxx
local.properties
xcuserdata
.kotlin
/publish-and-release.sh
/snapshot.sh
/publish-only.sh
/local-build.sh
2 changes: 1 addition & 1 deletion .idea/compiler.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 3 additions & 5 deletions .idea/gradle.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2021 Alexey Starchikov
Copyright (c) 2021 Aleksei Starchikov

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand All @@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
SOFTWARE.
42 changes: 30 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,31 +3,47 @@
[![Release](https://jitpack.io/v/vunder/dotmimsync.svg)](https://jitpack.io/vunder/dotmimsync)
[![](https://jitci.com/gh/vunder/dotmimsync/svg)](https://jitci.com/gh/vunder/dotmimsync)

Android (Kotlin) port for [Dotmim.Sync](https://github.com/Mimetis/Dotmim.Sync) C# library. Original library documentation can be found [here](https://dotmimsync.readthedocs.io/)
Kotlin Multiplatform port for [Dotmim.Sync](https://github.com/Mimetis/Dotmim.Sync) C# library. Original library documentation can be found [here](https://dotmimsync.readthedocs.io/)


## Adding dependencies
To use library in your app add link to JitPack repo

```
```gradle
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
mavenCentral()
}
}
```
and add library dependency to your app build.gradle
```
```gradle
dependencies {
implementation 'com.github.vunder:dotmimsync:VERSION'
implementation 'io.github.vunder.dotmimsync:dotmimsync-core:VERSION'
}
```

Also it is necessary to add this dependency to make library work correctly with http-session. You can use newer version in case it is available
```
dependencies {
implementation 'com.squareup.okhttp3:okhttp-urlconnection:5.0.0-alpha.2'
```kotlin
BundledSQLiteDriver().open(databaseFullPath).use { sqliteConnection ->
val syncSetup = SyncSetup() // fill sync tables info
val serverOrchestrator = WebClientOrchestrator(
"http://your-server-api",
httpClient, // injected on created Ktor HttpClient instance
authHeader // server authentication header, e.g. "Bearer <token>"
)
val clientProvider = SqliteSyncProvider(sqliteConnection)
val syncOptions = SyncOptions(useVerboseErrors = true)
val agent = SyncAgent(clientProvider, serverOrchestrator, syncOptions, syncSetup)
val progress = object : Progress<ProgressArgs> {
override fun report(value: ProgressArgs) {
Log.d(
"sync-progress",
"LOCAL[${value.eventId}]. ${value.context.syncStage}: ${value.message} ${value.progressPercentage * 100}% (${value.hint})(${value.context.sessionId})"
)
}
}
val syncResult = agent.synchronize(progress = progress)
}
```

Expand All @@ -38,6 +54,8 @@ General use-cases you can find in original library documentation

## Dotmim.Sync version match table
Here is a version match table. Left column represent current library, right column - Dotmim.Sync library
|Library version|Dotmim.Sync version|
|-|-|
|1.0-1.0.2|0.9.1 or lower|

| Library version |Dotmim.Sync version|
|----------------|-|
| 1.0-1.1.0 |0.9.1 or lower|
| 1.1.0 |0.9.1 or lower|
1 change: 0 additions & 1 deletion app/.gitignore

This file was deleted.

42 changes: 0 additions & 42 deletions app/build.gradle

This file was deleted.

21 changes: 0 additions & 21 deletions app/proguard-rules.pro

This file was deleted.

This file was deleted.

23 changes: 0 additions & 23 deletions app/src/main/AndroidManifest.xml

This file was deleted.

11 changes: 0 additions & 11 deletions app/src/main/java/com/mimetis/dotmimsync/MainActivity.kt

This file was deleted.

30 changes: 0 additions & 30 deletions app/src/main/res/drawable-v24/ic_launcher_foreground.xml

This file was deleted.

Loading