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

[Story] - Organization, Rules, Tools & Toolchain #7

Closed
1 of 2 tasks
ladislas opened this issue Jan 23, 2020 · 0 comments
Closed
1 of 2 tasks

[Story] - Organization, Rules, Tools & Toolchain #7

ladislas opened this issue Jan 23, 2020 · 0 comments
Assignees
Labels
01 - type: story Clear roadmap to implement a new feature, refactor code, etc. 90 - priority: high

Comments

@ladislas
Copy link
Member

ladislas commented Jan 23, 2020

Introduction

LekaOS is a great project and a big project that will grow in size considerably over the next few months. It's important for the sanity of all the developers involved that good defaults and standards are setup and chosen at the beginning to reduce friction and bikeshedding.

Different topics will be covered:

  • folder organization
  • naming conventions
  • coding style
  • testing
  • CI & automation
  • toolchains

Folder/Directory organization

LekaOS will follow the monorepo philosophy, which means that all the dependencies will be located inside this repository. No external dependencies, no submodules, everything must compile after git clone.

⚠️ One exception might be large binary files (e.g. images, sounds, etc.). Extra care must be taken and each case must be discussed.

Root folders will be:

  • .azure-ci or .github - CI related tasks
  • docs - documentation
  • lib - library folder
  • src - sources of the main application
  • test - tests --> unit, functional, integration
  • script - scripts used by different processes

Naming conventions

⚠️ to do

Coding style

Coding style is taken care of by EditorConfig and ClangFormat.

Testing

⚠️ to do

CI & Automation

⚠️ in progress

Toolchains

LekaOS will be compiled using GCC ARM None Eabi.

Some tests must be run to see wether we use mbed-cli, Make of CMake.

@ladislas ladislas added 01 - type: story Clear roadmap to implement a new feature, refactor code, etc. 90 - priority: high ready labels Jan 23, 2020
@ladislas ladislas added this to the v1.0.0 milestone Jan 23, 2020
@ladislas ladislas self-assigned this Jan 23, 2020
@ladislas ladislas removed this from the Release - v1.0.0 milestone Mar 28, 2020
ladislas added a commit that referenced this issue Aug 27, 2020
@ladislas ladislas changed the title Organization, Rules, Tools & Toolchain [Story] - Organization, Rules, Tools & Toolchain Aug 28, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
01 - type: story Clear roadmap to implement a new feature, refactor code, etc. 90 - priority: high
Projects
None yet
Development

No branches or pull requests

1 participant