Project

General

Profile

Contributing Code » History » Revision 5

Revision 4 (Davide Pesavento, 07/10/2018 01:14 PM) → Revision 5/6 (Davide Pesavento, 01/03/2023 02:18 AM)

# Contributing Code 
 ============== 

 NDN codebase is open-source and we welcome and encourage contributions from everybody. 
 In order to ensure design and code quality, we have established a process that includes code review and continuous integration checks on a number of supported platforms. The following summarizes the process to contribute to NDN projects (NFD, ndn-cxx, ndn-tools, NFD-android, NLSR, ndnSIM, PSync, ChronoSync, repo-ng, and many others). others): 

 - To inform NDN team about problems or to suggest new features, create an issue in the corresponding project on [NDN redmine](https://redmine.named-data.net) 
 

 - All code submissions should go to our [code review system](https://gerrit.named-data.net) 

 See also our [contributing guide](https://github.com/named-data/.github/blob/master/CONTRIBUTING.md) guide](https://github.com/named-data/NFD/blob/master/CONTRIBUTING.md) for additional information. 

 ## ### Code Review 

 The patches submitted for the code review are automatically checked for: 

 - successful compilation 
 - successful run of unit tests 
 - no errors produced while creating API (doxygen) documentation 

 ### Recommended Checks Before Patch Submission 

 In order to facilitate code review process, please perform the following tests before submitting patches for code review: 

 #### Check that code and all unit tests compile.    For most of our project, the following is the recommended way to configure and build project 

     ./waf configure --debug --with-tests 
     ./waf 

 #### Check that unit tests do not fail.    Refer to project's documentation on how to run unit tests. 

 NFD has 4 test suites: 

      ./build/unit-tests-core 
      ./build/unit-tests-daemon 
      ./build/unit-tests-rib 
      ./build/unit-tests-tools 

 ndn-cxx and most other projects have one test suite: 

      ./build/unit-tests 

 #### Check that there are no errors in API (doxygen) documentation 

 To check for API documentation, doxygen needs to be installed.    To build documentation, run 

     ./waf doxygen 

 All warnings produced by this command must be fixed in order for the automatic continuous integration checks to succeed. 

 Note **Note** that `./waf doxygen` will not rebuild documentation if there were no changes in source files.    To rebuild documentation without changing source files, run `./waf clean` before running `./waf doxygen`