This repository contains components used to develop Open-CMSIS-Pack command-line tools based on reusable libraries.
Files and directories in this tree follow a structure meant to:
- Make it easy to develop and maintain the components.
- Promote consistency throughout the repository.
- Make it easy to decide where in the tree new additions should be placed.
📦devtools
┣ 📂.github
┣ 📂cmake
┣ 📂docs
┣ 📂external
┣ 📂libs
┣ 📂scripts
┣ 📂test
┣ 📂tools
┣ 📜.gitattributes
┣ 📜.gitignore
┣ 📜.gitmodules
┣ 📜.pre-commit-config.yaml
┣ 📜CONTENT.md
┣ 📜CMakeLists.txt
┣ 📜LICENSE
┣ 📜LICENSE.md
┗ 📜README.md
The .github directory contains the github workflow configurations for continous integration environement.
Open-CMSIS-pack uses cross-platform build environment CMake
. The ./cmake
directory contains a list of .cmake
files which are the reusable components used by
CMake configurations.
The doc directory contains all the documentation written using Markdown and are documenting different steps and guidelines to used to develop the tools and libraries.
The folder external contains third party components the tools and libraries depend on. These dependencies are pulled in as submodules and remain unmodified.
Components not compiling into executable programs (i.e. static or dynamic libraries) are kept in libs folder and are intended to be shared between multiple components.
Note: Each library directory contains a
test
sub-directory that holds the source code to test the library.
┣ 📂libs
┃ ┣ 📂crossplatform
┃ ┣ 📂errlog
┃ ┣ 📂rtefsutils
┃ ┣ 📂rtemodel
┃ ┣ 📂rteutils
┃ ┣ 📂xmlreader
┃ ┣ 📂xmltree
┃ ┣ 📂xmltreeslim
┃ ┗ 📜CONTENT.md
The scripts folder stores helper script. The intent of this directory is to store all future helper scripts.
The test data under test directory is required for testing purposes (i.e. not production code for release) and is intended to be shared by multiple tests in this repository.
Components compiling into one ore more executable programs (i.e. development tools) are kept tools folder.
Note: All tools contains tests respectively to validate their implementations.
┣ 📂tools
┃ ┣ 📂buildmgr
┃ ┣ 📂packchk
┃ ┣ 📂packgen
┃ ┣ 📂projmgr
┃ ┗ 📜CONTENT.md
File | Usage |
---|---|
.gitattributes | This file allows you to specify the file and path attributes that should be used by git when performing git actions, such as git commit etc. |
.gitignore | This file contains configuration for git to ignore when committing your project to the GitHub repository. |
.gitmodules | The file contains information per submodule that needs to be downloaded. |
.pre-commit-config.yaml | The file list pre-commit configurations used by the CI environment. |
CMakeLists.txt | This top level script lists the metadata to generate build files for a specific environment. |
LICENSE | Lists the license term and conditions for the usage of anything from this repository. |
LICENSE.md | The file lists all the license agreements and the usage of external licenses. |
README.md | The file contains information for the user about the software, project, code and instructions for the usage. |