diff --git a/.github/workflows/build_and_run_example_test_mdns.yml b/.github/workflows/build_and_run_example_test_mdns.yml index de4aac90e..3d309a6f5 100644 --- a/.github/workflows/build_and_run_example_test_mdns.yml +++ b/.github/workflows/build_and_run_example_test_mdns.yml @@ -13,8 +13,9 @@ jobs: container: espressif/idf:${{ matrix.idf_ver }} steps: - name: Checkout esp-protocols - uses: actions/checkout@master + uses: actions/checkout@v3 with: + submodules: recursive path: esp-protocols - name: Build ${{ matrix.example }} with IDF-${{ matrix.idf_ver }} for ${{ matrix.idf_target }} env: @@ -23,6 +24,7 @@ jobs: run: | . ${IDF_PATH}/export.sh cd $GITHUB_WORKSPACE/esp-protocols/components/mdns/examples/ + idf.py set-target ${{ matrix.idf_target }} cat sdkconfig.ci.eth_def >> sdkconfig.defaults idf.py build rm sdkconfig.defaults @@ -32,4 +34,5 @@ jobs: cat sdkconfig.ci.eth_socket >> sdkconfig.defaults idf.py build cd $GITHUB_WORKSPACE/esp-protocols/components/mdns/tests/test_apps/ + idf.py set-target ${{ matrix.idf_target }} idf.py build diff --git a/.github/workflows/build_and_run_example_test.yml b/.github/workflows/build_and_run_example_test_websocket.yml similarity index 97% rename from .github/workflows/build_and_run_example_test.yml rename to .github/workflows/build_and_run_example_test_websocket.yml index 4f26acd48..678b6d1e6 100644 --- a/.github/workflows/build_and_run_example_test.yml +++ b/.github/workflows/build_and_run_example_test_websocket.yml @@ -13,7 +13,9 @@ jobs: container: espressif/idf:${{ matrix.idf_ver }} steps: - name: Checkout esp-protocols - uses: actions/checkout@v1 + uses: actions/checkout@v3 + with: + submodules: recursive - name: Build ${{ matrix.example }} with IDF-${{ matrix.idf_ver }} for ${{ matrix.idf_target }} env: IDF_TARGET: ${{ matrix.idf_target }} diff --git a/.github/workflows/build_asio.yml b/.github/workflows/build_asio.yml new file mode 100644 index 000000000..83ccf2d94 --- /dev/null +++ b/.github/workflows/build_asio.yml @@ -0,0 +1,28 @@ +name: Build ASIO + +on: [push, pull_request] + +jobs: + build: + strategy: + matrix: + idf_ver: ["latest"] + idf_target: ["esp32", "esp32s2"] + example: ["asio_chat", "async_request", "socks4", "ssl_client_server", "tcp_echo_server", "udp_echo_server"] + + runs-on: ubuntu-20.04 + container: espressif/idf:${{ matrix.idf_ver }} + steps: + - name: Checkout esp-protocols + uses: actions/checkout@v3 + with: + path: esp-protocols + - name: Build ${{ matrix.example }} with IDF-${{ matrix.idf_ver }} for ${{ matrix.idf_target }} + env: + IDF_TARGET: ${{ matrix.idf_target }} + shell: bash + run: | + . ${IDF_PATH}/export.sh + cd $GITHUB_WORKSPACE/esp-protocols/components/asio/examples/${{ matrix.example }} + idf.py set-target ${{ matrix.idf_target }} + idf.py build diff --git a/.github/workflows/publish-docs-component.yml b/.github/workflows/publish-docs-component.yml index fbc674a2d..0eeda079c 100644 --- a/.github/workflows/publish-docs-component.yml +++ b/.github/workflows/publish-docs-component.yml @@ -39,10 +39,16 @@ jobs: cp -r html_en/. $GITHUB_WORKSPACE/docs/mdns/en cp -r html_zh_CN/. $GITHUB_WORKSPACE/docs/mdns/zh_CN + cd $GITHUB_WORKSPACE/components/asio/docs + ./generate_docs + mkdir -p $GITHUB_WORKSPACE/docs/asio + cp -r html/. $GITHUB_WORKSPACE/docs/asio + cd $GITHUB_WORKSPACE/docs touch .nojekyll echo 'esp-modem
' > index.html echo 'esp-websocket-client
' >> index.html + echo 'ASIO
' >> index.html echo 'mDNS_en
' >> index.html echo 'mDNS_zh_CN
' >> index.html @@ -50,7 +56,7 @@ jobs: - name: Upload components to component service uses: espressif/github-actions/upload_components@master with: - directories: "components/esp_modem;components/esp_websocket_client;components/mdns" + directories: "components/esp_modem;components/esp_websocket_client;components/mdns;components/asio" namespace: "espressif" api_token: ${{ secrets.IDF_COMPONENT_API_TOKEN }} diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 000000000..6ecce627b --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "components/asio/asio"] + path = components/asio/asio + url = https://github.com/espressif/asio diff --git a/README.md b/README.md index c886af4b8..c422581ad 100644 --- a/README.md +++ b/README.md @@ -19,3 +19,8 @@ * Brief introduction [README](components/esp_websocket_client/README.md) * Full html [documentation](https://espressif.github.io/esp-protocols/esp_websocket_client/index.html) + +### ASIO port + +* Brief introduction [README](components/asio/README.md) +* Full html [documentation](https://espressif.github.io/esp-protocols/asio/index.html) diff --git a/components/asio/README.md b/components/asio/README.md new file mode 100644 index 000000000..acfbd5f91 --- /dev/null +++ b/components/asio/README.md @@ -0,0 +1,11 @@ +# ASIO port + +Asio is a cross-platform C++ library, see https://think-async.com/Asio/. It provides a consistent asynchronous model using a modern C++ approach. + +## Examples + +Get started with example test :example:`examples `: + +## Documentation + +* View the full [html documentation](https://espressif.github.io/esp-protocols/asio/index.html) diff --git a/components/asio/asio b/components/asio/asio index f31694c9f..58384fb6a 160000 --- a/components/asio/asio +++ b/components/asio/asio @@ -1 +1 @@ -Subproject commit f31694c9f1746ba189a4bcae2e34db15135ddb22 +Subproject commit 58384fb6af92e7952b1534acb3004924f7ea0565 diff --git a/components/asio/docs/Doxyfile b/components/asio/docs/Doxyfile new file mode 100755 index 000000000..1e95d8217 --- /dev/null +++ b/components/asio/docs/Doxyfile @@ -0,0 +1,73 @@ +# This is Doxygen configuration file +# +# Doxygen provides over 260 configuration statements +# To make this file easier to follow, +# it contains only statements that are non-default +# +# NOTE: +# It is recommended not to change defaults unless specifically required +# Test any changes how they affect generated documentation +# Make sure that correct warnings are generated to flag issues with documented code +# +# For the complete list of configuration statements see: +# http://doxygen.nl/manual/config.html + + +PROJECT_NAME = "ESP Protocols Programming Guide" + +## The 'INPUT' statement below is used as input by script 'gen-df-input.py' +## to automatically generate API reference list files heder_file.inc +## These files are placed in '_inc' directory +## and used to include in API reference documentation + + +## Get warnings for functions that have no documentation for their parameters or return value +## +WARN_NO_PARAMDOC = YES + +## Enable preprocessing and remove __attribute__(...) expressions from the INPUT files +## +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = YES +EXPAND_ONLY_PREDEF = YES +PREDEFINED = \ + $(ENV_DOXYGEN_DEFINES) \ + __DOXYGEN__=1 \ + __attribute__(x)= \ + _Static_assert()= \ + IDF_DEPRECATED(X)= \ + IRAM_ATTR= \ + configSUPPORT_DYNAMIC_ALLOCATION=1 \ + configSUPPORT_STATIC_ALLOCATION=1 \ + configQUEUE_REGISTRY_SIZE=1 \ + configUSE_RECURSIVE_MUTEXES=1 \ + configTHREAD_LOCAL_STORAGE_DELETE_CALLBACKS=1 \ + configNUM_THREAD_LOCAL_STORAGE_POINTERS=1 \ + configUSE_APPLICATION_TASK_TAG=1 \ + configTASKLIST_INCLUDE_COREID=1 \ + "ESP_EVENT_DECLARE_BASE(x)=extern esp_event_base_t x" + +## Do not complain about not having dot +## +HAVE_DOT = NO + +## Generate XML that is required for Breathe +## +GENERATE_XML = YES +XML_OUTPUT = xml + +GENERATE_HTML = NO +HAVE_DOT = NO +GENERATE_LATEX = NO +GENERATE_MAN = YES +GENERATE_RTF = NO + +## Skip distracting progress messages +## +QUIET = YES + +## Enable Section Tags for conditional documentation +## +ENABLED_SECTIONS += \ + DOC_EXCLUDE_HEADER_SECTION \ ## To conditionally remove doc sections from IDF source files without affecting documentation in upstream files. + DOC_SINGLE_GROUP ## To conditionally remove groups from the documentation and create a 'flat' document without affecting documentation in upstream files. diff --git a/components/asio/docs/conf_common.py b/components/asio/docs/conf_common.py new file mode 100644 index 000000000..10d1e997e --- /dev/null +++ b/components/asio/docs/conf_common.py @@ -0,0 +1,21 @@ +from esp_docs.conf_docs import * # noqa: F403,F401 + +extensions += ['sphinx_copybutton', + # Needed as a trigger for running doxygen + 'esp_docs.esp_extensions.dummy_build_system', + 'esp_docs.esp_extensions.run_doxygen', + ] + +# link roles config +github_repo = 'espressif/esp-protocols' + +# context used by sphinx_idf_theme +html_context['github_user'] = 'espressif' +html_context['github_repo'] = 'esp-protocols' + +# Extra options required by sphinx_idf_theme +project_slug = 'esp-idf' # >=5.0 +versions_url = 'https://github.com/espressif/esp-protocols/docs/docs_versions.js' + +idf_targets = ['esp32'] +languages = ['en', 'zh_CN'] diff --git a/components/asio/docs/en/conf.py b/components/asio/docs/en/conf.py new file mode 100644 index 000000000..bba642268 --- /dev/null +++ b/components/asio/docs/en/conf.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +# +# English Language RTD & Sphinx config file +# +# Uses ../conf_common.py for most non-language-specific settings. + +# Importing conf_common adds all the non-language-specific +# parts to this conf module + +try: + from conf_common import * # noqa: F403,F401 +except ImportError: + import os + import sys + sys.path.insert(0, os.path.abspath('../')) + from conf_common import * # noqa: F403,F401 + +# General information about the project. +project = u'ESP-Protocols' +copyright = u'2016 - 2022, Espressif Systems (Shanghai) Co., Ltd' + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +language = 'en' diff --git a/docs/en/api-reference/protocols/asio.rst b/components/asio/docs/en/index.rst similarity index 79% rename from docs/en/api-reference/protocols/asio.rst rename to components/asio/docs/en/index.rst index ec6b0b159..56ff694f2 100644 --- a/docs/en/api-reference/protocols/asio.rst +++ b/components/asio/docs/en/index.rst @@ -32,11 +32,11 @@ Internal asio settings for ESP include Application Example ------------------- -ESP examples are based on standard asio :example:`protocols/asio`: +ESP examples are based on standard asio :example:`examples <../examples>`: -- :example:`protocols/asio/udp_echo_server` -- :example:`protocols/asio/tcp_echo_server` -- :example:`protocols/asio/asio_chat` -- :example:`protocols/asio/ssl_client_server` +- :example:`udp_echo_server <../examples/udp_echo_server>` +- :example:`tcp_echo_server <../examples/tcp_echo_server>` +- :example:`asio_chat <../examples/asio_chat>` +- :example:`ssl_client_server <../examples/ssl_client_server>` Please refer to the specific example README.md for details diff --git a/components/asio/docs/generate_docs b/components/asio/docs/generate_docs new file mode 100755 index 000000000..e60c1a8f9 --- /dev/null +++ b/components/asio/docs/generate_docs @@ -0,0 +1,27 @@ +build-docs --target esp32 --language en + +cp -rf _build/en/esp32/html . +rm -rf _build __pycache__ + +# Modifes some version and target fields of index.html +echo "" >> html/index.html + diff --git a/components/asio/docs/zh_CN/conf.py b/components/asio/docs/zh_CN/conf.py new file mode 100644 index 000000000..cc6fbc271 --- /dev/null +++ b/components/asio/docs/zh_CN/conf.py @@ -0,0 +1,27 @@ +# -*- coding: utf-8 -*- +# +# English Language RTD & Sphinx config file +# +# Uses ../conf_common.py for most non-language-specific settings. + +# Importing conf_common adds all the non-language-specific +# parts to this conf module +try: + from conf_common import * # noqa: F403,F401 +except ImportError: + import os + import sys + sys.path.insert(0, os.path.abspath('..')) + from conf_common import * # noqa: F403,F401 + +import datetime + +current_year = datetime.datetime.now().year + +# General information about the project. +project = u'ESP-IDF 编程指南' +copyright = u'2016 - {} 乐鑫信息科技(上海)股份有限公司'.format(current_year) + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +language = 'zh_CN' diff --git a/docs/zh_CN/api-reference/protocols/asio.rst b/components/asio/docs/zh_CN/index.rst similarity index 100% rename from docs/zh_CN/api-reference/protocols/asio.rst rename to components/asio/docs/zh_CN/index.rst diff --git a/examples/protocols/asio/asio_chat/CMakeLists.txt b/components/asio/examples/asio_chat/CMakeLists.txt similarity index 79% rename from examples/protocols/asio/asio_chat/CMakeLists.txt rename to components/asio/examples/asio_chat/CMakeLists.txt index 31a345c19..2d3c9ecbe 100644 --- a/examples/protocols/asio/asio_chat/CMakeLists.txt +++ b/components/asio/examples/asio_chat/CMakeLists.txt @@ -4,7 +4,7 @@ cmake_minimum_required(VERSION 3.16) # (Not part of the boilerplate) # This example uses an extra component for common functions such as Wi-Fi and Ethernet connection. -set(EXTRA_COMPONENT_DIRS $ENV{IDF_PATH}/examples/common_components/protocol_examples_common) +set(EXTRA_COMPONENT_DIRS ../../../../common_components/protocol_examples_common) include($ENV{IDF_PATH}/tools/cmake/project.cmake) project(asio_chat) diff --git a/examples/protocols/asio/asio_chat/README.md b/components/asio/examples/asio_chat/README.md similarity index 100% rename from examples/protocols/asio/asio_chat/README.md rename to components/asio/examples/asio_chat/README.md diff --git a/examples/protocols/asio/asio_chat/example_test.py b/components/asio/examples/asio_chat/example_test.py similarity index 100% rename from examples/protocols/asio/asio_chat/example_test.py rename to components/asio/examples/asio_chat/example_test.py diff --git a/examples/protocols/asio/asio_chat/main/CMakeLists.txt b/components/asio/examples/asio_chat/main/CMakeLists.txt similarity index 100% rename from examples/protocols/asio/asio_chat/main/CMakeLists.txt rename to components/asio/examples/asio_chat/main/CMakeLists.txt diff --git a/examples/protocols/asio/asio_chat/main/Kconfig.projbuild b/components/asio/examples/asio_chat/main/Kconfig.projbuild similarity index 100% rename from examples/protocols/asio/asio_chat/main/Kconfig.projbuild rename to components/asio/examples/asio_chat/main/Kconfig.projbuild diff --git a/examples/protocols/asio/asio_chat/main/asio_chat.cpp b/components/asio/examples/asio_chat/main/asio_chat.cpp similarity index 100% rename from examples/protocols/asio/asio_chat/main/asio_chat.cpp rename to components/asio/examples/asio_chat/main/asio_chat.cpp diff --git a/examples/protocols/asio/asio_chat/main/chat_message.hpp b/components/asio/examples/asio_chat/main/chat_message.hpp similarity index 100% rename from examples/protocols/asio/asio_chat/main/chat_message.hpp rename to components/asio/examples/asio_chat/main/chat_message.hpp diff --git a/examples/protocols/asio/asio_chat/main/client.hpp b/components/asio/examples/asio_chat/main/client.hpp similarity index 100% rename from examples/protocols/asio/asio_chat/main/client.hpp rename to components/asio/examples/asio_chat/main/client.hpp diff --git a/examples/protocols/asio/asio_chat/main/server.hpp b/components/asio/examples/asio_chat/main/server.hpp similarity index 100% rename from examples/protocols/asio/asio_chat/main/server.hpp rename to components/asio/examples/asio_chat/main/server.hpp diff --git a/examples/protocols/asio/asio_chat/sdkconfig.ci b/components/asio/examples/asio_chat/sdkconfig.ci similarity index 100% rename from examples/protocols/asio/asio_chat/sdkconfig.ci rename to components/asio/examples/asio_chat/sdkconfig.ci diff --git a/examples/protocols/asio/asio_chat/sdkconfig.defaults b/components/asio/examples/asio_chat/sdkconfig.defaults similarity index 100% rename from examples/protocols/asio/asio_chat/sdkconfig.defaults rename to components/asio/examples/asio_chat/sdkconfig.defaults diff --git a/examples/protocols/asio/async_request/CMakeLists.txt b/components/asio/examples/async_request/CMakeLists.txt similarity index 80% rename from examples/protocols/asio/async_request/CMakeLists.txt rename to components/asio/examples/async_request/CMakeLists.txt index b360f7df5..ff659707e 100644 --- a/examples/protocols/asio/async_request/CMakeLists.txt +++ b/components/asio/examples/async_request/CMakeLists.txt @@ -4,7 +4,7 @@ cmake_minimum_required(VERSION 3.16) # (Not part of the boilerplate) # This example uses an extra component for common functions such as Wi-Fi and Ethernet connection. -set(EXTRA_COMPONENT_DIRS $ENV{IDF_PATH}/examples/common_components/protocol_examples_common) +set(EXTRA_COMPONENT_DIRS ../../../../common_components/protocol_examples_common) include($ENV{IDF_PATH}/tools/cmake/project.cmake) project(async_http_request) diff --git a/examples/protocols/asio/async_request/README.md b/components/asio/examples/async_request/README.md similarity index 100% rename from examples/protocols/asio/async_request/README.md rename to components/asio/examples/async_request/README.md diff --git a/examples/protocols/asio/async_request/main/CMakeLists.txt b/components/asio/examples/async_request/main/CMakeLists.txt similarity index 100% rename from examples/protocols/asio/async_request/main/CMakeLists.txt rename to components/asio/examples/async_request/main/CMakeLists.txt diff --git a/examples/protocols/asio/async_request/main/async_http_request.cpp b/components/asio/examples/async_request/main/async_http_request.cpp similarity index 100% rename from examples/protocols/asio/async_request/main/async_http_request.cpp rename to components/asio/examples/async_request/main/async_http_request.cpp diff --git a/examples/protocols/asio/socks4/CMakeLists.txt b/components/asio/examples/socks4/CMakeLists.txt similarity index 79% rename from examples/protocols/asio/socks4/CMakeLists.txt rename to components/asio/examples/socks4/CMakeLists.txt index 1a2667508..f1ffe9d12 100644 --- a/examples/protocols/asio/socks4/CMakeLists.txt +++ b/components/asio/examples/socks4/CMakeLists.txt @@ -4,7 +4,7 @@ cmake_minimum_required(VERSION 3.16) # (Not part of the boilerplate) # This example uses an extra component for common functions such as Wi-Fi and Ethernet connection. -set(EXTRA_COMPONENT_DIRS $ENV{IDF_PATH}/examples/common_components/protocol_examples_common) +set(EXTRA_COMPONENT_DIRS ../../../../common_components/protocol_examples_common) include($ENV{IDF_PATH}/tools/cmake/project.cmake) project(asio_sock4) diff --git a/examples/protocols/asio/socks4/README.md b/components/asio/examples/socks4/README.md similarity index 100% rename from examples/protocols/asio/socks4/README.md rename to components/asio/examples/socks4/README.md diff --git a/examples/protocols/asio/socks4/main/CMakeLists.txt b/components/asio/examples/socks4/main/CMakeLists.txt similarity index 100% rename from examples/protocols/asio/socks4/main/CMakeLists.txt rename to components/asio/examples/socks4/main/CMakeLists.txt diff --git a/examples/protocols/asio/socks4/main/Kconfig.projbuild b/components/asio/examples/socks4/main/Kconfig.projbuild similarity index 100% rename from examples/protocols/asio/socks4/main/Kconfig.projbuild rename to components/asio/examples/socks4/main/Kconfig.projbuild diff --git a/examples/protocols/asio/socks4/main/socks4.cpp b/components/asio/examples/socks4/main/socks4.cpp similarity index 100% rename from examples/protocols/asio/socks4/main/socks4.cpp rename to components/asio/examples/socks4/main/socks4.cpp diff --git a/examples/protocols/asio/socks4/main/socks4.hpp b/components/asio/examples/socks4/main/socks4.hpp similarity index 100% rename from examples/protocols/asio/socks4/main/socks4.hpp rename to components/asio/examples/socks4/main/socks4.hpp diff --git a/examples/protocols/asio/socks4/sdkconfig.defaults b/components/asio/examples/socks4/sdkconfig.defaults similarity index 100% rename from examples/protocols/asio/socks4/sdkconfig.defaults rename to components/asio/examples/socks4/sdkconfig.defaults diff --git a/examples/protocols/asio/ssl_client_server/CMakeLists.txt b/components/asio/examples/ssl_client_server/CMakeLists.txt similarity index 81% rename from examples/protocols/asio/ssl_client_server/CMakeLists.txt rename to components/asio/examples/ssl_client_server/CMakeLists.txt index 927c74690..73ee939a7 100644 --- a/examples/protocols/asio/ssl_client_server/CMakeLists.txt +++ b/components/asio/examples/ssl_client_server/CMakeLists.txt @@ -4,7 +4,7 @@ cmake_minimum_required(VERSION 3.16) # (Not part of the boilerplate) # This example uses an extra component for common functions such as Wi-Fi and Ethernet connection. -set(EXTRA_COMPONENT_DIRS $ENV{IDF_PATH}/examples/common_components/protocol_examples_common) +set(EXTRA_COMPONENT_DIRS ../../../../common_components/protocol_examples_common) set(EXCLUDE_COMPONENTS openssl) include($ENV{IDF_PATH}/tools/cmake/project.cmake) diff --git a/examples/protocols/asio/ssl_client_server/README.md b/components/asio/examples/ssl_client_server/README.md similarity index 100% rename from examples/protocols/asio/ssl_client_server/README.md rename to components/asio/examples/ssl_client_server/README.md diff --git a/examples/protocols/asio/ssl_client_server/example_test.py b/components/asio/examples/ssl_client_server/example_test.py similarity index 100% rename from examples/protocols/asio/ssl_client_server/example_test.py rename to components/asio/examples/ssl_client_server/example_test.py diff --git a/examples/protocols/asio/ssl_client_server/main/CMakeLists.txt b/components/asio/examples/ssl_client_server/main/CMakeLists.txt similarity index 100% rename from examples/protocols/asio/ssl_client_server/main/CMakeLists.txt rename to components/asio/examples/ssl_client_server/main/CMakeLists.txt diff --git a/examples/protocols/asio/ssl_client_server/main/Kconfig.projbuild b/components/asio/examples/ssl_client_server/main/Kconfig.projbuild similarity index 100% rename from examples/protocols/asio/ssl_client_server/main/Kconfig.projbuild rename to components/asio/examples/ssl_client_server/main/Kconfig.projbuild diff --git a/examples/protocols/asio/ssl_client_server/main/asio_ssl_main.cpp b/components/asio/examples/ssl_client_server/main/asio_ssl_main.cpp similarity index 100% rename from examples/protocols/asio/ssl_client_server/main/asio_ssl_main.cpp rename to components/asio/examples/ssl_client_server/main/asio_ssl_main.cpp diff --git a/examples/protocols/asio/ssl_client_server/main/ca.crt b/components/asio/examples/ssl_client_server/main/ca.crt similarity index 100% rename from examples/protocols/asio/ssl_client_server/main/ca.crt rename to components/asio/examples/ssl_client_server/main/ca.crt diff --git a/examples/protocols/asio/ssl_client_server/main/server.key b/components/asio/examples/ssl_client_server/main/server.key similarity index 100% rename from examples/protocols/asio/ssl_client_server/main/server.key rename to components/asio/examples/ssl_client_server/main/server.key diff --git a/examples/protocols/asio/ssl_client_server/main/srv.crt b/components/asio/examples/ssl_client_server/main/srv.crt similarity index 100% rename from examples/protocols/asio/ssl_client_server/main/srv.crt rename to components/asio/examples/ssl_client_server/main/srv.crt diff --git a/examples/protocols/asio/ssl_client_server/partitions.csv b/components/asio/examples/ssl_client_server/partitions.csv similarity index 100% rename from examples/protocols/asio/ssl_client_server/partitions.csv rename to components/asio/examples/ssl_client_server/partitions.csv diff --git a/examples/protocols/asio/ssl_client_server/sdkconfig.ci b/components/asio/examples/ssl_client_server/sdkconfig.ci similarity index 100% rename from examples/protocols/asio/ssl_client_server/sdkconfig.ci rename to components/asio/examples/ssl_client_server/sdkconfig.ci diff --git a/examples/protocols/asio/ssl_client_server/sdkconfig.defaults b/components/asio/examples/ssl_client_server/sdkconfig.defaults similarity index 100% rename from examples/protocols/asio/ssl_client_server/sdkconfig.defaults rename to components/asio/examples/ssl_client_server/sdkconfig.defaults diff --git a/examples/protocols/asio/tcp_echo_server/CMakeLists.txt b/components/asio/examples/tcp_echo_server/CMakeLists.txt similarity index 80% rename from examples/protocols/asio/tcp_echo_server/CMakeLists.txt rename to components/asio/examples/tcp_echo_server/CMakeLists.txt index 9ed3aab2d..29e290677 100644 --- a/examples/protocols/asio/tcp_echo_server/CMakeLists.txt +++ b/components/asio/examples/tcp_echo_server/CMakeLists.txt @@ -4,7 +4,7 @@ cmake_minimum_required(VERSION 3.16) # (Not part of the boilerplate) # This example uses an extra component for common functions such as Wi-Fi and Ethernet connection. -set(EXTRA_COMPONENT_DIRS $ENV{IDF_PATH}/examples/common_components/protocol_examples_common) +set(EXTRA_COMPONENT_DIRS ../../../../common_components/protocol_examples_common) include($ENV{IDF_PATH}/tools/cmake/project.cmake) project(asio_tcp_echo_server) diff --git a/examples/protocols/asio/tcp_echo_server/README.md b/components/asio/examples/tcp_echo_server/README.md similarity index 100% rename from examples/protocols/asio/tcp_echo_server/README.md rename to components/asio/examples/tcp_echo_server/README.md diff --git a/examples/protocols/asio/tcp_echo_server/asio_tcp_server_test.py b/components/asio/examples/tcp_echo_server/asio_tcp_server_test.py similarity index 100% rename from examples/protocols/asio/tcp_echo_server/asio_tcp_server_test.py rename to components/asio/examples/tcp_echo_server/asio_tcp_server_test.py diff --git a/examples/protocols/asio/tcp_echo_server/main/CMakeLists.txt b/components/asio/examples/tcp_echo_server/main/CMakeLists.txt similarity index 100% rename from examples/protocols/asio/tcp_echo_server/main/CMakeLists.txt rename to components/asio/examples/tcp_echo_server/main/CMakeLists.txt diff --git a/examples/protocols/asio/tcp_echo_server/main/Kconfig.projbuild b/components/asio/examples/tcp_echo_server/main/Kconfig.projbuild similarity index 100% rename from examples/protocols/asio/tcp_echo_server/main/Kconfig.projbuild rename to components/asio/examples/tcp_echo_server/main/Kconfig.projbuild diff --git a/examples/protocols/asio/tcp_echo_server/main/echo_server.cpp b/components/asio/examples/tcp_echo_server/main/echo_server.cpp similarity index 100% rename from examples/protocols/asio/tcp_echo_server/main/echo_server.cpp rename to components/asio/examples/tcp_echo_server/main/echo_server.cpp diff --git a/examples/protocols/asio/tcp_echo_server/sdkconfig.defaults b/components/asio/examples/tcp_echo_server/sdkconfig.defaults similarity index 100% rename from examples/protocols/asio/tcp_echo_server/sdkconfig.defaults rename to components/asio/examples/tcp_echo_server/sdkconfig.defaults diff --git a/examples/protocols/asio/udp_echo_server/CMakeLists.txt b/components/asio/examples/udp_echo_server/CMakeLists.txt similarity index 80% rename from examples/protocols/asio/udp_echo_server/CMakeLists.txt rename to components/asio/examples/udp_echo_server/CMakeLists.txt index 1282ffd88..2e0c28024 100644 --- a/examples/protocols/asio/udp_echo_server/CMakeLists.txt +++ b/components/asio/examples/udp_echo_server/CMakeLists.txt @@ -4,7 +4,7 @@ cmake_minimum_required(VERSION 3.16) # (Not part of the boilerplate) # This example uses an extra component for common functions such as Wi-Fi and Ethernet connection. -set(EXTRA_COMPONENT_DIRS $ENV{IDF_PATH}/examples/common_components/protocol_examples_common) +set(EXTRA_COMPONENT_DIRS ../../../../common_components/protocol_examples_common) include($ENV{IDF_PATH}/tools/cmake/project.cmake) project(asio_udp_echo_server) diff --git a/examples/protocols/asio/udp_echo_server/README.md b/components/asio/examples/udp_echo_server/README.md similarity index 100% rename from examples/protocols/asio/udp_echo_server/README.md rename to components/asio/examples/udp_echo_server/README.md diff --git a/examples/protocols/asio/udp_echo_server/asio_udp_server_test.py b/components/asio/examples/udp_echo_server/asio_udp_server_test.py similarity index 100% rename from examples/protocols/asio/udp_echo_server/asio_udp_server_test.py rename to components/asio/examples/udp_echo_server/asio_udp_server_test.py diff --git a/examples/protocols/asio/udp_echo_server/main/CMakeLists.txt b/components/asio/examples/udp_echo_server/main/CMakeLists.txt similarity index 100% rename from examples/protocols/asio/udp_echo_server/main/CMakeLists.txt rename to components/asio/examples/udp_echo_server/main/CMakeLists.txt diff --git a/examples/protocols/asio/udp_echo_server/main/Kconfig.projbuild b/components/asio/examples/udp_echo_server/main/Kconfig.projbuild similarity index 100% rename from examples/protocols/asio/udp_echo_server/main/Kconfig.projbuild rename to components/asio/examples/udp_echo_server/main/Kconfig.projbuild diff --git a/examples/protocols/asio/udp_echo_server/main/udp_echo_server.cpp b/components/asio/examples/udp_echo_server/main/udp_echo_server.cpp similarity index 100% rename from examples/protocols/asio/udp_echo_server/main/udp_echo_server.cpp rename to components/asio/examples/udp_echo_server/main/udp_echo_server.cpp diff --git a/examples/protocols/asio/udp_echo_server/sdkconfig.defaults b/components/asio/examples/udp_echo_server/sdkconfig.defaults similarity index 100% rename from examples/protocols/asio/udp_echo_server/sdkconfig.defaults rename to components/asio/examples/udp_echo_server/sdkconfig.defaults diff --git a/components/asio/idf_component.yml b/components/asio/idf_component.yml new file mode 100644 index 000000000..b2e11a570 --- /dev/null +++ b/components/asio/idf_component.yml @@ -0,0 +1,5 @@ +version: "1.0.1" +description: ASIO +dependencies: + idf: + version: ">=5.0"