Multipeer replicator and Android/Apple-only Enterprise Edition APIs - #72
Open
jeffdgr8 wants to merge 2 commits into
Open
Multipeer replicator and Android/Apple-only Enterprise Edition APIs#72jeffdgr8 wants to merge 2 commits into
jeffdgr8 wants to merge 2 commits into
Conversation
- Add @throws(CouchbaseLiteException) to the QueryBuilder.createQuery actuals (jvmCommon, apple, linuxMingw) to match the expect declaration - Drop the now-dead Elvis throw in Document.toJSON on JVM: the 4.1 Java SDK returns non-null and throws internally - Drop the now-redundant toJSON()!! assertions in DocumentTest - Suppress UNSAFE_CAST_RELYING_ON_NULL on the Apple Number->NSNumber bridging casts and the dispatch-queue null-attribute cast: the Kotlin 2.4 frontend flags these, but the Kotlin/Native backend performs the interop conversion at runtime (the macOS tests exercise these paths) The remaining macosX64/Kotlin-Native-host deprecation warnings are JetBrains sunsetting the Intel Apple targets and cannot be resolved without dropping the macosX64 target. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Adds an androidApple intermediate source set shared by the Android and Apple targets, for Couchbase Lite EE APIs that exist only in the Android and Objective-C SDKs (absent from the C SDK and Java desktop): - The Multipeer Replicator family (CBL 3.3, GA 4.0, transport selection 4.1): MultipeerReplicator, MultipeerReplicatorConfiguration, MultipeerCollectionConfiguration, MultipeerAuthenticator, MultipeerCertificateAuthenticator, MultipeerReplicatorStatus, PeerInfo (with PeerId), PeerDiscoveryStatus, PeerReplicatorStatus, PeerDocumentReplication, and MultipeerTransport - TLSIdentity.createdSignedIdentityInsecure (CA-signed identities for test environments) Shapes follow Kotbase conventions: configurations use constructors with mutable properties and chaining setters in place of the Java Builders, listeners get CoroutineContext and CoroutineScope overloads, certificates are ByteArray, and doc comments come from the Java SDK. Android-only members (getNecessaryPermissions, getMissingPermissions(Context)) live on the Android actuals. Ports the 22 tests of the iOS MultipeerReplicatorTest suite to the shared androidAppleTest source set; 3 run everywhere (configuration, validation, transport status), 19 are ignored pending real peer-to-peer networking, as upstream disables them by default. EE tests: 957 JVM / 1019 macosX64, zero failures; all targets compile; apiCheck passes with the regenerated EE klib dump. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds an
androidAppleintermediate source set shared by the Android and Apple targets, for Enterprise Edition APIs that exist only in the Android and Objective-C SDKs (absent from the C SDK and Java desktop):MultipeerReplicator, configurations, authenticators,PeerInfo, peer status/replication events, andMultipeerTransportTLSIdentity.createdSignedIdentityInsecure(CA-signed identities for test environments)Shapes follow Kotbase conventions: constructors + properties instead of Java Builders,
CoroutineContext/CoroutineScopelistener overloads,ByteArraycertificates, doc comments from the Java SDK. Android-only members (getMissingPermissions(Context)) live on the Android actuals.Ports the 22 tests of the iOS
MultipeerReplicatorTestsuite; 3 run everywhere, 19 ignored pending real peer-to-peer networking (disabled upstream by default too).Also resolves compilation warnings across the project (missing
@Throwson actuals, dead null-handling after 4.1 nullability changes, Kotlin 2.4 false-positive interop cast warnings).EE tests: 957 JVM / 1,019 macosX64, zero failures.
🤖 Generated with Claude Code