How to revision control user application code in NRF Connect SDK with minimal code space.

While creating a new project in VS Code with NRF Connect SDK, I would like to add the application specific files to my private company git repository. The issue is that I am not completely sure which files are absolutely necessary. I would like to include the necessary files and folders to allow the build environment to pull down the additional zephyr repository files.

In my project the Zephyr folder is 22MB on disc, which I'd like to exclude.

Is there a guide that shows which files and folders can be put in a private Git repo, so that upon cloning to a local folder, that the build environment can pull in the additional necessary files from the zephyr project? This would greatly reduce the size of projects on disc.

Nordic has done such a wonderful job of reducing the effort needed to develop NRF projects in zephyr using VS Code. The tutorials, videos, and guides are invaluable. With the addition of this aspect of software development, those developing in a software development process can continue using their tools and processes without exponential growth in their server memory usage.

Parents
  • , those are the base files, but what I'd like to capture is the entire application including the build configuration. 
    What I'd like to have happen, is that a junior developer can install the NRF Connect SDK, NRF console tools, VS Code with extension, and build the code base with minimal modification of the files. Merely cloning the repo of application code and importing the project into Nordic Extension in VS Code.

    This would be very similar to having a build server do the same. I could commit the entire app folder, however, I would also be committing 22M of the Zephyr repo. This approach defeats the robustness of the west and the zephyr model, where only a tag in the zephyr repo should be needed. I'm not sure what all gets created when build settings are generated by the VS Code extension. If the modules manifest files are specific to the board selected, then of course we'd want to capture that.

    I was hoping that there was a short description of this process. Perhaps a white paper or how to guide that indicates the folders/files/modifications necessary to accomplish this task. If the answer is to pour through the zephyr documentation, so be it. Nordic has made development of a product by a single developer easy, however a team that is co-developing needs a more rigorous software development approach.

    Perhaps I am looking at this incorrectly. Should I commit the base files for the app and then write script files to run pull all the processes that are run by the Nordic VS Code Extension? If that is the case, that process de-values the automated build creation capability in the Nordic VS Code Extension.

Reply
  • , those are the base files, but what I'd like to capture is the entire application including the build configuration. 
    What I'd like to have happen, is that a junior developer can install the NRF Connect SDK, NRF console tools, VS Code with extension, and build the code base with minimal modification of the files. Merely cloning the repo of application code and importing the project into Nordic Extension in VS Code.

    This would be very similar to having a build server do the same. I could commit the entire app folder, however, I would also be committing 22M of the Zephyr repo. This approach defeats the robustness of the west and the zephyr model, where only a tag in the zephyr repo should be needed. I'm not sure what all gets created when build settings are generated by the VS Code extension. If the modules manifest files are specific to the board selected, then of course we'd want to capture that.

    I was hoping that there was a short description of this process. Perhaps a white paper or how to guide that indicates the folders/files/modifications necessary to accomplish this task. If the answer is to pour through the zephyr documentation, so be it. Nordic has made development of a product by a single developer easy, however a team that is co-developing needs a more rigorous software development approach.

    Perhaps I am looking at this incorrectly. Should I commit the base files for the app and then write script files to run pull all the processes that are run by the Nordic VS Code Extension? If that is the case, that process de-values the automated build creation capability in the Nordic VS Code Extension.

Children
No Data
Related