Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
26 changes: 9 additions & 17 deletions build.gradle → build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// Copyright (c) 2018 Couchbase, Inc. All rights reserved.
// Copyright (c) 2026 Couchbase, Inc. All rights reserved.
//
// Licensed under the Couchbase License Agreement (the "License");
// you may not use this file except in compliance with the License.
Expand All @@ -12,22 +12,14 @@
// See the License for the specific language governing permissions and
// limitations under the License.
//
buildscript {
ext {
KOTLIN_VERSION = '1.9.24'
JACOCO_VERSION = '0.8.10'
}

repositories {
google()
mavenCentral()
}
// Plugin versions and dependency versions are centralized in gradle/libs.versions.toml.
// Plugin resolution is configured via pluginManagement in settings.gradle.kts.

// Kotlin has to be here or its plugin throws a fit
// Android has to be here or gradle thows a fit.
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${KOTLIN_VERSION}"
classpath 'com.android.tools.build:gradle:8.4.0'
}
tasks.register("devPublish") {
dependsOn(
":ce:android:ce_android:devPublish",
":ce:android-ktx:ce_android-ktx:devPublish",
":ce:java:ce_java:devPublish"
)
}

2 changes: 1 addition & 1 deletion common
Submodule common updated 29 files
+9 −0 .github/workflows/warn_release.yml
+2 −8 android/main/AndroidManifest.xml
+13 −1 common/CMakeLists.txt
+95 −0 common/main/cpp/MetadataHelper.cc
+15 −0 common/main/cpp/MetadataHelper.h
+132 −0 common/main/cpp/P2P_Sync_Documentation.md
+75 −0 common/main/cpp/com_couchbase_lite_internal_core_impl_NativeBluetoothPeer.h
+21 −0 common/main/cpp/com_couchbase_lite_internal_core_impl_NativeC4BTSocketFactory.h
+1 −0 common/main/cpp/com_couchbase_lite_internal_core_impl_NativeC4MultipeerReplicator.h
+68 −0 common/main/cpp/com_couchbase_lite_internal_core_impl_NativeC4PeerDiscoveryProvider.h
+20 −0 common/main/cpp/com_couchbase_lite_internal_core_impl_NativeCallback.h
+90 −0 common/main/cpp/native_bluetoothpeer.cc
+29 −0 common/main/cpp/native_bluetoothpeer_internal.h
+211 −0 common/main/cpp/native_c4btsocketfactory.cc
+29 −9 common/main/cpp/native_c4multipeerreplicator.cc
+530 −0 common/main/cpp/native_c4peerdiscoveryprovider.cc
+33 −0 common/main/cpp/native_callback.cc
+16 −0 common/main/cpp/native_glue.cc
+13 −0 common/main/cpp/native_glue.hh
+8 −0 common/main/java/com/couchbase/lite/internal/core/C4Constants.java
+1 −1 common/main/java/com/couchbase/lite/internal/core/C4Log.java
+1 −0 common/main/java/com/couchbase/lite/internal/core/C4Replicator.java
+14 −0 common/main/java/com/couchbase/lite/internal/core/C4Socket.java
+27 −0 common/main/java/com/couchbase/lite/internal/core/impl/NativeCallback.java
+1 −1 common/main/java/com/couchbase/lite/internal/exec/CBLExecutor.java
+12 −1 common/main/java/com/couchbase/lite/internal/exec/ConcurrentExecutor.java
+7 −0 common/main/java/com/couchbase/lite/internal/exec/ExecutionService.java
+12 −1 common/main/java/com/couchbase/lite/internal/exec/SerialExecutor.java
+7 −0 common/test/java/com/couchbase/lite/BaseDbTest.kt
2 changes: 1 addition & 1 deletion core_version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
4.1.0-24
4.1.0-64
43 changes: 43 additions & 0 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# This file will leave here and in the EE root, please keep them in sync

[versions]
compileSdk = "36"
minSdk = "24"
buildTools = "36.0.0"
ndk = "27.2.12479018"
cmake = "3.30.5"
kotlin = "2.3.20"
agp = "9.1.0"
spotbugsPlugin = "6.4.8"
okhttp = "4.12.0"
checkstyle = "8.42"
sevntu = "1.44.1"
pmd = "6.55.0"
spotbugs = "4.9.8"
androidxAnnotation = "1.10.0"
junit = "4.13.2"
androidxTest = "1.7.0"
dokka = "1.9.20"
coroutines = "1.8.0"
work = "2.8.1"

[libraries]
okhttp = { module = "com.squareup.okhttp3:okhttp", version.ref = "okhttp" }
kotlin-stdlib = { module = "org.jetbrains.kotlin:kotlin-stdlib", version.ref = "kotlin" }
spotbugs-annotations = { module = "com.github.spotbugs:spotbugs-annotations", version.ref = "spotbugs" }
androidx-annotation = { module = "androidx.annotation:annotation", version.ref = "androidxAnnotation" }
junit = { module = "junit:junit", version.ref = "junit" }
androidx-test-runner = { module = "androidx.test:runner", version.ref = "androidxTest" }
androidx-test-core = { module = "androidx.test:core", version.ref = "androidxTest" }
androidx-test-rules = { module = "androidx.test:rules", version.ref = "androidxTest" }
sevntu = { module = "com.github.sevntu-checkstyle:sevntu-checks", version.ref = "sevntu" }
kotlinx-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "coroutines" }
androidx-work-runtime-ktx = { module = "androidx.work:work-runtime-ktx", version.ref = "work" }
androidx-work-testing = { module = "androidx.work:work-testing", version.ref = "work" }

[plugins]
android-library = { id = "com.android.library", version.ref = "agp" }
spotbugs = { id = "com.github.spotbugs-base", version.ref = "spotbugsPlugin" }
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
dokka = { id = "org.jetbrains.dokka", version.ref = "dokka" }
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
26 changes: 13 additions & 13 deletions settings.gradle → settings.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
pluginManagement {
repositories {
google()
gradlePluginPortal()
mavenCentral()
}
}

// This project contains two distinct applications:
// 1) the CBL-Android-EE source and the code to build, unit-test and publish it to maven
// 1) the CBL-Android-CE source and the code to build, unit-test and publish it to maven
// 2) an independent application that runs automated tests on the application build in #1
//
// The two apps are mutually exclusive: the test app is built and run only by CI machines
Expand All @@ -12,18 +20,10 @@
// for the test projects in sync
//

// normal source development
def module = "lib"

// use the test application, instead, if testing
if (hasProperty("automatedTests") && automatedTests.toBoolean()) { module = 'test' }
val module = if (providers.gradleProperty("automatedTests").map { it.toBoolean() }.getOrElse(false)) "test" else "lib"

include "ce:android:lib", "ee:android:lib", "ce:android-ktx:${module}", "ee:android-ktx:${module}", "ce:java:${module}", "ee:java:${module}"
include("ce:android:lib", "ce:android-ktx:$module", "ce:java:$module")

project(":ee:android:lib").name = "ee_android"
project(":ce:android:lib").name = "ce_android"
project(":ee:android-ktx:${module}").name = "ee_android-ktx"
project(":ce:android-ktx:${module}").name = "ce_android-ktx"
project(":ee:java:${module}").name = "ee_java"
project(":ce:java:${module}").name = "ce_java"

project(":ce:android-ktx:$module").name = "ce_android-ktx"
project(":ce:java:$module").name = "ce_java"