Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add Matter client example for webOS OSE (#13292)
* Add webOS OS Port * Add Tizen OS target config/build files * Include example webOS service for chip * Add source and build configuration for webOS chip service * Rename example webOS service for chip as chip-webos-service * Name of the example webOS service 'chip-tool-webos' is renamed to 'chip-webos-service' * Rename example webOS service for chip as chip-webos-service (cont) * example name should be fixed as well on BUILD.gn under examples/chip-webos-service * Improve webOS chip service * Include ACG configuration files * Return json object after discovery is finished * Modify timeout for discovering commissionables * Do not warn shadowing * Since webOS is not ready for applying strict warnings regarding shadowing, let us now use -Wshadow until code is fixed. * Include yocto recipe for building connectedhomeip on webOS OSE * yocto recipe file for connectedhomeip is included. * Use 'chip-tool-webos' as the name for webOS chip example * Remove examples/chip-webos-service * Migrate resources under examples/chip-webos-service to examples/chip-tool-webos * Fix compile error for building webOS chip example * Use right name on executables and deps * Improve webOS chip service * Include ACG configuration files * Return json object after discovery is finished * Modify timeout for discovering commissionables * Update README for Matter client example for webOS * Build and test intruction is described. * Update REAME for Matter client example for webOS (cont) * Update REAME for Matter client example for webOS (cont) * Update REAME for Matter client example for webOS (cont) * Update REAME for Matter client example for webOS (cont) * Restyle Add Matter client example for webOS OSE * Apply modification suggested on #13293 * Restyle Add Matter client example for webOS OSE (cont) * Apply modification suggested on #13293 * Restyled by whitespace * Restyled by clang-format * Restyled by gn * Restyled by prettier-json * Restyled by prettier-markdown * Fix misspell word * This commit fixes misspell word on README.md * Do not tamper existing build, but modify build script for webOs * Remove -Wvla for webos * Remove unnecessary line feed * Remove absolute include path * Fix build script for chip-tool and chip-tool-webos * Remove src/app/server from chip-tool gn which is already there * Rename chip-tool to chip-tool-webos in args and Docker file * Restyled by gn * Respect target_os=webos when building platform layer and so on * target_os=webos was overridden as target_os=linux on the early phase of webos adaptation work to take advantage of existing build structure. * To introduce webos as a independent platform layer, this commit branches webos on the required place. * Original source is forked from src/platform/Linux to src/platform/webos. * bluez and wpa_supplicant will not be built for webos. * BLE and Wi-Fi implementation will be done later by using the webos service API. * chip-tool-webos is only built when target_os=webos. * Restyled by clang-format * Restyled by gn * Exclude chip-tool-webos on unified build * Since it is not certain if chip-tool-webos needs to be built on unified build, let me exclude this until further investigation. * Fix misspell words * Do not tamper with linux build * Fork linux pkg config script as webos * Revert changes made for webos on build/config/linux/pkg-config.py * Remove unnecessary pc file * Use webos as chip_device_platform variable * Remove chip-tool-webos * Remove examples/chip-tool-webos and use examples/chip-tool for webOS * Include luna-service2/PmLogLib/pbnjson_cpp library on platform layer to implement ble adaptation layer in the future * Introduct chip-tool build script for webOS * Do not tamper target.gni * This commit moves declaration of sysroot_webos variable from target.gni to webos/webos_sdk.gni * Delete README * Before preparing webOS specific README, let me remove the copied README * Restyled by shellharden * Update platform layer to the latest * Let us copy platform resources from Linux folder before we override platform layer for webOS * Restyled by clang-format * Fix compile error regarding platform layer * Fix compile error on platform layer after fetching master * Download webOS OSE NDK from public url * Change the NDK download url from private to public url so that everyone can test webos build. * Uncomment NDK installation line which is commented with mistake * Clean up webos platform folder * Do not copy&paste and reuse the resources from Linux platform * Return "NOT_IMPLEMENTED" on the BLE and Wi-Fi related functions * Re-use pkg-config from linux * Update the License * Restyled by clang-format * Restyled by gn * Fix compile error * Compile failed because return statement went out of brace. * Restyled by clang-format * Add webOS OSE NDK as submodule * Include cabin15/webos-ose-ndk.git as submodule * Enhance build script for webOS example * Do not use 'sudo' when installing webOS NDK, but use '-d' to designate the install path as non-root path. * Do not 'wget' webOS SDK, but include it as git submodule * Restyled by shfmt * Fix license blurb of src/platform/webos/Logging.cpp * Use the right license on src/platform/webos/Logging.cpp * Suppress duplicated include by check_includes.sh * Fix disallowed #include directives by check_includes CI Disallowed: src/platform/webos/ConnectivityManagerImpl.cpp:27: #include <string> src/platform/webos/ConnectivityManagerImpl.cpp:29: #include <vector> src/platform/webos/ConnectivityManagerImpl.h:40: #include <vector> * Check out third_party/webos_sdk only when building webos * Check out webos-ose-ndk.git only when building webos application * Remove webos_sdk from submodule list due to Android CI failure Android CI had failed since webos_sdk is added on submodule list. Android CI failure log is at: - https://github.com/project-chip/connectedhomeip/runs/5126795951 INFO [938/940] ld -shared lib/jni/arm64-v8a/libCHIPController.so INFO FAILED: lib/jni/arm64-v8a/libCHIPController.so lib/jni/arm64-v8a/libCHIPController.map INFO /opt/android/android-ndk-r21b/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android24-clang++ -Wl,--gc-sections -march=armv8-a -O0 -fPIC -Werror -Wl,--fatal-warnings -Wl,-z,defs -fdiagnostics-color -Wl,-Map,lib/jni/arm64-v8a/libCHIPController.map -Wl,--gc-sections @lib/jni/arm64-v8a/libCHIPController.so.rsp -o lib/jni/arm64-v8a/libCHIPController.so -shared INFO /opt/android/android-ndk-r21b/toolchains/llvm/prebuilt/linux-x86_64/bin/../lib/gcc/aarch64-linux-android/4.9.x/../../../../aarch64-linux-android/bin/ld: final link failed: No space left on device INFO clang++: error: linker command failed with exit code 1 (use -v to see invocation) It keeps displaying "No space left on device" which I guess because of additional submodule added by this PR. for testing purpose, I removed webos_sdk on the submodule, and Android CI succeeded. It seems like docker size limit for Android CI introduces this. At this point, I have no clear solution to fix this error with maintaining webos_sdk on submodule. So, for now, I removed webos_sdk on the submodule and let scripts/examples/webos_example.sh to check out the webos sdk repo when building webos application. * Fix build script for webos regarding warnings * Do not specify the warning flag in the script but on args * Unnecessary print is removed. * Initialize the variable on BLE Manager * Restyled by clang-format * Remove print * Unnecessary print is removed on webos build script Co-authored-by: Restyled.io <[email protected]>
- Loading branch information