Skip to content

Commit

Permalink
Merge pull request #1 from ARMmbed/release-1.0.0-lite
Browse files Browse the repository at this point in the history
pelion-client-lite 1.0.0-lite
  • Loading branch information
teetak01 authored Feb 10, 2020
2 parents b8ea4d5 + 80d5a0a commit 96e257b
Show file tree
Hide file tree
Showing 364 changed files with 82,870 additions and 0 deletions.
26 changes: 26 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<!--
For more information on the requirements for pull requests, please see [the CONTRIBUTING.md](CONTRIBUTING.md).
-->

[] I confirm this contribution is my own and I agree to license it with Apache 2.0.
[] I confirm the moderators may change the PR before merging it in.
[] I understand the release model prohibits detailed Git history and my contribution will be recorded to the list at the bottom of [CONTRIBUTING.md](CONTRIBUTING.md).


### Summary of changes <!-- Required -->

<!--
Please provide the following information:
Description of the the change (what is this fixing / adding / removing?).
Why the change is needed, add references to issues if this is a fix.
Avoid too large commits. Each commit should be an atomic, independent change.
Write good, descriptive Git commit messages.
-->

6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
## Changelog for Pelion Device Management Client Lite

### Release 1.0.0-lite (10.02.2020)

Initial alpha release for public preview. Not suitable for production use.

11 changes: 11 additions & 0 deletions CMakeGitCheckout.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
SET(EXT_PROJECT_CHECKOUT_LOCATION ${CMAKE_GIT_CHECKOUT_DIR} )

if(NOT EXISTS ${CMAKE_GIT_CHECKOUT_DIR})
message("Creating new clone to ${EXT_PROJECT_CHECKOUT_LOCATION}")

execute_process(COMMAND git clone ${CMAKE_GIT_CLONE_ADDRESS} ${EXT_PROJECT_CHECKOUT_LOCATION})
execute_process(COMMAND git checkout ${CMAKE_GIT_CHECKOUT_TAG}
WORKING_DIRECTORY ${EXT_PROJECT_CHECKOUT_LOCATION})
else()
message("Project ${CMAKE_GIT_CHECKOUT_DIR} already exists, no new checkout done delete ${CMAKE_GIT_CHECKOUT_DIR} if new checkout is needed")
endif()
32 changes: 32 additions & 0 deletions CMakeGitCheckoutLib.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
SET(EXT_PROJECT_CHECKOUT_LOCATION ${CMAKE_GIT_CHECKOUT_DIR} )

if(NOT EXISTS ${CMAKE_GIT_CHECKOUT_DIR})
message("Creating new clone to ${EXT_PROJECT_CHECKOUT_LOCATION}")
#message("executing cmd cat ${LIB_FILENAME} | cut -d -f1" )

if (CMAKE_GIT_CLONE_ADDRESS STREQUAL "")
execute_process( COMMAND bash "-c" "cat ${LIB_FILENAME} | cut -d '#' -f1" OUTPUT_VARIABLE CMAKE_GIT_CLONE_ADDRESS )
message("Parsed repository: ${CMAKE_GIT_CLONE_ADDRESS}")
else()
message("Using address for clone: ${CMAKE_GIT_CLONE_ADDRESS}")
endif()

execute_process(COMMAND git clone ${CMAKE_GIT_CLONE_ADDRESS} ${EXT_PROJECT_CHECKOUT_LOCATION})

execute_process( COMMAND bash "-c" "cat ${LIB_FILENAME} | cut -d '#' -f2 -s" OUTPUT_VARIABLE CMAKE_GIT_CHECKOUT_TAG )

if (CMAKE_GIT_CHECKOUT_TAG STREQUAL "")
message("No tag defined in ${LIB_FILENAME} using master as default")
else()
message("Custom tag in ${LIB_FILENAME} using ${CMAKE_GIT_CHECKOUT_TAG} in ${EXT_PROJECT_CHECKOUT_LOCATION}")
execute_process(COMMAND bash "-c" "ls -al"
WORKING_DIRECTORY ${EXT_PROJECT_CHECKOUT_LOCATION})
execute_process(COMMAND bash "-c" "git show ${CMAKE_GIT_CHECKOUT_TAG}"
WORKING_DIRECTORY ${EXT_PROJECT_CHECKOUT_LOCATION})
execute_process(COMMAND bash "-c" "git checkout ${CMAKE_GIT_CHECKOUT_TAG}"
WORKING_DIRECTORY ${EXT_PROJECT_CHECKOUT_LOCATION})
endif()

else()
message("Project ${CMAKE_GIT_CHECKOUT_DIR} already exists, no new checkout done delete ${CMAKE_GIT_CHECKOUT_DIR} if new checkout is needed")
endif()
46 changes: 46 additions & 0 deletions CMakelist_external_projects.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
#this file can be used to checkout necessary build dependencies for cmake based mbed-cloud-client build.
#CMakeGitCheckoutLib.cmake can be used to read hash from .lib file (or even full checkout path if needed)
#CMakeGitCheckout.cmake can be used to checkout defined component without .lib file.

set (CMAKE_GIT_CHECKOUT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/libs/mbedtls)
set (CMAKE_GIT_CLONE_ADDRESS https://github.com/ARMmbed/mbedtls.git)
set (CMAKE_GIT_CHECKOUT_TAG mbedtls-2.17.0)
include(CMakeGitCheckout.cmake)
#some extra includes are needed from mbedtls to compile the device management client
include_directories ("${CMAKE_GIT_CHECKOUT_DIR}/include")
add_subdirectory(${CMAKE_GIT_CHECKOUT_DIR}) #mbed tls has its own cmake lets include it here

set (CMAKE_GIT_CHECKOUT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/libs/ns-hal-linux)
set (CMAKE_GIT_CLONE_ADDRESS [email protected]:ARMmbed/ns-hal-linux.git)
set (LIB_FILENAME ${CMAKE_CURRENT_SOURCE_DIR}/libs/ns-hal-linux.lib)
include(CMakeGitCheckoutLib.cmake)

set (CMAKE_GIT_CHECKOUT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/libs/mbed-coap)
set (CMAKE_GIT_CLONE_ADDRESS https://github.com/ARMmbed/mbed-coap.git)
set (LIB_FILENAME ${CMAKE_CURRENT_SOURCE_DIR}/libs/mbed-coap.lib)
include(CMakeGitCheckoutLib.cmake)

set (CMAKE_GIT_CHECKOUT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/libs/sal-stack-nanostack-eventloop)
set (CMAKE_GIT_CLONE_ADDRESS [email protected]:ARMmbed/sal-stack-nanostack-eventloop.git)
set (LIB_FILENAME ${CMAKE_CURRENT_SOURCE_DIR}/libs/sal-stack-nanostack-eventloop.lib)
include(CMakeGitCheckoutLib.cmake)

set (CMAKE_GIT_CHECKOUT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/libs/mbed-trace)
set (CMAKE_GIT_CLONE_ADDRESS [email protected]:ARMmbed/mbed-trace)
set (LIB_FILENAME ${CMAKE_CURRENT_SOURCE_DIR}/libs/mbed-trace.lib)
include(CMakeGitCheckoutLib.cmake)

set (CMAKE_GIT_CHECKOUT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/libs/mbed-client-randlib)
set (CMAKE_GIT_CLONE_ADDRESS [email protected]:ARMmbed/mbed-client-randlib)
set (LIB_FILENAME ${CMAKE_CURRENT_SOURCE_DIR}/libs/mbed-client-randlib.lib)
include(CMakeGitCheckoutLib.cmake)

set (CMAKE_GIT_CHECKOUT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/libs/nanostack-libservice)
set (CMAKE_GIT_CLONE_ADDRESS [email protected]:ARMmbed/nanostack-libservice)
set (LIB_FILENAME ${CMAKE_CURRENT_SOURCE_DIR}/libs/nanostack-libservice.lib)
include(CMakeGitCheckoutLib.cmake)

set (CMAKE_GIT_CLONE_ADDRESS [email protected]:ARMmbed/kvstore-internal)
set (CMAKE_GIT_CHECKOUT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/libs/KVStore)
set (LIB_FILENAME ${CMAKE_CURRENT_SOURCE_DIR}/libs/KVStore.lib)
include(CMakeGitCheckoutLib.cmake)
10 changes: 10 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Contributions to Pelion Device Management Client Lite

Pelion Device Management Client Lite is Apache 2.0 licensed open source software. We accept contributions from 3rd parties, if they agree to submit their changes with Apache 2.0 licensing. Arm will review all contributions and possibly make some modifications before merging them.

Due to the release process, all new releases are squashed code drops. Therefore, we cannot provide the full Git commit history in the releases.

# Approved contributions

| Author | Pull Request | Change title/summary |
|----------------|---------------|----------------------------------------------------------|
14 changes: 14 additions & 0 deletions DOXYGEN_FRONTPAGE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
## Device Management Client Lite API

This is the Doxygen-generated API documentation for Device Management Client Lite. See the [Files](files.html) section for documentation about a specific API. See also [Device Management documentation](https://www.pelion.com/docs/device-management/current/welcome/index.html).

Client Lite high-level APIs allow developers to create client side applications that connect to **Device Management**, with LwM2M features as described in the [Lightweight Machine to Machine Technical Specification](http://www.openmobilealliance.org/release/LightweightM2M/V1_0-20170208-A/OMA-TS-LightweightM2M-V1_0-20170208-A.pdf).

These APIs enable you to:

- Securely communicate with internet services over the industry standard TLS/DTLS.
- Manage devices.
- Fully control the endpoint and application logic from the service side.
- Provide functionality to update the devices over the air remotely controlled from the service side.

The API (C code) allows quick application development and portability.
Loading

0 comments on commit 96e257b

Please sign in to comment.