Repository navigation
Conversation
…red with The report linked every implementation to github.com/Sendspin/<repo_dirname>, so an implementation hosted outside the Sendspin organization would be linked to a repository that does not exist. Take the link from the registry's remote_url instead; every current entry resolves to the same URL as before.
Add the android implementation, a client-only entry for SendspinDroid. Its adapter in adapters/android/client is a Kotlin/JVM Gradle project that pulls SendspinDroid's :shared protocol module from repos/SendspinDroid through a composite build, and is launched as a fat jar by a thin Python wrapper. client/hello is built with the app's MessageBuilder, its formats taken from buildSupportedFormats with the scenario's preferred codec, so the matrix shows what the app really advertises. The Gradle build helper now takes the adapter and repository, so the sendspin-jvm and android adapters share it. CI adds android to the client list and installs JDK 21 alongside 17. The macos-26 image already provides the Android SDK the composite build needs.
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
android, a client-only implementation backed by SendspinDroid. This is the first of four steps toward replacing thesendspin-jvmclient;sendspin-jvmstays until the last one. Part of Sendspin/backlog#70.What changes
adapters/android/client/): a Kotlin/JVM Gradle project, ported from SendspinDroid's ownconformance-client.:sharedmodule fromrepos/SendspinDroidthrough a composite build, using the clone's own Gradle wrapper.MessageBuilderandMessageParser.src/conformance/adapters/android_client.py.client/hellocomes from the app'sMessageBuilder.buildSupportedFormats, not a hand-written list.client/stateonce set, as the app's protocol handler does._gradle_build_resultnow takes the adapter and repository, sosendspin-jvmandandroidshare it.repository_versions.pytakes each implementation's link from the registry'sremote_urlinstead of assuming the Sendspin organization. Every existing row's link is unchanged;androidlinkschrisuthe/SendspinDroid.publish.ymladdsandroidto the client list and installs JDK 21 alongside 17. Themacos-26image already providesANDROID_HOMEwithandroid-36, which SendspinDroid's Gradle settings need to configure.Results
Run locally against
aiosendspinandsendspin-server-cpp:client-initiated-state-format-pcmclient-initiated-pcmclient-initiated-state-format-flacKnown differences from the app
:sharedwith its own session logic, because the app'sSendSpinProtocolHandlerlives in the Android-bound:playermodule.available: truestraight after activation, where the app waits for clock sync.