Skip to content

Bare metal mbed_lib updates #9628

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Feb 14, 2019
Merged

Bare metal mbed_lib updates #9628

merged 2 commits into from
Feb 14, 2019

Conversation

orenc17
Copy link
Contributor

@orenc17 orenc17 commented Feb 6, 2019

Description

Create missing mbed_lib.json for the following libs:

  • kv-config
  • storage
  • direct-access-devicekey
  • filesystemstore
  • kv-global-api
  • kv-map
  • tdbstore
  • PSA

Relays on #9561

Pull request type

[ ] Fix
[ ] Refactor
[ ] Target update
[X] Functionality change
[ ] Docs update
[ ] Test update
[ ] Breaking change

Reviewers

@theotherjimmy @davidsaada @yossi2le

Release notes

Make the following modules comply with bare-metal:

  1. kv-config
  2. storage
  3. direct-access-devicekey
  4. filesystemstore
  5. kv-global-api
  6. kv-map
  7. tdbstore
  8. PSA-services

@ciarmcom ciarmcom requested review from davidsaada, theotherjimmy, yossi2le and a team February 6, 2019 12:00
@ciarmcom
Copy link
Member

ciarmcom commented Feb 6, 2019

@orenc17, thank you for your changes.
@theotherjimmy @yossi2le @davidsaada @ARMmbed/mbed-os-pan @ARMmbed/mbed-os-tools @ARMmbed/mbed-os-mesh @ARMmbed/mbed-os-ipcore @ARMmbed/mbed-os-maintainers @ARMmbed/mbed-os-storage please review.

"storage_type": "TDB_INTERNAL"
},
"NUCLEO_F411RE": {
"storage_type": "TDB_INTERNAL"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why this ?

Copy link
Contributor Author

@orenc17 orenc17 Feb 6, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

that's was in the original mbed_lib.json

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jeromecoutant Could you please move this comment to #9561?

Copy link
Contributor

@theotherjimmy theotherjimmy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks fine to me. Should I close the prior PR?

@orenc17
Copy link
Contributor Author

orenc17 commented Feb 6, 2019

@theotherjimmy merge your PR first and then i'll rebase

@@ -0,0 +1,3 @@
{
"name": "nanostack-upper"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll propose "nanostack-adaptation"

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i believe that this change is in @theotherjimmy original PR

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@SeppoTakalo Actually, that's a hack that I have not yet removed. Could you comment on the appropriate folders to label such that we can completely exclude nanostack code from the build?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you mean that all folders within /features/nanostack/ should have their own mbed_lib.json files?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps. It depends on what you would consider a complete "library", that could be turned on/off as one. If the code within the subdirectories in nanostack can be enabled independently, then it would make sense to have mbed_lib.json in the root so that a user could use requires on that library.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image

Does this image help?

There are clear dependencies that can be expressed, so maybe it makes sense to all components being separate.

nanostack-eventloop is actually used also with Mbed Client.

Couple of helper libraries also missing from the picture:

  • features/frameworks/mbed-client-randlib (used by nanostack)
  • features/frameworks/mbed-coap (used by coap-service and Pelion Client)
  • features/frameworks/mbed-trace (used by Nanostack and Pelion Client, and various other libraries)
  • features/frameworks/nanostack-libservice (used by pretty much all Nanostack libraries and even Pelion Client).

So.. after a longer thought.. it seems that "features/nanostack" should be empty, no .lib files there, and all that is inside it, should have their equivalent .lib files.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@SeppoTakalo @theotherjimmy Could you move this comment to #9561?

Copy link
Contributor

@davidsaada davidsaada left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM (reviewing storage related changes).

@orenc17
Copy link
Contributor Author

orenc17 commented Feb 7, 2019

@SeppoTakalo @theotherjimmy
i've moved the problematic mbed_lib.json
now every directory inside features/nanostack has its own mbed_lib.json

Copy link
Contributor

@SeppoTakalo SeppoTakalo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can approve following .lib files:

  • mbed-client-cli
  • mbed-client-randlib
  • mbed-coap
  • nanostack-libservice
  • coap-service
  • nanostack-interface

Technically I cannot review changes to the tooling as I have not enough knowledge about the design.

@cmonr
Copy link
Contributor

cmonr commented Feb 12, 2019

CI started

@mbed-ci
Copy link

mbed-ci commented Feb 13, 2019

Test run: FAILED

Summary: 3 of 8 test jobs failed
Build number : 1
Build artifacts

Failed test jobs:

  • jenkins-ci/mbed-os-ci_build-GCC_ARM
  • jenkins-ci/mbed-os-ci_build-ARM
  • jenkins-ci/mbed-os-ci_build-IAR

@cmonr
Copy link
Contributor

cmonr commented Feb 13, 2019

One of the errors:

Scan: mbed-os-example-blinky
Traceback (most recent call last):
  File "/builds/ws/mbed-os-ci_build-GCC_ARM@3/examples/mbed-os-example-blinky/mbed-os/tools/make.py", line 74, in wrapped_build_project
    src_dir, build_dir, mcu, *args, **kwargs
  File "/builds/ws/mbed-os-ci_build-GCC_ARM@3/examples/mbed-os-example-blinky/mbed-os/tools/build_api.py", line 544, in build_project
    src_paths, toolchain, inc_dirs=inc_dirs)
  File "/builds/ws/mbed-os-ci_build-GCC_ARM@3/examples/mbed-os-example-blinky/mbed-os/tools/resources/__init__.py", line 568, in scan_with_toolchain
    toolchain.config.load_resources(self)
  File "/builds/ws/mbed-os-ci_build-GCC_ARM@3/examples/mbed-os-example-blinky/mbed-os/tools/config/__init__.py", line 1319, in load_resources
    raise ConfigException(message)
ConfigException: library 'psa' requires 'flashiap-block-device' which is not present
[mbed] ERROR: "/usr/bin/python" returned error.

@cmonr
Copy link
Contributor

cmonr commented Feb 13, 2019

CI started (for now).

Still expected reviewer feedback

@cmonr
Copy link
Contributor

cmonr commented Feb 13, 2019

@orenc17 Fyi, this will also need a Release Notes section.

@cmonr
Copy link
Contributor

cmonr commented Feb 13, 2019

@mbed-os-mesh @ARMmbed/mbed-os-pan @yossi2le Any thoughts?

@mbed-ci
Copy link

mbed-ci commented Feb 13, 2019

Test run: SUCCESS

Summary: 12 of 12 test jobs passed
Build number : 2
Build artifacts

@yossi2le
Copy link
Contributor

I have taken a look at the changes and they look ok for me.
I will be happy to see this merged. Cause I am one of the clients for these changes :)

@0xc0170 0xc0170 removed request for a team February 14, 2019 10:36
@cmonr cmonr merged commit c07410d into ARMmbed:master Feb 14, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.