Modularization

Structure

The Connect SDK repositories are adopting a modular approach with 1.4.0 release. Our aim is to provide flexibility to the developers to be able pick and choose between the various devices. Currently you can choose whether to include Google Cast and Fire TV devices or not. We plan to include more device options in the upcoming releases.

The Connect SDK is split into modules with the help of git submodules. There are two options:

  1. The full project (Connect-SDK-iOS and Connect-SDK-Android) includes three submodules: core, google-cast, and firetv and thus provides the full feature set. The latter submodules are located in the modules directory.

  2. The lite project (Connect-SDK-iOS-Lite and Connect-SDK-Android-Lite) includes the core submodule only, therefore there is no need to download any third-party dependencies.

Please refer to the figure below displaying dependencies between different modules and libraries (for iOS and Android).

Components with a light green background are external dependencies. The dashed lines show the submodule links, whereas the solid lines depict build and/or runtime dependencies.

ios modules@2x
Figure 1. iOS SDK Component Diagram (showing Google Cast submodule as an example)
android modules@2x
Figure 2. Android SDK Component Diagram (showing Google Cast submodule as an example)

Links to the repositories are provided in the next table:

Table 1. Links to the repositories 

Module

iOS

Android

full

https://github.com/ConnectSDK/ Connect-SDK-iOS

https://github.com/ConnectSDK/ Connect-SDK-Android

lite

https://github.com/ConnectSDK/ Connect-SDK-iOS-Lite

https://github.com/ConnectSDK/ Connect-SDK-Android-Lite

core

https://github.com/ConnectSDK/ Connect-SDK-iOS-Core

https://github.com/ConnectSDK/ Connect-SDK-Android-Core

google-cast

https://github.com/ConnectSDK/ Connect-SDK-iOS-Google-Cast

https://github.com/ConnectSDK/ Connect-SDK-Android-Google-Cast

firetv

https://github.com/ConnectSDK/Connect-SDK-iOS-FireTV

https://github.com/ConnectSDK/Connect-SDK-Android-FireTV

Usage instructions can be found in the full README or lite README.

Contributing

Since the source code is split between three repositories now (in the full version, whereas lite has only two), contributing is a bit more involved now. If you add a new feature across all the modules, you will have to create two GitHub pull requests, one for each module. Our team will check the code and merge the changes into the submodules, then update the full and lite repositories (as those just keep the project and track commits from the submodules). If you have a simpler contributing workflow in mind, please let us know.