Skip to content
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

Restructure repository #26

Merged
merged 22 commits into from
Dec 14, 2023

Conversation

hugueskamba
Copy link
Contributor

Description

In the fast-paced world of software development, maintaining a well-organised and structured code repository is crucial.

This document outlines changes made aimed at enhancing the clarity, consistency, and overall efficiency of our code base.
By adopting standardised naming conventions, reorganising files, and redefining subdirectory structures, we aim to streamline collaboration, simplify maintenance, and make the code base more approachable for both current and future developers. Additionally, the incorporation of clear CMake targets will improve the build process, promoting a more robust and scalable development environment.

These changes are essential for fostering a sustainable and agile development workflow, ultimately leading to increased productivity and a higher quality code base.

Test Steps

Checklist:

  • I have tested my changes. No regression in existing tests.
  • I have modified and/or added unit-tests to cover the code changes in this Pull Request.

Related Issue

#25

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@hugueskamba hugueskamba requested a review from a team as a code owner December 11, 2023 16:18
* External projects are referred to as `components`
* The components are grouped per category within the `components`
  subdirectory.
* Each component contain a `library` subdir (containing the external
  project)
  and an `integration` subdir (containing additional code to integrate
  the external project).
* The external project used for the BSP is now also located in a
  `library` subdir within the `Bsp` subdir.

Signed-off-by: Hugues Kamba-Mpiana <[email protected]>
Rather having applications include individual parts of the FRI,
include all of its parts (BSP and components) in the root level
CMakeLists.txt

To build application, point CMake to each application's main
CMakeLists.txt as application should be treated as the root level
CMakeLists.txt. This approach also shows how users who may want to
include the FRI as a dependency to their project can build
applications by treating their applications as the root
level project.

Additionally:
* Raise an error if the minimum CMake version requirement is not met.
* Rename FRI CMake project to match FRI project name.
* Expose Tools/cmake subdir to CMake to find additional modules

Signed-off-by: Hugues Kamba-Mpiana <[email protected]>
This allows each application to apply configurations it needs
without changing the behaviour of other applications as was
previously the case since they share configuration files.

Signed-off-by: Hugues Kamba-Mpiana <[email protected]>
* Define all CMake variables to be used by the project prior to
  creating the project
* Sort list items alphabetically so they are easier to find
* Add fatal error if minimum CMake version is not used
* Remove unnecessary comments to declutter
* Handle compiler specific configurations in one location
* Move BSP configuration to BSP subdir
* Include only the libraries used by the application

Signed-off-by: Hugues Kamba-Mpiana <[email protected]>
* Add type notation
* Wrap long lines
* Clarify variables and function names
* Process CLI arguments with click

Signed-off-by: Hugues Kamba-Mpiana <[email protected]>
* Define all CMake variables to be used by the project prior to
  creating the project
* Sort list items alphabetically so they are easier to find
* Add fatal error if minimum CMake version is not used
* Remove unnecessary comments to declutter
* Handle compiler specific configurations in one location
* Move BSP configuration to BSP subdir
* Include only the libraries used by the application

Signed-off-by: Hugues Kamba-Mpiana <[email protected]>
Improve readability of the string by wrapping it.

Signed-off-by: Hugues Kamba-Mpiana <[email protected]>
Move the provisioning source code and script to the helpers subdir

Signed-off-by: Hugues Kamba-Mpiana <[email protected]>
The project is adopting snake case for files
and subdirectories names

Signed-off-by: Hugues Kamba-Mpiana <[email protected]>
CMake modules follow the typical naming convention of
VerbWithCamelCase.

Signed-off-by: Hugues Kamba-Mpiana <[email protected]>
The project is adopting snake case for files and subdirectories names

Signed-off-by: Hugues Kamba-Mpiana <[email protected]>
Improves the description of the content of the subdir.

Signed-off-by: Hugues Kamba-Mpiana <[email protected]>
The project is adopting snake case for files and subdirectories names

Signed-off-by: Hugues Kamba-Mpiana <[email protected]>
CMake modules follow the typical naming convention of
VerbWithCamelCase.

Signed-off-by: Hugues Kamba-Mpiana <[email protected]>
Signed-off-by: Hugues Kamba-Mpiana <[email protected]>
Signed-off-by: Hugues Kamba-Mpiana <[email protected]>
The document describes the various subdirectories
and conventions used througout this project.

Signed-off-by: Hugues Kamba-Mpiana <[email protected]>
The added words are valid and therefore added
to the spellchecker dictionary.

Signed-off-by: Hugues Kamba-Mpiana <[email protected]>
@hugueskamba hugueskamba force-pushed the feature/restructure-project branch from a6d6a61 to ec6bdd7 Compare December 11, 2023 18:02
@bradleysmith23 bradleysmith23 merged commit 17c5cee into FreeRTOS:main Dec 14, 2023
6 checks passed
@hugueskamba hugueskamba deleted the feature/restructure-project branch December 14, 2023 03:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants