Skip to content

Refactor storage COMPONENT_xx directory #13445

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
Aug 21, 2020

Conversation

rajkan01
Copy link
Contributor

@rajkan01 rajkan01 commented Aug 17, 2020

Summary of changes

Restructured storage/blockdevice/COMPONENT_xx as per the new directory structure proposal:

storage
├── blockdevice
│   ├── COMPONENT_DATAFLASH
│   │      ├── mbed_lib.json
│   │      ├── include
│   │      │   └── DataFlash
│   │      │            └── *.h
│   │      ├── source
│   │      └── tests           
│   │             └── TESTS
│   ├── COMPONENT_FLASHIAP
│   └── [...]

Impact of changes

None.

Migration actions required

None.

Documentation

To Be Updated.


Pull request type

[x] Patch update (Bug fix / Target update / Docs update / Test update / Refactor)
[] Feature update (New feature / Functionality change / New API)
[] Major update (Breaking change E.g. Return code change / API behaviour change)

Test results

[] No Tests required for this change (E.g docs only update)
[x] Covered by existing mbed-os tests (Greentea or Unittest)
[x] Tests / results supplied as part of this PR

Manual testing: (Build for K64F target with GCC_ARM toolchain)

  • mbed-os-example-blockdevice
  • Greentea tests: Full profile
  • Unit tests build and run

Reviewers

@0xc0170 @ARMmbed/mbed-os-core


@ciarmcom ciarmcom added the release-type: patch Indentifies a PR as containing just a patch label Aug 17, 2020
@ciarmcom
Copy link
Member

@rajkan01, thank you for your changes.
@0xc0170 @ARMmbed/mbed-os-maintainers please review.

@ciarmcom ciarmcom requested review from 0xc0170 and a team August 17, 2020 16:00
@LDong-Arm
Copy link
Contributor

LDong-Arm commented Aug 17, 2020

COMPONENT_** are magic keywords of the build system - the library path is unavoidably like that for now. But the include paths can be more readable e.g. include/DataFlashBlockDevice or include/DataFlash instead of include/COMPONENT_DATAFLASH.

For example, in BLE we have FEATURE_BLE/include/ble/.

@rajkan01
Copy link
Contributor Author

rajkan01 commented Aug 17, 2020

COMPONENT_** are magic keywords of the build system - the library path is unavoidably like that for now. But the include paths can be more readable e.g. include/DataFlashBlockDevice or include/DataFlash instead of include/COMPONENT_DATAFLASH.

For example, in BLE we have FEATURE_BLE/include/ble/.

Yes, I agree that will be more readable, but directory restructures confluence page suggested like 'component name' is same as 'include/[component name]' so I just followed the similar fashion as 'include/COMPONENT_xx'

Confluence page reference:
[component name]
         ├── include                           // The top-level include path
         │   └── [component name]              // Public headers that can be accessed by the developers - `#include [component 

@evedon Could you confirm, which one to follow either Lingkai suggested directory name like include/DataFlash or include/COMPONENT_DATAFLASH

@LDong-Arm
Copy link
Contributor

LDong-Arm commented Aug 18, 2020

Confluence page reference:
[component name]
         ├── include                           // The top-level include path
         │   └── [component name]              // Public headers that can be accessed by the developers - `#include [component 

This is the final version when the new build system is in place. For now magic words (e.g. COMPONENT_xx) are needed but should appear in as few places as possible while things still work, in my opinion.

@rajkan01
Copy link
Contributor Author

rajkan01 commented Aug 18, 2020

Confluence page reference:
[component name]
         ├── include                           // The top-level include path
         │   └── [component name]              // Public headers that can be accessed by the developers - `#include [component 

This is the final version when the new build system is in place. For now magic words (e.g. COMPONENT_xx) are needed but >>should appear in as few places as possible while things still work, in my opinion.

I have made header include header directory more readable as suggested, please re-review

Copy link
Contributor

@LDong-Arm LDong-Arm left a comment

Choose a reason for hiding this comment

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

Thanks, LGTM

@rajkan01
Copy link
Contributor Author

@0xc0170 Could you review and start the CI

@mbed-ci
Copy link

mbed-ci commented Aug 18, 2020

Jenkins CI Test : ✔️ SUCCESS

Build Number: 1 | 🔒 Jenkins CI Job | 🌐 Logs & Artifacts

CLICK for Detailed Summary

jobs Status
jenkins-ci/mbed-os-ci_unittests ✔️
jenkins-ci/mbed-os-ci_build-ARM ✔️
jenkins-ci/mbed-os-ci_build-GCC_ARM ✔️
jenkins-ci/mbed-os-ci_dynamic-memory-usage ✔️
jenkins-ci/mbed-os-ci_greentea-test ✔️
jenkins-ci/mbed-os-ci_cloud-client-pytest ✔️

@rajkan01
Copy link
Contributor Author

@0xc0170 CI passed for this PR, please merge

@0xc0170
Copy link
Contributor

0xc0170 commented Aug 19, 2020

We will merge as soon as 6.2.1 is released (later today).

@0xc0170 0xc0170 merged commit 8493200 into ARMmbed:master Aug 21, 2020
@mergify mergify bot removed the ready for merge label Aug 21, 2020
@mbedmain mbedmain added release-version: 6.3.0 Release-pending and removed release-type: patch Indentifies a PR as containing just a patch Release-pending labels Sep 14, 2020
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.

6 participants