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`